s5pv210 linux3.8.3内核移植之三:简单根文件系统制作
来源:互联网 发布:程序员大爷 gif 编辑:程序博客网 时间:2024/06/05 03:10
疯雨-版权所有,转载请注明【http://blog.csdn.net/u010346967】
1.这里为什么选nfs文件系统呢?
在产品开发阶段,因为nfs根文件系统并不需要编译进内核,方便调试。
2.制作根文件系统需要用到BusyBox
busybox 下载地址:www.busybox.net
解压进入busybox目录:
root@crazyrain:/home/share# tar xjf busybox-1.20.2.tar.bz2
root@crazyrain:/home/share# cd busybox-1.20.2
root@crazyrain:/home/share/busybox-1.20.2# vim Makefile
CROSS_COMPILE ?= 修改为 CROSS_COMPILE ?= arm-linux-
ARCH ?= $(SUBARCH) 修改为 ARCH ?= arm
4.进行busybox配置
root@crazyrain:/home/share/busybox-1.20.2# make menuconfig
Busybox Settings ---> General Configuration ---> [*] Don't use /usr
/*不选上的话,会安装到系统目录的/usr下 破坏系统文件*/
5.编译
root@crazyrain:/home/share/busybox-1.20.2# make
root@crazyrain:/home/share/busybox-1.20.2# make install完成安装后 当前文件夹下多了_install文件夹,这就是最终生成的busybox文件系统。
root@crazyrain:/home/share/busybox-1.20.2# cd _install/root@crazyrain:/home/share/busybox-1.20.2/_install# lsbin linuxrc sbin
一个最小根文件系统必须的项:
/dev/console
init本身,即busybox
/etc/inittab配置文件 init进程配置文件,用来创建其他进程 inittab配置文件中指定的应用程序或脚本
6.创建etc/inittab文件
root@crazyrain:/home/share/busybox-1.20.2/_install# mkdir etc
root@crazyrain:/home/share/busybox-1.20.2/_install# vim etc/inittab
::sysinit:/etc/init.d/rcS::askfirst:-/bin/sh::shutdown:/bin/umount -a -r
7.创建etc/init.d/rcS文件
root@crazyrain:/home/share/busybox-1.20.2/_install# mkdir etc/init.d
root@crazyrain:/home/share/busybox-1.20.2/_install# vim etc/init.d/rcS添加想要自动运行的程序:
#!/bin/shmount -a #挂载在etc/fstab中配置的挂载项mkdir /dev/pts #支持外部网络连接的虚拟终端telnetmount -t devpts devpts /dev/ptsecho /sbin/mdev > /proc/sys/kernel/hotplug #热插拔/sbin/mdev –s #在dev目录下生成内核支持的所有节点
8.由于使用了mount -a 必须创建etc/fstab文件
root@crazyrain:/home/share/busybox-1.20.2/_install# vim etc/fstab
# device mount-point type options dum fsck orderproc /proc proc defaults 0 0tmpfs /tmp tmpfs defaults 0 0sysfs /sys sysfs defaults 0 0tmpfs /dev tmpfs defaults 0 0proc:Linux
Sys: sysfs
9.busybox运行mdev创建所有设备节点之前,init进程需要dev/console和dev/null设备节点
root@crazyrain:/home/share/busybox-1.20.2/_install# mkdir dev
root@crazyrain:/home/share/busybox-1.20.2/_install# mknod dev/console c 5 1
root@crazyrain:/home/share/busybox-1.20.2/_install# mknod dev/null c 1 3
10.创建根文件系统其他目录
root@crazyrain:/home/share/busybox-1.20.2/_install# mkdir proc mnt tmp sys root
11.拷贝glibc库到lib目录
root@crazyrain:/home/share/busybox-1.20.2/_install# mkdir lib
root@crazyrain:/home/share/busybox-1.20.2/_install# cp /usr/local/arm/4.4.1/arm-none-linux-gnueabi/libc/lib/*so* lib/
0 0
- s5pv210 linux3.8.3内核移植之三:简单根文件系统制作
- s5pv210 linux3.8.3内核移植之四:使linux内核支持nfs文件系统
- 05-S3C2440学习之内核(移植)linux3.4.2移植(1)之简单移植+修改MTD分区+制作jffs2文件系统
- Linux3.5.2内核移植与文件系统制作
- 05-S3C2440学习之内核(移植)linux3.4.2移植(2)之yffs2文件系统移植+内核裁剪+内核制作补丁
- s5pv210 linux3.8.3内核移植之二:Uncompressing Linux... done, booting the kernel.问题解决
- s5pv210 linux3.8.3内核移植之一:编译体验
- linux内核移植和根文件系统制作(三)
- 移植linux3.4.2以及文件系统制作笔记
- s5pv210 内核移植与nfs文件系统笔记
- Linux内核移植和根文件系统制作
- Linux内核移植和根文件系统制作
- Linux内核移植和根文件系统制作
- Linux内核移植和根文件系统制作
- Linux内核移植和根文件系统制作
- Linux内核移植和根文件系统制作
- Linux内核移植和根文件系统制作
- Linux内核移植和根文件系统制作
- Codeforces Round #306 (Div. 2)B. Preparing Olympiad--状态压缩
- mysql的3306端口拒绝访问导致hive无法正常启动
- Loader API
- Java输入输出流总结
- Yii2的YiiBase自动加载类、引用文件(autoload)
- s5pv210 linux3.8.3内核移植之三:简单根文件系统制作
- 第一题
- 用callgraph生成的两张函数调用关系图
- Structual设计--总结
- 第二题
- Reverse Linked List II
- 【Treap】[NOI 2004]郁闷的出纳员
- MixtureComponent API
- 菜鸟级别存储过程mysql