久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

嵌入式linuxbusybox文件系統(tǒng)的移植和rzsz命令的添加

 mrjbydd 2013-09-18

         嵌入式linux busybox 文件系統(tǒng)的移植 和 rz sz 命令的添加

1848人閱讀 評(píng)論(0) 收藏 舉報(bào)

-----------------創(chuàng)建rootfs文件夾-------------------
mkdir my_rootfs
cd my_rootfs
mkdir bin dev etc home lib mnt proc sbin sys tmp root usr var mnt/etc usr/bin usr/lib usr/sbin
touch linuxrc
使用mknod來(lái)自己建所需要的device, 舉例:
# mknod -m 600 dev/console c 5 1
# mknod -m 666 dev/null c 1 3

BusyBox-1.9.2版本

------------------
修改編譯配置選項(xiàng)--------------------
開(kāi)始移植

 

1.       下載busybox1.9.2,,并解壓縮。

下載busybox源代碼:http:///downloads/busybox-1.9.2.tar.bz2

交叉編譯工具:arm-linux-gcc-3.4.1

解壓源碼:tar -jxvf busybox-1.9.2.tar.bz2

 

2.       修改Makefile中的174行的 arch和編譯工具鏈頭,。

ARCH                 ?= arm

CROSS_COMPILE       ?= /usr/local/arm/3.4.1/bin/arm-linux-

 

3.       make menuconfig. 修改編譯配置選項(xiàng)。

Busybox Setting----->

       build option-->

    [ ] Build BusyBox as a static binary (no shared libs)                     

    [*] Build shared libbusybox                                               

    [*]   Produce a binary for each applet, linked against libbusybox         

    [*]   Produce additional busybox binary linked against libbusybox          

    [ ] Build with Large File Support (for accessing files > 2 GB)  

      

installation option-->

    [*] Don't use /usr                                                     

        Applets links (as soft-links) --->                                   

     (./_install) BusyBox installation prefix 

 

Busybox Library Tuning ---> 

                              

MD5: Trade Bytes for Speed                                      

[*] Faster /proc scanning code (+100 bytes)                            

[*] Support for /etc/networks                                    

 

[*] Support for /etc/networks

[*]   Additional editing keys

[*]   vi-style line editing commands

[*]   History saving

[*]   Tab completion

[*]   Username completion

[*]   Fancy shell prompts

 

Linux Module Utilities --->

[*] Support version 2.6.x Linux kernels

 

    [*] insmod  

    [*]   Enable load map (-m) option  

    [*]     Symbols in load map 

    [*] rmmod  

    [*] lsmod 

    [*]   lsmod pretty output for 2.6.x Linux kernels  

    [*] modprobe 

    [ ]   Multiple options parsing

    [ ]   Fancy alias parsing

    ---   Options common to multiple modutils

    [ ] Support tainted module checking with new kernels

    [ ] Support version 2.2.x to 2.4.x Linux kernels

 

    [*] Support version 2.6.x Linux kernels

 

shell -à

   [*]  alias support

其他的用默認(rèn)值

-----------------------編譯busybox-----------------------

make
make install
busybox/_install 目錄下會(huì)生成我們需要的文件,。
修改_install/bin/busybox 的屬性,。為4755
chmod 4755 ./_install/bin/busybox
必須要修改屬性,否則在busybox 中很多命令會(huì)受限
將編譯好的busybox拷貝到my_roofs下面,。  

_install cp -Rfv * /my_roofs
 
-----------------------/lib
文件--------------------------------
/lib
的庫(kù)其實(shí)就是進(jìn)行busybox編譯的庫(kù),,即交叉編譯器的庫(kù),我們這里使用的是3.4.1(位置/usr/local/arm/3.4.1),。
# cd  /usr/local/arm/3.4.1/arm-linux/lib
# for file in libc libcrypt libdl libm libpthread libresolv libutil
> do
> cp $file-*.so  /my_rootfs/lib (
復(fù)制到你做的文件系統(tǒng)的/lib目錄下)
> cp -d $file.so.[*0-9]  /my_rootfs/lib (
同上)
> done
# cp -d ld*.so*  /
my_rootfs/lib   (同上)

-----------------
系統(tǒng)配置文件的建立---------------------
--========/etc
目錄============
(1)profile
文件
#Set search library path
export LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
#Set user path
        PATH="/bin:/sbin:/usr/bin:/usr/sbin:"$PATH
alias ll='ls -l'
        #Set PS1
   USER="`id -un`"
   LOGNAME=$USER
   PS1='[/u@/h /W]/$ '
PATH=$PATH
        export USER LOGNAME PS1 PATH
  
(2)fstab
文件
proc  /proc proc  defaults  0 0
none  /tmp  ramfs defaults  0 0
mdev  /dev  ramfs defaults  0 0
sysfs /sys  sysfs defaults  0 0

(3)inittab文件
::sysinit:-/etc/init.d/rcS
::respawn:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a

(4)創(chuàng)建/etc/init.d文件夾和rcS,,在rcS中添加
#! /bin/sh
 
echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

echo "^     Welcome to YAFFS root filesystem!   ^"

echo "^                    soso                  ^"

echo "^^^^^^^^^^^^^^^^09-3-18^^^^^^^^^^^^^^^^^^^^"
/bin/hostname -F /etc/host
# mount all filesystem defined in "fstab"

ln -s /dev/vc/0 /dev/tty1

echo "# mount all..........."
/bin/mount -a

echo "# Starting mdev........."
#/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

/sbin/ifconfig lo 127.0.0.1
/sbin/ifconfig eth0 192.168.0.55
/sbin/route add default gw 192.168.0.1


(5)
創(chuàng)建host文件
soso

(6)創(chuàng)建mdev.conf文件 (空文件)

(7)復(fù)制主機(jī)/etc/下面的文件passwd, group, shadow 文件到/etc
# cp /etc/group .
# cp /etc/passwd .
# cp /etc/shadow .

修改passwd中用戶(hù)使用的shell名稱(chēng)。FC6上默認(rèn)的為bash,vivi只支持ash,。
root:x:0:0:root:/root:/bin/bash ----> root:x:0:0:root:/root:/bin/ash

(8)修改各文件和文件夾的權(quán)限
# chmod 755 /my_roofs/etc/init.d/rcS
# chmod 755 /my_roofs/etc/host

-------------yaffs文件系統(tǒng)映像的制作---------
使用mkyaffsimg程序可以把一個(gè)目錄做成一個(gè)yaffs映像文件,,然后使用usb下載到板子上。進(jìn)入文件系統(tǒng)目錄層,,使用以下命令,。
#./mkyaffsimg my_roofs rootfs.img  
(改名filesystem.yaffs
這樣就會(huì)在該目錄下生成roofs.img映像文件,下載到開(kāi)發(fā)板運(yùn)行即可,。

--------------cramfs文件系統(tǒng)映像的制作(cramfs壓縮率比較高)------------
FTP中下載cramfs-1.1.tar.gz,,解壓到自己設(shè)定的目錄下,如:
tar xzvf cramfs-1.1.tar.gz –C /home/
進(jìn)入生成有mkcramfs文件的目錄下(一定要進(jìn)入此目錄,否則會(huì)提示找不到該命令)
輸入命令:#./mkcramfs / rootfs rootfs.cramfs
在當(dāng)前目錄下即生成rootfs.cramfs映像文件,。到此Linux操作系統(tǒng)移植完畢,。

 

下載源碼

 移植新下載的linux源碼中是沒(méi)有超級(jí)終端的命令的,需要自己添加,。添加完了,,就開(kāi)發(fā)板就可以PC通過(guò)串口傳輸文件了。

步驟:

1,、  下載軟件 rzsz-3.48.tar.gz,。 http://freeware./source/rzsz/rzsz-3.48.tar.gz下載。

2,、解壓 tar zxvf  rzsz-3.48.tar.gz
        3,、安裝  cd src
               vi Makefile
              修改CC=arm-linux-gcc
              保存退出
               make posix
    注意:這個(gè)軟件安裝與常規(guī)的GNU軟件不同沒(méi)有configure(配置)make install (安裝過(guò)程),。
     
        我的是S3C2410的交叉編譯器,,不同的平臺(tái)只是交叉編譯器不一樣而已。
        輸入命令make posix后,,如果編譯成功,,在輸入 ls命令,你將發(fā)現(xiàn),,多了很多文件
        COPYING   gz         minirb.c    rc      rz.c    sz       undos.doc  zmodem.h
        crc.c     mailer.rz  minirb.doc  README  rz.doc  sz.c     zcommand   zmr.c
        crc.doc   Makefile   rb          rx      sb      sz.doc   zcommandi  zupl.t
        crctab.c  Makefile~  rbsb.c      rz      sx      undos.c  zm.c
    將rb,rx,rc,rz,sb,sx,sz,zcommand zcommandi拷貝到你制作的根文件系統(tǒng)的bin目錄下,,然后在將交叉編譯器下的ld-2.5.so      libc-2.5.so      libcrypt.so.1  libgcc_s.so.1  libm.so.6 ld-linux.so.3  libcrypt-2.5.so  libc.so.6      libm-2.5.so等庫(kù)(可能版本不同,,相應(yīng)的數(shù)字,但只要是這幾個(gè)文件即可)拷貝到根文件系統(tǒng)的lib目錄下,,然后再重新制作該根文件系統(tǒng),,下載到 開(kāi)發(fā)板,重新啟動(dòng),,可以試一下rz和sz

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多