日期:2014-05-16  浏览次数:20721 次

基于BusyBox的Mini Linux 制作教程
基于BusyBox的Mini Linux 制作教程

一、准备工作
    1.指定工作目录,例如: (/home/oopos/linux/os/mini/work)
        export WORK="/home/oopos/linux/os/mini/work"
        mkdir -p $WORK
        export SRC=$WORK/src
        mkdir -p $SRC
        export ROOT=$WORK/ops
        mkdir -p $ROOT
        cd $WORK

    2.源码下载
     (1) Linux Kernel
            Url: http://www.kernel.org
                cd $SRC
                wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.7.tar.bz2
                tar xvf linux-2.6.35.7.tar.bz2
                export LINUX_SRC=$SRC/linux-2.6.35.7
     (2) BusyBox
            Url: http://www.busybox.net
                cd $SRC
                wget http://busybox.net/downloads/busybox-1.17.2.tar.bz2
                tar xvf busybox-1.17.2.tar.bz2
                export BUSYBOX_SRC=$SRC/busybox-1.17.2

二、编译操作

    1.编译Linux Kernel

        (1)创建编译后的文件的输出目录($LINUX_OBJ),默认为源码目录,即: $LINUX_SRC.
            export LINUX_OBJ=${LINUX_SRC}-obj
            mkdir -p $LINUX_OBJ

        (2)内核配置   
            cd $LINUX_SRC
            make O=$LINUX_OBJ menuconfig
           说明:
               此处建议参考有关内核配置指南,为了支持initrd内存盘文件系统,以下两项必选:
                General Setup -> Initial RAM filesystem and RAM disk support
                Device Drivers -> Block Devices -> RAM block device support
        (3)编译及安装
            make O=$LINUX_OBJ (前面可以加上: time 来计算编译耗时),如: time make O=$LINUX_OBJ
            cd $LINUX_OBJ
            (将bzImage拷贝到$ROOT目录)
            cp linux-2.6.35.7-obj/arch/x86/boot/bzImage $ROOT

    2.编译BusyBox
        (1)BusyBox配置
            cd $BUSYBOX_SRC
            make menuconfig
         &n