Tag Archives: debian

Debian 使用 backports 和 experimental 的方法

Debian stable 的套件都很舊, 有時候要找新一點的 binary 時, 就需要用到 backports 或是 experimental
Read more »

MIPS/ARM64 Debian/Ubuntu debootstrap

這個時間點, debian mips 的 debootstrap 只有 jessie 是好的, sid 或是 stretch 都有問題.

$ debootstrap --verbose --foreign --arch mips jessie ./   http://ftp.tw.debian.org/debian

mips64 只有 mips64le , 沒有 mips64 .

其他的還是看這篇文章就好, 也快八年了.
[ARM][Linux] 建立 ARM 平台的 Debian System

懶得再開一篇, 改一改就好了.
如果是裝 ARM64 Ubuntu 呢? mirror 改到 ports.ubuntu.com 去就可以了, 也有 tw.ports.ubuntu.com 但是我記得是指向國外, 記得 arch 和版本號都要改
Ubuntu 16.04 LTS

$ debootstrap --verbose --foreign --arch arm64 xenial ./ubuntu http://tw.ports.ubuntu.com/ubuntu-ports

Ubuntu 18.04 LTS

$ debootstrap --verbose --foreign --arch arm64 bionic./ubuntu http://tw.ports.ubuntu.com/ubuntu-ports

我愛用 NFS 開機, 這是 u-boot NFS 的 example command

setenv bootargs 'console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 debug maxcpus=24 rootwait rw ip=dhcp::eth2:off root=/dev/nfs rw nfsroot=10.0.0.30:/nfs/ubuntu1804,v3 coherent_pool=16M'
 
setenv start 'setenv ethact vnic2 ; dhcp ;  setenv serverip 10.0.0.30 ;  tftpboot $kernel_addr Image ; booti $kernel_addr - $fdtcontroladdr'
 
run start

如果是在 target board 上執行, 可以 chroot 到 ubuntu 內, 如果是用 NFS 開機, 可以跳到 run second-stage

cd /ubuntu
mount --bind /proc proc
mount --bind /dev dev
mount --bind /sys sys
cd etc
cp /etc/resolv.conf . 
cd / 
chroot ubuntu bash

執行, 解壓相關的 package (run second-stage)

/debootstrap/debootstrap --second-stage

Ubuntu 16.04 編輯 /etc/apt/source.list 加上

deb http://tw.ports.ubuntu.com/ubuntu-ports xenial main restricted
deb http://tw.ports.ubuntu.com/ubuntu-ports xenial-updates main restricted
deb-src http://tw.ports.ubuntu.com/ubuntu-ports xenial main restricted universe multiverse
deb-src http://tw.ports.ubuntu.com/ubuntu-ports xenial-updates main restricted universe multiverse
deb http://tw.ports.ubuntu.com/ubuntu-ports xenial universe
deb http://tw.ports.ubuntu.com/ubuntu-ports xenial-updates universe
deb http://tw.ports.ubuntu.com/ubuntu-ports xenial multiverse
deb http://tw.ports.ubuntu.com/ubuntu-ports xenial-updates multiverse

如果是 18.04

deb http://tw.ports.ubuntu.com/ubuntu-ports bionic main restricted
deb http://tw.ports.ubuntu.com/ubuntu-ports bionic-updates main restricted
deb-src http://tw.ports.ubuntu.com/ubuntu-ports bionic main restricted universe
multiverse
deb-src http://tw.ports.ubuntu.com/ubuntu-ports bionic-updates main restricted u
niverse multiverse
deb http://tw.ports.ubuntu.com/ubuntu-ports bionic universe
deb http://tw.ports.ubuntu.com/ubuntu-ports bionic-updates universe
deb http://tw.ports.ubuntu.com/ubuntu-ports bionic multiverse
deb http://tw.ports.ubuntu.com/ubuntu-ports bionic-updates multiverse

更新套件庫

$ apt update
$ apt -y upgrade

安裝必要的程式 (註:註 net-tools 過時了, 可以我還是習慣舊指令)

$ apt install -y vim openssh-server tmux btrfs-tools net-tools sudo wget resolvconf-admin

Add User

$ adduser [username]

順便改 root 的密碼

$ passwd root

加上無密碼 請參考這個連結

註: 18.04 可能要先設定密碼之後重開機一次才能, 更新系統環境變數, 安裝套件以便之後的設定

註2: 18.04 如果時間差太多會 update 失敗, 要先調整時間到今天
先裝 nfs-common 增加 nfs access 的速度

$ apt install -y nfs-common

備用, 17.04 後似乎都會用 resolvconf 當 DNS service, 但是不知道為什麼不會取用 DHCP 得到的 DNS

$ systemctl disable systemd-resolved.service
$ service systemd-resolved stop
$ echo "nameserver 8.8.8.8" > /etc/resolv.conf

這樣看看會不會正常

編輯 /etc/hostname
取一個合適的名字, 預設是用執行 debootstrap 的主機名稱

編輯 /etc/network/interface

如果有 cache server, 加到 /etc/apt/apt.conf
可以加速

最後要產生 utf-8 的 locale 檔案

$ sudo locale-gen en_US.UTF-8

[ARM][Linux] 建立 ARM 平台的 Debian System

在 Embedded system 下, 使用現有的系統驗證 SoC 功能是非常棒的.
最大的好處就是不用到處找工具編一堆有的沒有的, 時間可以花在更重要的地方

像我將 debian 裝好之後, 就可以跑 wireshark 了

本圖中, 最左邊的是 console, 中間的視窗是 EVB 上的 wireshark, 右邊的視窗是 PC 端的 wireshark
使用 wireshark *2 debug tcp stream

真是超好用的……

Read more »