制作一个最小Linux系统
使用的是itop4412开发板(仅记录个人的学习回顾,如有不当之处欢迎指出)
---------致谢
准备:busybox软件、uboot(一般和开发板配套)、zImage(kernel内核)、ramdisk-uboot.img(系统挂载硬盘使用)、system.img(制作的系统镜像)
system.img的制作步骤:
一、busybox(为最小系统提供命令支持(个人理解))
先配置busybox:
a、make menuconfig时出现问题,提示如下图
问题的原因是显示像素不够,把你的命令窗口最大化(直接进入全屏)如果使用的是VM虚拟机直接点击 图标。
1、将busybox拷贝到Linux中(位置任意,最好取一个有指向性的文件夹名称如:miniLinux),解压busybox(解压命令:tar -vxf busybox-x.xx.x.tar.bz2),然后进入解压出的 busybox.xx.xx.xx 中,使用 make menuconfig 进入配置界面开始配置busybox:
如上图,选中 Busybox Settings,然后按回车进入到 Busybox Settings 界面,如下图。
在 Busybox Settings 配置选项里面需要修改两个地方,第一个是 Build Optiions-> CrossCompiler prefix,它是指定用什么编译器来编译 Busybox,选中 Build Options 如上图,然后按回车,进入到 Build Options 配置界面,如下图。
选中 Build Options 配置界面的 Cross Compiler prefix 如上图,然后按回车,进入 CrossCompiler prefix 配置界面,如下图
输入使用的交叉编译工具 arm-none-linux-gnueabi-,如下图。
然后按回车返回到 Build Options 配置界面,这时可以看到刚才设置的交叉编译工具,如下图。
然后回到 Busybox Settings 设置界面,选中 Installation Options,然后按回车,进入 Installation Options 配置界面,如下图。
进入上图选项,设置的是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
。。。。。。。。。。。。。。。。。。。。。。。。。。制作完毕。。。。。。。。。。。。。。。。。。。。。。。。。。。
制作一个最小Linux系统的更多相关文章
- [转载]iTOP-4412开发板搭建最小linux系统
本文转迅为电子论坛:http://www.topeetboard.com 最小linux系统所需资料下载:http://pan.baidu.com/s/1kTNan0j 开发板不仅可以运行Androi ...
- 搭建最小linux系统
Busybox简介 • 制作文件系统我们需要使用到Busybox 工具 – 版本为busybox-1.21.1.tar.bz2 – 开源网址是http://www.busybox.net/ – Bus ...
- [转帖]迅为4412开发板最小linux系统的存储空间修改
本文转自迅为论坛:http://www.topeetboard.com 最小linux系统的存储空间修改以修改成 1G 存储空间为例来修改,如果需要改成其他大小的存储空间,参照此方法修改即可. 首先连 ...
- 做一个自己的最小Linux系统
一.前言 Linux操作系统至1991.10.5号诞生以来,就源其开源性和自由性得到了很多技术大牛的青睐,每个Linux爱好者都为其贡献了自己的一份力,不管是在Linux内核还是开源软件等方面,都为 ...
- 最小LINUX系统下U盘的挂载及卸载
U盘挂载命令U盘插入的时候会显示启动信息,启动信息中sda: sda1指U盘的设备名为sda1dev设备目录下有一个sda1设备文件,此设备文件就是我们插入的U盘,我们将这个设备文件挂载到Linux系 ...
- 入手Cubieboard2之制作最小Linux系统
前言 昨天终于入手了一块Cubieboard2板子,今年4月入职从事的就是与之相关的工作,因此趁现在有时间就好好熟悉一下. 一.主机环境 1.PC主机WIN 7旗舰版 1.虚拟机VM7.0 2.ubu ...
- 如何测量一个嵌入式Linux系统的功耗/power dissipation/power wastage/consumption
参考: 1.Linux Circuit Software To Calculate Power Dissipation
- ac68u、r8500 梅林固件扩展为一个小型 linux 系统
事先刷 merlin 固件 1.安装 Entware 在安装之前,你需要在路由器中插入一个 U 盘,并将其格式化为 Ext3 / Ext4 格式,插上后在 /mnt/ 下应会多个 sda 设备出来 e ...
- 讯为开发板的最小LINUX系统烧写及U盘的挂载及卸载
fdisk -c 0 fatformat mmc 0:1ext3format mmc 0:2ext3format mmc 0:3ext3format mmc 0:4 fastboot fastboot ...
随机推荐
- hdu 6035(树形dp)
题意:给你棵树,树上每个节点都有颜色,每条路径上有m种颜色 问你所有路径上出现的颜色的和 思路:答案求的是每种颜色对路径的贡献 我们可以反过来每种颜色不经过的路径的条数 假设根节点的颜色为x 我 ...
- source命令用法(转载)
转自:http://zhidao.baidu.com/link?url=mNfsPHSjTEm7llgyMYx0UVNwkJmD_cxLeHtZnHcM6Ms8LDXofVHka_EzHi6GltbR ...
- bzoj 1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名【bitset+Floyd传递闭包】
把关系变成有向边,稍微想一下就是要求在有向图中不能到达的点对个数,这个可以用Floyd传递闭包来做,但是n^3的复杂度跑不了1000 考虑bitset优化! 因为传递过程只会出现0和1,用bitset ...
- shiro vue 前后端分离中模拟登录遇到的坑
系统采用jeeplus框架(ssm+redis+shiro+mongodb+redis),默认是了JSP未做前后端分离,由于业务需要已经多终端使用的需求(H5.小程序等),需要实现前后端分离.但是由于 ...
- HUE通过oozie工作流执行shell脚本
HUE通过oozie工作流执行shell脚本 2018年01月17日 16:20:38 阅读数:217 首先上传对应的jar包和storm.sh脚本到hdfs,脚本内容如下: 脚本主要内容是:从hdf ...
- 洛谷 P2881 [USACO07MAR]排名的牛Ranking the Cows
题应该是假的...先不做了 https://www.cnblogs.com/Blue233333/p/7249057.html 比如输入5 0,答案是10,但可以比较8次就出来.就是在一个已知有序数列 ...
- 状压DP UVA 10817 Headmaster's Headache
题目传送门 /* 题意:学校有在任的老师和应聘的老师,选择一些应聘老师,使得每门科目至少两个老师教,问最少花费多少 状压DP:一看到数据那么小,肯定是状压了.这个状态不好想,dp[s1][s2]表示s ...
- 用SpringMVC实现的上传下载方式二(多文件上传)
参考来源: http://blog.csdn.net/qq_32953079/article/details/52290208 1.导入相关jar包 commons-fileupload.j ...
- jQuery学习笔记(2)-选择器的使用
一.选择器是什么 有了jQuery的选择器,我们几乎可以获取页面上任意一个或一组对象 二.Dom对象和jQuery包装集 1.Dom对象 JavaScript中获取Dom对象的方式 <div i ...
- Python之双色球选购和三级菜单问题
1:双色球选购# 1 双色球(假设一共八个球,6个红球,球号1-32.2个蓝球,球号1-16)# 2 确保用户不能重复选择,不能超出范围# 3 用户输入有误时有相应的错误提示# 4 最后展示用户选择的 ...