zoukankan      html  css  js  c++  java
  • 根文件系统制作

    一、如何制作一个根文件系统

    1、创建根件系统的

     

    mkdir rootfs 

    cd rootfs
    mkdir bin dev etc lib proc sbin sys usr mnt tmp var

    mkdir usr/bin usr/lib usr/sbin lib/modules

     

    2、创建设备

    cd dev/ 
    mknod -m 666 console c 5 1
    mknod -m 666 null c 1 3
    cd ..

    3、安/etc

           tar etc.tar.gz C /xxx/rootfs

    4、编译模块

      Linux核目录( linux 2.6.29) make modules ARCH=arm CROSS_COMPILE=arm-linux-

    5、安装

           make modules_install ARCH=arm    INSTALL_MOD_PATH=/xxx/rootfs

    6 、配置busybox

            进入busybox目录执行

            make menuconfig

    a、Busybox Settings ->build Options->
    • 选中 “Build busybox as a static binary”,静态链接
    • Cross Compiler prefix (arm-linux-)
    b、 Installation Options->
    • 选中 “Don‘t use /usr”,选中项可以避免 busybox被安装到宿主系统的 /usr目录下,破坏宿主系统
    • Busybox Installation Prefix (/xxx/rootfs)选项表编译后的busybox的安装位置
    7、编译安busybox
    • make ARCH=arm CROSS_COMPILE=arm-linux-
    •  make install

    二、Ramdisk

    基于前步骤制作好件系统,可进ramdisk骤如:

    1、 genext2fs -b 8192 -d /xxx/rootfs ramdisk

              ** genext2fs为产ramdisk**

    2、 gzip -9 -f ramdisk

    3、制作init ramdisk

          mkinitrd initrd-$version $version  (Ubuntu下面没有mkinitrd, 相应的命令为 mkinitramfs -o initrd-$version $version)

          例:

              mkinitrd initrd-2.6.29 2.6.29  

          **这是将/lib/modules/$vesion 制作成ramdisk**

          *$version 可以通过查询/lib/modules下的目录得到

    4:解压:

    file initrd看是否是gzip compressed data, was "initrd.img"

    cp initrd initrd.img.gz
    gunzip initrd.img.gz
    mkdir tmp
    cd tmp cpio
    -ivmd <initrd.new.img

    5:压缩:

    find . | cpio -c -o > ../initrd.img

    gzip ../initrd.img

  • 相关阅读:
    Java反射机制的简单应用
    UI组件之AdapterView及其子类关系,Adapter接口及事实上现类关系
    CSDN日报20170406 ——《代码非常烂,所以离职。》
    Swift环境下实现UILabel居上 居中 居下对齐
    在EA中将画出的ER图转换成SQL脚本
    hdu2236
    glm编译错误问题解决 formal parameter with __declspec(align(&#39;16&#39;)) won&#39;t be aligned
    CSS中的相关概念
    javascript jquery 推断对象为空的方式
    swift 给导航添加item,实现界面的跳转
  • 原文地址:https://www.cnblogs.com/dolphi/p/2420253.html
Copyright © 2011-2022 走看看