新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > minis3c2440移植之文件系統移植

        minis3c2440移植之文件系統移植

        作者: 時間:2016-11-24 來源:網絡 收藏
        說在前頭:linux重要的常見系統文件都含有以下的文件,我們所做的就是要編譯生成這些文件。
        bin 普通文件目錄(里面是普通的shell腳本命令二進制文件)
        sbin 系統文件目錄(里面是系統文件的shell腳本命令二進制文件)
        dev 設備文件目錄(里面是對一些外設的驅動配置如:網卡驅動)
        etc 配置文件目錄
        lib 庫文件目錄(里面是系統調用時一些常用到的靜態和動態庫)
        proc 內存文件目錄(一般作為內存映射)
        mnt 外部設備掛目錄(常見的CD/DVD,USB外設都會掛在次目錄下)
        tmp
        對于我們現在來說的動作就具體的編譯生成這些文件,首先用的是busybox- 1.13.1編譯工具直接生成bin和sbin這兩個系統文件,其次是手動的建立其他的文件目錄,最后一起編譯生成root.cramfs系統文件。而我們所用的busybox-1.13.1也是支持多種體系的,自然而然適用于s3c2440的板子。
        一、 用busybox-1.13.1工具生成bin和sbin文件
        1、 將busybox-1.13.1.tar的壓縮包拷貝到linux的根目錄下,進行解壓。
        2、 進入busybox-1.13.1的目錄下,修改Makefile配置文件如下
        189行:ARCH ?=arm
        164行:CROSS_COMPILE ?=arm-linux-
        3、 make menuconfig保存后會在當前的目錄下生成.config
        4、 cp scripts/defconfig .config將默認缺省的配置拷貝到.config文件中
        5、 導入環境變量export PATH=/armtools/bin:$PATH
        6、 make之后make install之后會在當前的目錄下生成_install的目錄,在此目錄下的usr目錄下就是我們需要的bin和sbin文件。
        二、 手動創建其他所需要的文件系統
        1、 在linux的根目錄下創建testfs/rootfs目錄,然后進入testfs的目錄下將步驟一中生成的_install文件全部拷貝到rootfs的目錄下等待編譯。 cp –raf /busybox-1.13.1/_install/* rootfs/
        2、 在rootfs的目錄下手動創建mkdir sys etc tmp proc lib dev目錄
        3、 在dev的目錄下設置設備串口結點:
        mknod –m 666 console c 5 1
        mknod –m 666 zero c 1 3
        4、 在armtools下的庫文件全部拷貝到lib目錄下以待arm板子的系統和文件調用cp -raf /armtools/arm-linux/lib/* rootfs/lib/然后在roofs/lib的路徑下rm *.a刪除所有以”.a”為結尾的靜態庫文件(也可以不刪除,一般為了減小最后生成的文件系統的大小就刪掉了)。
        5、 在etc的目錄下touch inittab,再在此文件中編輯系統初始化文件:
        ::sysinit:etc/init.d/rcS和::sysinit:/bin/sh(shell的執行路徑)。
        6、 再在etc的目錄下創建上面所需要的路徑以及文件mkdir init.d,然后進入此文件夾touch rcS,接下來在此文件中編輯掛載的路徑:
        #!/bin/sh
        /bin/mount –a
        7、 再在etc的目錄下touch fstab,在此文件中編輯
        None /proc proc defaults 0 0 表示將proc文件掛載到/proc的目錄下
        8、 退出導testfs目錄下準備編譯文件系統mkfs.cramfs /rootfs root.cramfs
        意思是將rootfs的文件壓縮生成以”.cramfs”為格式的root.cramfs文件系統。
        說明:生成的root.cramfs的大小必須和文件系統燒錄是的大小一致(要求是燒錄時的大小至少大于文件系統root.cramfs的大小),否則將不能完整的將整個文件系統燒錄到flash中,最終導致系統不能正常運行。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 秭归县| 古交市| 龙口市| 沧源| 兴义市| 镶黄旗| 江达县| 敦化市| 仪陇县| 尖扎县| 鹤岗市| 三门峡市| 合水县| 淮安市| 武夷山市| 咸丰县| 观塘区| 通道| 织金县| 浦北县| 巩义市| 栾城县| 凤山市| 富平县| 玛沁县| 含山县| 馆陶县| 武汉市| 伊通| 崇义县| 宜川县| 三门县| 富源县| 通榆县| 宁乡县| 同仁县| 印江| 乐都县| 禄劝| 尉犁县| 博乐市|