說明:我是将開發闆的檔案系統挂載在本機Linux系統的/opt上,路徑為/opt/fsmini。
第一步、
首先配置tftp和nfs服務,在我的部落格裡面的《嵌入式Linux開發》一類中有詳細說明。
第二步、啟動開發闆,切換到u-boot菜單中,輸入q,Linux主機IP和開發闆IP位址前24位要相同,如我的,Linux主機IP位址:192.168.1.3 開發闆IP位址:192.168.1.17
輸入q,退出u-boot菜單後,按順序輸入以下三條指令:
setenv bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.1.3:/opt/fsmini ip=192.168.1.17:192.168.1.3::255.255.255.0::eth0:off console=tty init=/linuxrc
//其中192.168.1.17為單闆ip位址,192.168.1.3為本機伺服器的位址,/opt/fsmini為挂載檔案的位置
setenv bootcmd 'tftp 0x30007FC0 /tftpboot/uImage;bootm 0x30007FC0'
//其中tftpboot/uImage為配置tftp的路徑,uImage為編譯好的映像檔案。
saveenv
//儲存配置
第三步、
打開檔案目錄進/etc/NetworkManager/NetworkManager.conf,并進行修改,managed中的false改為true。
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
[ifupdown]
managed=true
第四步、
設定靜态ip
打開檔案目錄/etc/network/interfaces
在:
auto lo
iface lo inet loopback
下面添加如下内容:
auto eth0
iface eth0 inet static
address 192.168.1.3
gateway 192.168.1.1
netmask 255.255.255.0
完整設定如下:auto lo
iface lo inet loopback
//添加内容:
auto eth0
iface eth0 inet static
address 192.168.1.3
gateway 192.168.1.1
netmask 255.255.255.0
在檔案目錄/etc/resolv.conf(預設情況這個檔案是不存在的)下添加如下内容
nameserver 202.96.128.86
重新開機網絡:sudo /etc/init.d/networking restart
第五步、
在opt/fsmini/etc/init.d/rcS 配置如下:#!/bin/sh
ifconfig eth0 192.168.1.17
mount -a
mkdir /dev/pts
mount -t devpts devpts /devpts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
第六步、
在opt/fsmini/etc/fstab來自動挂載檔案系統,修改etc/init.d/rcS加入要自動運作的指令,修改如下:
/etc/fstab
# device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
#添加部分
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
第七步、
s3c2410、s3c2440的序列槽名是s3c_2410_serial0、s3c_2410_serial1、s3c_2410_serial2,
而不是ttySAC0、ttySAC1、ttySAC2,是以需要修改opt/fsmini/etc/inittab檔案 ,修改如下:# /etc/inittab
::sysinit:/etc/init.d/rcS
s3c2410_serial0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
附加:
有時候可能會出現以下問題:unable to open initial console或Warning: unable to open an initial console.
檔案系統無法加載,解決此類方法可以手動在檔案系統建立console節點:
cd opt/fsmini/dev
mknod -m 660 console c 5 1
mknod -m 660 null c 1 3