訂閱
糾錯
加入自媒體

一文了解如何制作rootfs?

8、 創(chuàng)建其他需要的目錄$ mkdir  dev  etc  mnt  proc  var  tmp  sys  root 

9、 添加庫

我們安裝的交叉工具鏈中有我們所需要的可以在開發(fā)板上使用的庫, 將其拷貝到_install目錄下即可:

$ cp  /home/linux/toolchain/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/lib/  .  -a

修改文件權(quán)限并刪除靜態(tài)庫和共享庫文件中的符號表

$chmod  +w  lib
$chmod  +w  lib
$ rm  lib.a(chǎn)
$ arm-none-linux-gnueabi-strip  lib

刪除不需要的庫,確保所有庫大小不超過8M

$ du  -mh   lib/

10、 添加系統(tǒng)啟動文件

在etc下添加文件inittab,文件內(nèi)容如下:

#this is run first except when booting in single-user mode.
::sysinit:/etc/init.d/rcS
# /bin/sh invocations on selected ttys
# start an "askfirst" shell on the console (whatever that may be)
::askfirst:-/bin/sh
# stuff to do when restarting the init process
::restart:/sbin/init
# stuff to do before rebooting
::ctrlaltdel:/sbin/reboot

在etc下添加文件fstab,文件內(nèi)容如下:

#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

【注意】這里我們掛載的文件系統(tǒng)有三個proc、sysfs和tmpfs。在內(nèi)核中proc和sysfs默認(rèn)都支持,而tmpfs是沒有支持的,我們需要確保內(nèi)核有tmpfs的支持。

修改內(nèi)核配置:

$ make menuconfig
File systems --->
 Pseudo filesystems --->
  [*] Virtual memory file system support (former shm fs)
  [*] Tmpfs POSIX Access Control Lists

重新編譯內(nèi)核

在etc下創(chuàng)建init.d目錄,并在init.d下創(chuàng)建rcS文件,rcS文件內(nèi)容為:

#。痓in/sh
# This is the first script called by init process
/bin/mount  -a  掛載fstab制定的所有文件系統(tǒng)
echo  /sbin/mdev  >  /proc/sys/kernel/hotplug
/sbin/mdev  -s

為rcS添加可執(zhí)行權(quán)限:

$ chmod   +x  init.d/rcS

在etc下添加profile文件,文件內(nèi)容為:

#。痓in/sh
export HOSTNAME=farsight
export USER=root
export HOME=root
export PS1="[$USER@$HOSTNAME W]# "
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH  LD_LIBRARY_PATH
mknod dev/console c  5  1    該文件節(jié)點是必須的

重要:新制作的文件系統(tǒng)尺寸若超出8M,刪除不需要的庫文件,比如c++庫等。

11. 測試

制作完畢的根文件系統(tǒng)可以讓開發(fā)板啟動后通過nfs掛載到ubuntu中,

刪除原先的/source/rootfs$ sudo  rm  -rf  /source/rootfs
將我們新建的根文件系統(tǒng)拷貝到/source/rootfs目錄下$sudo  mkdir  /source/rootfs
$ sudo  cp  _install   /source/rootfs   –a
設(shè)置uboot環(huán)境變量# setenv serverip 192.168.9.120
# setenv ipaddr 192.168.9.233
# setenv bootcmd tftp 41000000 uImage;tftp 42000000 exynos4412-fs4412.dtb;bootm 41000000  –  42000000
#setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/source/rootfs rw console=ttySAC2,115200  init=/linuxrc  ip=192.168.9.233
# saveenv

重新啟動開發(fā)板,查看是否能夠正常掛載,功能是否正常

移植Linux:如何制作rootfs?安排!

<上一頁  1  2  3  4  下一頁>  余下全文
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號