最小系统环境搭建
总阅读次
搭建最小的Linux系统
烧写4个文件
- u-boot-iTOP-4412.bin
不用烧写
- zImage和ramdisk-uboot.img使用光盘下的文件、
路径D:\POP精英版_4.3寸\image\linux
- system.img
分区
COM3-HyperTerminal
1
2
3
4
5
6
7
8
9iTOP-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执行
1
iTOP-4412
在CMD烧写
- zImage
1
2
3
4
5
6
7E:\T\platform-tools>fastboot.exe flash kernel zImage
< waiting for device >
sending 'kernel' (3873 KB)...
OKAY
writing 'kernel'...
OKAY
finished. total time: 1.178s
- ramdisk-uboot.img
1
2
3
4
5
6E:\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
6E:\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
- 擦除:
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 | root@ubuntu:~# mkdir minilinux |
进入
在解压出来的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
3export 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-setting
、passwd
、profile
拷贝到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
- 烧写