文章目录
  1. 1. 搭建最小的Linux系统
  2. 2. 手工搭建Linux最小系统
    1. 2.1. 配置Busybox
    2. 2.2. 安装打包工具

反浩克机甲

搭建最小的Linux系统

烧写4个文件

  • u-boot-iTOP-4412.bin

    不用烧写

  • zImage和ramdisk-uboot.img使用光盘下的文件、

    路径D:\POP精英版_4.3寸\image\linux

  • system.img

分区

  1. COM3-HyperTerminal

    1
    2
    3
    4
    5
    6
    7
    8
    9
    iTOP-4412 # fdisk -c 0

    iTOP-4412 # fatformat mmc 0:1

    iTOP-4412 # ext3format mmc 0:2

    iTOP-4412 # ext3format mmc 0:3

    iTOP-4412 # ext3format mmc 0:4
  2. 执行

    1
    iTOP-4412 # fastboot
  3. 在CMD烧写

  • zImage

    1
    2
    3
    4
    5
    6
    7
    E:\T\platform-tools>fastboot.exe flash kernel zImage
    < waiting for device >
    sending 'kernel' (3873 KB)...
    OKAY [ 0.726s]
    writing 'kernel'...
    OKAY [ 0.408s]
    finished. total time: 1.178s
  • ramdisk-uboot.img

    1
    2
    3
    4
    5
    6
    E:\T\platform-tools>fastboot.exe flash ramdisk ramdisk-uboot.img
    sending 'ramdisk' (636 KB)...
    OKAY [ 0.104s]
    writing 'ramdisk'...
    OKAY [ 0.178s]
    finished. total time: 0.284s
  • system.img

    1
    2
    3
    4
    5
    6
    E:\T\platform-tools>fastboot.exe flash system system.img
    sending 'system' (15197 KB)...
    OKAY [ 2.256s]
    writing 'system'...
    OKAY [ 2.323s]
    finished. total time: 4.581s

4.
擦除:

1
E:\T\platform-tools>fastboot -w
  • 重启
1
E:\T\platform-tools>fastboot reboot

重启后在 COM3-HyperTerminal


手工搭建Linux最小系统

准备

  • Busybox简介

    busybox包含了许多的unix常用工具,相当于一个工具集合,例如:date,find等。
    它的体积非常的小,目的就是要用尽可能小的资源,它的模块化程度也非常高。可以用来构建C | C++Linux文件系统(例如只需要再添加一个/dev,/etc,和一个linux内核).
    它的可移植性非常强,遵从POSIX,在许多环境下,例如空间有限的C | C++环境等都可以使。

配置Busybox

解压busybox

1
2
3
4
5
6
root@ubuntu:~# mkdir minilinux
root@ubuntu:~# cd minilinux/


root@ubuntu:~/minilinux# ls
busybox-1.22.1.tar.bz2

进入
在解压出来的busybox目录下执行:

1
root@ubuntu:~/minilinux/busybox-1.22.1# make menuconfig

配置编译器

  • Busybox Settings
    1
    Busybox Settings  --->  
  • Builkd Options
    1
    Build Options  --->
    • 选择Cross Compiler prefix(NEW),然后输入**arm-none-linux-gnueabi-**
      1
      2
      3
      4
      5
      ------------------------ Cross Compiler prefix -------------------------+
      | Please enter a string value. Use the <TAB> key to move from the input |
      | field to the buttons below it. |
      | +---------------------------------------------------------------------+ |
      | |arm-none-linux-gnueabi-

输入的是你需要的编译器名称

  • 返回一级菜单,选择EXIT

    1
    Build Options  ---> 

    配置二进制文件安装目录

    • 选择 Installation Options ("make install" behavior) ---> 并进去
      1
      (./_install) BusyBox installation prefix   

删除原来的字符并填写:

1
../system   

>在CRT下要用Ctrl+退格键才能删除

退出,保存

  • 配置默认编译器

    1
    root@ubuntu:~# vi .bashrc

    选择默认编译器

    1
    2
    3
    export PATH=$PATH:/usr/local/arm/arm-2009q3/bin
    #export PATH=$PATH:/usr/local/arm/4.4.1/bin
    #export PATH=$PATH:/usr/local/arm/4.3.2/libexec/gcc

    其他编译器理论上也可以,但保险起见,其他编译器注释掉

  • 执行:make,编译busybox

    1
    root@ubuntu:~/minilinux/busybox-1.22.1# make
  • 执行:make install,安装

    1
    root@ubuntu:~/minilinux/busybox-1.22.1# make install

    返回上一级会看到已经生成了system文件夹


完善添加最小Linux
在system文件夹下创建文件:

1
root@ubuntu:~/minilinux/system# mkdir dev etc lib mnt proc sys tmp var 
  • 在新创建的etc文件下创建文件

    1
    root@ubuntu:~/minilinux/system/etc# mkdir  init.d rc.d 
  • 进入新创建的rc.d文件夹创建init.d

    1
    root@ubuntu:~/minilinux/system/etc/init.d# mkdir init.d
  • 返回system文件夹下,进入var目录,新建文件夹:

    1
    root@ubuntu:~/minilinux/system/var# mkdir lib lock log run tmp
  • 拷贝文件
    eth0-settingpasswdprofile拷贝到minilinux/system/etc下

并将权限赋于755

1
root@ubuntu:~/minilinux/system/etc# chmod 755 eth0-setting passwd profile
  • 拷贝编译器
    1
    root@ubuntu:~/minilinux/system/lib# cp /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/* ./

system目录制作完成


安装打包工具

  • 将打包工具**linux_tools.tgz拷贝到/**目录下,并解压

  • 生成文件系统

    1
    root@ubuntu:~/minilinux# make_ext4fs -s -l 314572800 -a root -L linux system.img system
  • 烧写

文章目录
  1. 1. 搭建最小的Linux系统
  2. 2. 手工搭建Linux最小系统
    1. 2.1. 配置Busybox
    2. 2.2. 安装打包工具