在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Busybox制作嵌入式Linux的文件系統(tǒng)

            Busybox制作嵌入式Linux的文件系統(tǒng)

            作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

            lrwxrwxrwx 117 libcrypt.so.1 -> libcrypt-2.3.2.so

            將其拷貝到$arm2410HOME/lib中。

            (可以編寫一個腳本:vi envCp,將下面的命令拷貝至腳本然后執(zhí)行即可:執(zhí)行chmod u+rx envCp,然后./envCp)

            cp -l /usr/local/arm/3.4.1/arm-linux/lib/ld-2.3.2.so $arm2410HOME/lib

            cp -l /usr/local/arm/3.4.1/arm-linux/lib/ld-linux.so.2 $arm2410HOME/lib

            cp -l /usr/local/arm/3.4.1/arm-linux/lib/libc-2.3.2.so $arm2410HOME/lib

            cp -l /usr/local/arm/3.4.1/arm-linux/lib/libc.so.6 $arm2410HOME/lib

            cp -l /usr/local/arm/3.4.1/arm-linux/lib/libcrypt-2.3.2.so $arm2410HOME/lib

            cp -l /usr/local/arm/3.4.1/arm-linux/lib/libcrypt.so.1 $arm2410HOME/lib

            拷貝后檢查一下:

            ls -all $arm2410HOME/lib,應(yīng)該和上面相同,包括文件及其鏈接。

            4、設(shè)定etc,準(zhǔn)備啟動:

            將busybox源代碼 example/bootfloopy/etc目錄中的文件拷貝過來到$arm2410HOME/etc。

            cp -fr $BUSYBOXHOME/examples/bootfloppy/etc/* $arm2410HOME/etc

            etc文件夾是許多系統(tǒng)配置文件保存的地方。這些文件非常重要,如果配置錯誤,就可能影響系統(tǒng)的啟動。busybox源代碼 example/bootfloopy/etc目錄中的文件算是一個簡單的例子,可以把其中的文件拷貝過來作為基礎(chǔ)。(在 example/bootfloopy目錄中的一些腳本和文檔也很值得閱讀)

            首先inittab文件是系統(tǒng)啟動后所訪問的第一個腳本文件,后續(xù)啟動的文件都由它指定。這個文件的格式和普通微機(jī)Linux上的inittab是有區(qū)別的,其具體含義可以參考busybox的文檔。下面是一個比較簡單的例子:

            ::sysinit:/etc/init.d/rcS

            tty0::respawn:/sbin/getty 38400 tty0

            tty2::askfirst:/bin/sh

            ::ctrlaltdel:/sbin/reboot

            ::shutdown:/bin/umount ar

            ::shutdown:/bin/mount / o remount,ro

            其中第一行指定了系統(tǒng)的啟動腳本為/etc/init.d/rcS;第二行指定在第一個虛擬終端打開一個登錄會話;第三行指定在第三個虛擬終端打開一個無須登錄驗證的shell;第四行指定了當(dāng)按下ctrl+alt+del組合鍵時的執(zhí)行命令;最后兩行指定了關(guān)機(jī)時執(zhí)行的操作。

            fstab文件定義了文件系統(tǒng)的各個“掛接點”,需要與實際的系統(tǒng)相配合。一個簡單的fstab文件如下:proc/procprocdefaults00

            /dev/hda1/ext2rw,noauto01

            devpts/dev/ptsdevptsdefaults00

            其中第三行是為UNIX PTYs準(zhǔn)備的,telnetd要用到。

            profile 文件是終端登錄之后首先運行的腳本,這里可以不去管它。我們比較關(guān)心的是系統(tǒng)在無人登錄的情況下有哪些程序要執(zhí)行。從inittab文件可以看出系統(tǒng)啟動之后要運行/etc/init.d/rcS腳本,需要啟動的程序和需要進(jìn)行的設(shè)置都可以寫在這里面。一個可能的rcS文件如下:

            #! /bin/sh

            echo e 'Starting System'

            ifconfig lo 127.0.0.1

            ifconfig eth0 192.168.0.100

            hostname F /etc/hostname

            /bin/mount / o remount,rw

            /bin/mount /proc

            /bin/mount /dev/pts

            /usr/sbin/telnetd

            dmesg > /var/log/dmesg

            為了滿足終端登錄用戶驗證的要求,etc目錄下還需要有passwd、group和shadow (在編譯busybox時如果不選擇shadow功能將不需要這個文件)。這些文件至少要包含 root用戶的定義,如下所示:

            passwd:

            root:x:0:0:root:/root:/bin/sh

            group:

            root:x:0:

            shadow:

            root::12179:0:99999:7:::

            其中,如果shadow (對于不支持shadow的系統(tǒng)則是passwd )文件的第一個冒號和第二個冒號之間沒有內(nèi)容,表示這個用戶登錄不需要密碼。如果需要設(shè)定密碼或者增加新的登錄用戶,就可以參考開發(fā)主機(jī)上的相應(yīng)文件,或者在目標(biāo)系統(tǒng)啟動之后用passwd命令和adduser命令完成。

            最后還可以給目標(biāo)機(jī)起一個名字,在/etc目錄下建立文件hostname,將起好的名字寫到里面。前面介紹的啟動腳本rcS,通過hostname命令把文件的內(nèi)容設(shè)置為機(jī)器名。

            5、制作yaffs文件系統(tǒng):

            找到y(tǒng)affs制作工具mkyaffsimage,將其拷貝到/bin目錄下,以便于利用系統(tǒng)環(huán)境變量能找到,然后用下面的命令:

            mkyaffsimage filesystem root.yaffs

            就可以filesystem目錄制作成一個名叫root.yaffs的映像。

            6、用uboot將yaffs文件系統(tǒng)下載到目標(biāo)板:

            (1)準(zhǔn)備tftp下載

            將制作好的yaffs文件系統(tǒng)映像拷貝到/tftpboot下,修改其權(quán)限至少為755, 然后重新啟動 xinetd 服務(wù)。

            chmod 755 root.yaffs

            /etc/init.d/xinetd restart

            (2)下載到目標(biāo)板

            啟動目標(biāo)板到uboot,在minicom下輸入以下命令:

            tftp 33000000 root.yaffs

            下載完成后uboot會返回文件的大小,假設(shè)為x

            nand erase 230000 3dcc000(此處擦除的要比較大,因為內(nèi)核要掛載一些文件)

            nand write.yaffs 33000000 230000 x

            重新啟動目標(biāo)板,如果能啟動到busybox提示符即可。


            上一頁 1 2 下一頁

            關(guān)鍵詞:

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉