博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
制作一个最小Linux系统
阅读量:6292 次
发布时间:2019-06-22

本文共 2789 字,大约阅读时间需要 9 分钟。

使用的是itop4412开发板(仅记录个人的学习回顾,如有不当之处欢迎指出)

---------致谢

准备:busybox软件、uboot(一般和开发板配套)、zImage(kernel内核)、ramdisk-uboot.img(系统挂载硬盘使用)、system.img(制作的系统镜像)

system.img的制作步骤:
一、busybox(为最小系统提供命令支持(个人理解))
先配置busybox:
a、make menuconfig时出现问题,提示如下图
1272968-20180919234516771-417837196.png
问题的原因是显示像素不够,把你的命令窗口最大化(直接进入全屏)如果使用的是VM虚拟机直接点击 1272968-20180919234803773-1671113625.png图标。
1、将busybox拷贝到Linux中(位置任意,最好取一个有指向性的文件夹名称如:miniLinux),解压busybox(解压命令:tar -vxf busybox-x.xx.x.tar.bz2),然后进入解压出的 busybox.xx.xx.xx 中,使用 make menuconfig 进入配置界面开始配置busybox:
1272968-20180919235151788-803773526.png
如上图,选中 Busybox Settings,然后按回车进入到 Busybox Settings 界面,如下图。
1272968-20180919235242163-119622476.png
在 Busybox Settings 配置选项里面需要修改两个地方,第一个是 Build Optiions-> CrossCompiler prefix,它是指定用什么编译器来编译 Busybox,选中 Build Options 如上图,然后按回车,进入到 Build Options 配置界面,如下图。
1272968-20180919235320886-1207477918.png
选中 Build Options 配置界面的 Cross Compiler prefix 如上图,然后按回车,进入 CrossCompiler prefix 配置界面,如下图
1272968-20180919235353046-1430268312.png
输入使用的交叉编译工具 arm-none-linux-gnueabi-,如下图。
1272968-20180919235422971-378378492.png
然后按回车返回到 Build Options 配置界面,这时可以看到刚才设置的交叉编译工具,如下图。
1272968-20180919235518450-1324441155.png
然后回到 Busybox Settings 设置界面,选中 Installation Options,然后按回车,进入 Installation Options 配置界面,如下图。
1272968-20180920000018817-2126326084.png
进入上图选项,设置的是busybox的安装路径(如设置为“../system”(最终生成的二进制文件会安装到system目录的上一级目录下的 system 目录里面,注意有两个点)说明白一点:例如你在minilinux(busybox所在文件夹)文件夹下建立了一个system文件夹(minilinux即为上一级目录,busybox会安装在这个目录下的system下)),至此配置完成;
2、编译安装busybox
编译:再解压出来的busybox.xx.xx.xx目录下运行命令make(自动根据makefile文件来编译)。
安装:编译完成后运行 make install 安装二进制文件。
。。。。。。。。。。。。。。。。。busybox部分完结。。。。。。。。。。。。。。。。。。。
二、完善最小linux系统
1、 建立系统所需文件夹
a) 进入system文件夹建立 dev etc lib mnt proc sys tmp var 文件夹(是不是似曾相识)。
b) 进入 etc 建立 init.d rc.d 文件夹 随后进入 rc.d 也建立一个 init.d 文件夹。
c) 进入system文件夹下的 var 建立 lib lock log run tmp 文件夹。
2、添加系统运行所需文件
a)进入创建的etc目录
将eth0-setting passwd profile三个文件拷贝进去,将文件的权限改为755
b)进入etc目录下的init.d目录
将ifconfig-eth0和rcS两个文件拷贝进去,将文件的权限改为755
c) 进入 etc/rc.d/init.d目录
将netd文件拷贝进去,将文件的权限改为755
d)返回到system目录下,进入lib文件夹下将编译器的库文件拷贝进去
"cp /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/* ./
三、生成system.img镜像文件
使用工具:make_ext4fs(该工具在“/”(根目录)下解压)
命令:在 system 所在文件夹下使用 “make_ext4fs -s -l 314572800 -a root -L linux system.img system”
。。。。。。。。。。。。。。。。。。。。。。。system.img制作完毕。。。。。。。。。。。。。。。。。。。。。。。

烧写minilinux:

1、 启动开发板,超级终端中,在读秒前回车(开发板上电就回车)进入Uboot模式;
2、分区命令,超级终端中,输入命令:输入分区命令“fdisk -c 0”
3、格式化命令,超级终端中输入命令:
– fatformat mmc 0:1
– ext3format mmc 0:2
– ext3format mmc 0:3
– ext3format mmc 0:4
4、 连接命令(链接烧写软件),超级终端中输入命令:fastboot 查看电脑是否识别设备(查看电脑设备管理器是否出现ADB驱动),如没有检查你的线路连接或者驱动器是否安装成功。
5、运行“platform-tools”文件夹中的文件“cmd.exe”,将需要烧写的文件(uboot、zImage、ramdisk-uboot.img、system.img)拷贝到“platform-tools”文件夹中。
6、 烧写命令,在windows命令行输入:
– 烧写uboot命令(不建议烧写,已经有了): fastboot.exe flash bootloader u-boot-iTOP-4412.bin
– 烧写zImage内核命令: fastboot.exe flash kernel zImage
– 输入烧写ramdisk 命令: fastboot.exe flash ramdisk ramdisk-uboot.img
– 输入烧写system 文件系统命令: fastboot.exe flash system system.img
– 输入擦除命令:fastboot -w
– 输入重启开发板命令: fastboot reboot
。。。。。。。。。。。。。。。。。。。。。。。。。。制作完毕。。。。。。。。。。。。。。。。。。。。。。。。。。。

转载于:https://www.cnblogs.com/mbzm-Nicn/p/9678476.html

你可能感兴趣的文章
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>
《算法基础:打开算法之门》一3.4 归并排序
查看>>
高德开放平台开放源代码 鼓励开发者创新
查看>>
《高并发Oracle数据库系统的架构与设计》一2.5 索引维护
查看>>
Firefox 是 Pwn2own 2014 上攻陷次数最多的浏览器
查看>>
阿里感悟(十八)- 应届生Review
查看>>
话说模式匹配(5) for表达式中的模式匹配
查看>>
《锋利的SQL(第2版)》——1.7 常用函数
查看>>
jquery中hover()的用法。简单粗暴
查看>>
线程管理(六)等待线程的终结
查看>>
spring boot集成mongodb最简单版
查看>>
DELL EqualLogic PS存储数据恢复全过程整理
查看>>
《Node.js入门经典》一2.3 安装模块
查看>>
《Java 开发从入门到精通》—— 2.5 技术解惑
查看>>