小白自制Linux開發板 五. Debian文件系統製作,以及WIFI配置、交換分區配置

該片文章將完整記錄一個Debian的最小文件系統的生成,以及自定義配置WIFI組件、網絡組件和交換分區配置

本文章參考:
https://whycan.com/t_4236.html
http://www.leux.cn/doc/debootstrap.html(該網站在備案中,可能暫時無法查看了)
帖子整理完成。

1. 製作Debian系統

構建debian文件系統,作爲記錄,最小rootfs在180MB左右。

1.1 配置構建環境

安裝構建文件系統的工具,一個是用來chroot,一個是用來構建文件系統

sudo apt install qemu-user-static -y
sudo apt install debootstrap -y
mkdir rootfs

構建文件系統之前,你要知道你想要構建哪個版本的文件系統,
我從 https://www.debian.org/mirror/list.zh-cn.html 這裏,
選擇了我訪問速度快的源,並且該源有armel。

armhf (支持硬件浮點)
armel (軟浮點)

我看華爲源挺快的,就用這個了mirrors.huaweicloud.com
然後就是debian的版本,我嘗試一下最新的,buster

sudo debootstrap --foreign --verbose --arch=armel  buster rootfs http://mirrors.huaweicloud.com/debian/

構建完成之後,需要chroot進去修改密碼等配置

cd rootfs
sudo mount --bind /dev dev/
sudo mount --bind /sys sys/
sudo mount --bind /proc proc/
sudo mount --bind /dev/pts dev/pts/
cd ..
sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin/
sudo chmod +x rootfs/usr/bin/qemu-arm-static
sudo LC_ALL=C LANGUAGE=C LANG=C chroot rootfs /debootstrap/debootstrap --second-stage --verbose
sudo LC_ALL=C LANGUAGE=C LANG=C chroot rootfs

最後一條命令chroot完成,
此時可以先apt-get等給你的文件系統安裝你需要的軟件包

爲了提高下載速度,我們首先修改源

vi /etc/apt/sources.list

改爲(注意要換其他源用http方式可以訪問的,要不然還得處理https的內容):

deb http://mirrors.huaweicloud.com/debian buster main

改完以後執行:

apt-get update

使源生效

安裝網絡相關的庫

apt-get install wpasupplicant #安裝WIFI配置相關的組件
apt-get install net-tools     #安裝網絡基礎組件、如使用ifconfig等
apt-get install udhcpc        #當wifi連接成功後,需要用這個組件去獲取IP地址


## 其他組件
apt-get install wireless-tools 
apt install sudo vim openssh-server htop
apt install pciutils usbutils acpi

1.2 配置賬號

修改root登錄密碼的方式如下

passwd root

添加用戶

groupadd <用戶組>
useradd -m -g <用戶組> -s /bin/bash <用戶名>
passwd <用戶名>

1.3 新增賬號sudo配置

對於出現

<用戶名> is not in the sudoers file.  This incident will be reported.

切換到超級用戶:

$ su

打開/etc/sudoers文件:

# vi /etc/sudoers

修改文件內容

保存退出

修改主機名,否則將會以當前編譯的系統的主機名進行設置(如:筆者爲Ubuntu,相當的尷尬)

HOSTNAME=<你的主機名>
echo $HOSTNAME > /etc/hostname
echo $HOSTNAME > /proc/sys/kernel/hostname
sed -i '/localhost/s/$/\t'"$HOSTNAME"'/g' /etc/hosts

1.4 配置時區

修改系統默認時區

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

1.5 配置SSH

如果要使用SSH服務,並且允許SSH客戶端以root方式登錄需要進行一下設置。

vi rootfs/etc/ssh/sshd_config

添加

PermitRootLogin yes

1.6 rootfs打包

當所有的內容製作完成,就可以清理緩存,打包之後就可以替換你的文件系統了

apt-cache clean #刪除安裝包 
exit  #退出chroot
rm rootfs/usr/bin/qemu-arm-static

卸載剛在掛載的文件夾。

cd rootfs
sudo umount   dev/pts/
sudo umount   dev/
sudo umount   sys/
sudo umount   proc/
sudo umount   dev/pts/

打包文件。

# cd rootfs  #進到文件系統目錄,如果已經在該文件夾下,可以忽略
tar cvf ../rootfs.tar .    #要注意那個.  代表當前目錄

生成的rootfs.tar任意解壓到文件系統即可

 

2. 使用wpa_supplicant連接wifi

創建配置文件

vi /etc/wpa_supplicant.conf

輸入內容:

network={
  ssid="我的熱點"
  psk="我的密碼"
}

然後執行命令

wpa_supplicant -B -d -i wlan0 -c /etc/wpa_supplicant.conf

 

  示例如下

root@dika-pc:~# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
root@dika-pc:~# [  444.817608] wlan0: authenticate with e4:67:1e:02:33:c0
[  444.843208] wlan0: send auth to e4:67:1e:02:33:c0 (try 1/3)
[  444.900867] wlan0: authenticated
[  444.935561] wlan0: associate with e4:67:1e:02:33:c0 (try 1/3)
[  444.986874] wlan0: RX AssocResp from e4:67:1e:02:33:c0 (capab=0x411 status=0 aid=4)
[  445.033483] wlan0: associated
[  446.047125] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
^C

執行dhcp命名,獲取IP地址

root@dika-pc:~# udhcpc -i wlan0
udhcpc: started, v1.30.1
udhcpc: sending discover
udhcpc: sending select for 172.16.1.106
udhcpc: lease of 172.16.1.106 obtained, lease time 43200
root@dika-pc:~# ping www.dika.ren
PING www.dika.ren (149.129.80.46) 56(84) bytes of data.
64 bytes from 149.129.80.46: icmp_seq=3 ttl=45 time=217 ms
64 bytes from 149.129.80.46: icmp_seq=4 ttl=45 time=417 ms
64 bytes from 149.129.80.46: icmp_seq=5 ttl=45 time=102 ms
64 bytes from 149.129.80.46: icmp_seq=6 ttl=45 time=108 ms
^C
--- www.dika.ren ping statistics ---
6 packets transmitted, 4 received, 33.3333% packet loss, time 346ms
rtt min/avg/max/mdev = 102.009/211.020/417.367/127.586 ms

 

3. 增加swap分區

在使用一些軟件的過程中,會遇到系統崩潰,尤其是使用 apt-get install 的時候,所以需要加入swap分區,可以簡單理解爲虛擬內存。

使用

free

查看當前swap大小,
使用如下命令創建你想要添加swap分區的大小

dd if=/dev/zero of=/swap1 bs=1M count=512  #改成你要設置的SWAP大小,512就是512MB

設置swap分區文件

mkswap /swap1

激活swap分區

swapon /swap1

此時使用free命令就能看到創建好的swap分區,但這只是臨時性的, 重啓會失效,需要配置一下,下次開機時候要開swap

vi /etc/fstab

操作,在最後一行添加 

/swap1 swap swap defaults 0 0

 

展示

開始進入Debian

 

使用我們自定義的pi賬戶登錄

 

 使用命令查看Swap分區

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章