2016年12月4日 星期日

如何客製化 rootfs ? (2016 版)

如何客製化 rootfs ?

先前我們所完成的 rootfs 還沒有進行客製化,因此有一些部份還需要設定,例如:

1. root 密碼:leenix123
2. 新增一個使用者帳號 leenix/密碼: leenix123
3. 設定 locale (可裝/可不裝)
4. 設定網路
5. 設定 apt 來源
6. 架設 apache 伺服器
7. 設定主機名稱
8. 清理不必要檔案以節省空間

這些工作都需要在 chroot 環境裡實作,因此請先將 sd.img 裡的第 2 個分割區掛載至
/mnt/sdcard2 目錄下,然後執行:

# chroot /mnt/sdcard2
bash: warning: setlocale: LC_ALL: cannot change locale (zh_TW.UTF8)

==1==
此時我們已經在 /mnt/sdcard2 目錄下,首先我們要修改 root 密碼,請執行:

# echo root:leenix123 | chpasswd

==2==
接下來要新增使用者並設定密碼,請執行:

# useradd leenix
# echo leenix:leenix123 | chpasswd

==3==
接下來請設定語系,以免出現奇奇怪怪的訊息,請執行:

#dpkg-reconfigure locale

由於這是嵌入式系統,不是先前所使用的中文桌面環境,因此僅需要使用英文語系,請
設定 en_US.UTF-8 作為預設語系。

==4==
然後我們要設定網路,請編輯 /etc/network/interfaces,將其內容修改為:
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.10.100
netmask 255.255.255.0
gateway 192.168.10.1

之後我們將以 192.168.10.100 為連線主機檢查 apache server 是否有順利啟動。

==5==
要在虛擬 ARM 環境中安裝軟體跟 PC 版的流程是一樣的,因此要修改
/etc/apt/sources.list 這個設定檔,請將其內容改為:

deb http://opensource.nchc.org.tw/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main


==6==
修改完 apt 設定後接下來就可以設定 apache 伺服器,請執行:

# apt-get install apache2
# systemctl enable apache2


==7==
之後我們要設定 /etc/hostname 這個檔案以修改主機名稱,請執行

# echo arm_leenix > /etc/hostname

==8==
最後要離開系統前,請清除不必要的檔案:

# apt-get clean
# rm -rf /usr/share/doc/*
# rm -rf /usr/share/locale/*
# rm -rf /usr/share/man/*
# rm -rf /var/log/*

作完之後離開系統,並解除 /mnt/sdcard2 的掛載,解除 sd.img 的連接,然後重新再執
行虛擬 arm 主機,看能不能用 root 登錄。

沒有留言:

張貼留言