<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式根文件制作方法

嵌入式根文件制作方法

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏
(一):首先linux根文件系統的制作需要的開(kāi)發(fā)環(huán)境。

1:移植Linux內核版本: linux-3.0.1 (只要能用就行)
2:交叉編譯工具:arm-linux-gcc 4.3.2(任選)
3:文件系統制作工具:Busybox-1.13.3(任選)
4:etc.tar.gz
(二):交叉編譯環(huán)境的搭建(這一步我在我的博客其他文章里面有 詳細的搭建過(guò)程,很簡(jiǎn)單滴~)
(三):創(chuàng )建根文件系統的目錄
1:在home目錄下面新建一個(gè)文件夾rootfs

本文引用地址:http://dyxdggzs.com/article/201611/321748.htm
[root@localhost ~]# cd /home/
[root@localhost home]# mkdir rootfs
[root@localhost home]# cd rootfs/
[root@localhost rootfs]# mkdir bin dev etc lib proc sbin sys usr mnt tmp var
[root@localhost rootfs]# mkdir usr/bin usr/lib usr/sbin lib/modules
說(shuō)明:
根文件系統是Linux啟動(dòng)的時(shí)候使用的第一個(gè)文件系統,沒(méi)有他系統將無(wú)法正常的啟動(dòng)
然而在這個(gè)根文件系統中又包含了一系列的目錄,接下來(lái)對這些目錄做一個(gè)簡(jiǎn)單的介紹。其實(shí)這個(gè)大家都很懂的
bin
存放所有用戶(hù)都可以使用的、基本的命令。

sbin
存放的是基本的系統命令,它們用于啟動(dòng)系統、修復系統等。
sys
一些總線(xiàn)啊設備啊驅動(dòng)啊。等等都在這里。好像都是動(dòng)態(tài)生成的吧

usr
里面存放的是共享、只讀的程序和數據。

proc
這是個(gè)空目錄,常作為proc文件系統的掛載點(diǎn)。

dev
該目錄存放設備文件和其它特殊文件。

etc
存放系統配置文件,包括啟動(dòng)文件。

lib
存放共享庫和可加載塊(即驅動(dòng)程序),共享庫用于啟動(dòng)系統、運行根文件系統中的可執行程序。
mnt
用于臨時(shí)掛接某個(gè)文件系統的掛接點(diǎn),通常是空目錄。也可以在里面創(chuàng )建空的子目錄。
boot
引導加載程序使用的靜態(tài)文件

home
用戶(hù)主目錄,包括供服務(wù)賬號鎖使用的主目錄,如FTP

opt
給主機額外安裝軟件所擺放的目錄。

root
root用戶(hù)的主目錄

tmp
存放臨時(shí)文件,通常是空目錄。

var
存放可變的數據。

2:創(chuàng )建設備文件
[root@localhost rootfs]#cd dev/
[root@localhost dev]# mknod -m 666 console c 5 1
[root@localhost dev]# mknod -m 666 null c 1 3
說(shuō)明:mknod -m 666 console c 5 1
console 為設備文件名,自己可以隨便取,c代表是字符型設備(可選b,塊設備)
5是主設備號 /dev/devices里面記錄現有的設備
1是次設備號當你要給兩個(gè)同樣的設備上一個(gè)驅動(dòng)的時(shí)候就要分了,從0開(kāi)始,1就是第二個(gè)了 ,對于字符設備,次設備號就表示同類(lèi)型設備的不同設備。666代表訪(fǎng)問(wèn)的權限

3:配置/etc/
這里有兩種方法
1:可以把系統上面的/etc/下面一些比較重要的文件拷貝過(guò)來(lái)
2:也可以直接在網(wǎng)上下載一個(gè)etc.tar.gz
#tar -zxvf etc.tar.gz
將解壓出來(lái)的文件etc下面的東西全部拷貝到上面新建的根目錄下面/rootfs/etc/下面
etc/inittab
etc/profile
etc/fstab
etc/init.d/
etc/init.d/rcS

4:編譯內核模塊
首先進(jìn)入內核目錄下面(內核目錄和根文件系統目錄不是在同一個(gè)目錄下面的)
# cd linux-3.0.1
#make modules ARCH=arm CROSS_COMPILE=arm-linux-
說(shuō)明:在這一步出現一些問(wèn)題,發(fā)現怎么編譯也不行,后來(lái)由下載了一個(gè)內核,編譯通過(guò)
5:安裝內核模塊
#make modules_install ARCH=arm INSTALL_MOD_PATH=/home/rootfs
說(shuō)明:實(shí)質(zhì)上是將內核里面編譯好的模塊放在根文件系統目錄下面。
6:配置busybox
說(shuō)明:關(guān)于busybox:(百度百科)
busybox是一個(gè)集成了一百多個(gè)最長(cháng)用linux命令和工具的軟件。BusyBox 包含了一些簡(jiǎn)單的工具,例如ls、cat 和echo等等,還包含了一些更大、更復雜的工具,例如grep、find、mount 以及telnet。有些人將 BusyBox 稱(chēng)為 Linux 工具里的瑞士軍刀。簡(jiǎn)單的說(shuō)BusyBox就好像是個(gè)大工具箱,它集成壓縮了 Linux 的許多工具和命令,也包含了 Android 系統的自帶的shell。
# tar -xvzf busybox-1.13.3.tar.gz
# cd busybox-1.13.3
#make menuconfig
說(shuō)明:這一步是要配置busybox的圖形界面,使之生效,運行這個(gè)命令可能會(huì )出錯,原因是因為你沒(méi)有
安裝那個(gè)圖像界面的依賴(lài)庫,在終端里面輸入apt-get install libncurses5-dev 就ok了~
Busybox Settings-----> build Options----->
選中Build BusyBox as a static binary(no shared libs)
Busybox Settings-----> InstallationOptions ------------>
選中 “dont use /usr” 選中此項可以避免busybox被安裝到宿主系統的/usr目錄下,破壞宿主系統
Busybox Installation Prefix(/home/fs/myrootfs) 這里要輸入busybox安裝的絕對路徑
7:編譯安裝busybox
#make ARCH=arm CROSS_COMPILE=arm-linux-
#make install
到現在為止,根文件系統就完全做好了,你可以把這個(gè)根文件系統制作成ramdisk系統
8:、將根文件系統制作 成ramdisk

先確保安裝genext2fs
#genext2fs -b 8192 -d /home/fs/myrootfs/ ramdisk
說(shuō)明:這一步出現問(wèn)題,后來(lái)發(fā)現是這個(gè)分配的空間太小,于是將8192改為120400
#genext2fs -b /home/rootfs/ ramdisk
#gzip -9 -f ramdisk
這樣就可以將ramdisk.gz下載到開(kāi)發(fā)板上面去了



關(guān)鍵詞: 嵌入式根文件制作方

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>