S5PV210的根文件系统制作
一、移植BusyBox
1、下载BusyBox的源代码
下载地址:http://www.busybox.net/downloads/,此处下载busybox-1.20.2.tar.bz2。
2、解压并进入目录
#tar -xvf busybox-1.20.2.tar.bz2
#cd busybox-1.20.2
3、修改Makefile中的体系结构ARCH和交叉编译器前缀CROSS_COMPILE
#VIM Makefile
CROSS_COMPILE = arm-linux-
ARCH = arm
4、配置BusyBox
#make menuconfig
其他选项都是一些Linux基本命令选项,自己需要哪些命令就编译进去,一般用默认的就可以了,配值好后退出并保存。
5、编译BusyBox
#make -j 2
6、安装
#make install
在BusyBox-1.20.2目录下可以找到_install子目录,这就是刚才的安装目录。
7、分析
#ls -l /bin
#ls -l _install/bin
二、加入必要的目录与文件
1、改_install为mini_rootfs
#mv _install mini_rootfs
#cd mini_rootfs
下面的操作都是在mini_rootfs目录里进行的。
2、创建必要的目录和文件
建立一个名为create_rootfs.sh的脚本文件
#vim create_rootfs.sh
内容见下载链接中的create_rootfs.sh文件;
执行该脚本以生成必要的目录与文件:
#source create_rootfs.sh
#rm create_rootfs.sh
3、拷贝交叉编译器的动态链接库到lib目录
#cp /usr/local/arm/arm-2009q3/arm-none/linux/gnueabi/libc/armv4t/lib/*so* lib -rdf
4、对lib目录下的动态链接库进行裁剪
#arm-none-linux-gnueabi-strip lib/*so*
5、修改脚本文件
内容详见下载链接中的S5PV210的根文件系统制作.PDF文件
三、构建根文件系统
1、获得mkyaffs2image工具的源码包
下载地址:http://fatplus.googlecode.com/files/yaffs2-source.tar
2、编译mkyaffs2image工具
#tar xvf yaffs2-source.tar
#cd yaffs2/utils
#make
#cd mkyaffs2image /usr/local/bin
3、制作根文件系统镜像
回到busybox那个目录:
#mkyaffs2image mini_rootfs rootfs.img
四、根文件系统镜像rootfs.img下载与烧写
下面的操作在u-boot上进行:
SMDKV210#nand erase 0xe00000 0xF200000
SMDKV210#tftp 0x40000000 rootfs.img
SMDKV210#nand write.yaffs 0x40000000 0xe00000 0x6aa340
五、用户管理
六、NFS配置
1、#cp /root/build_rootfs/busybox-1.20.2/mini_rootfs/ / -rdf
2、#vi /etc/exports
内容如下:
/mini_rootfs *(rw,sync,no_root_squash)
启动NFS服务器:
#service nfs restart
3、测试NFS服务器
#mount -t nfs 192.168.0.41:/mini_rootfs /mnt
其中192.168.0.41是你的虚拟机系统的IP地址
#ls /mnt
#umount /mnt
4、配置内核以支持NFS启动
详细文档及源码下载链接:http://download.csdn.net/detail/klcf0220/5759771
S5PV210的根文件系统制作的更多相关文章
- linux根文件系统制作
在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误. 那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/l ...
- 嵌入式linux内核制作、根文件系统制作
嵌入式系统构成: 主要由bootloader.kernel.以及根文件系统三部分组成. 内核制作步骤: 制作嵌入式平台使用的linux内核制作方法与pc平台上的linux内核基本一致 1.清除原有配置 ...
- Yaffs2根文件系统制作
Yaffs2根文件系统制作 环境: 交叉编译环境:4.4.6 开发平台:s3c2416 1,编译busybox 获取busybox源码busybox-1.17.2.tar (http://www.bu ...
- 内核移植和文件系统制作(4):UBIFS根文件系统制作总结
UBIFS文件系统简介: 无排序区块图像文件系统(UnsortedBlock Image File System, UBIFS)是用于固态硬盘存储设备上,并与LogFS相互竞争,作为JFFS2的后继文 ...
- linux根文件系统制作,busybox启动流程分析
分析 busybox-1.1.6 启动流程,并 制作一个小的根文件系统 源码百度云链接:https://pan.baidu.com/s/1tJhwctqj4VB4IpuKCA9m1g 提取码 :l10 ...
- 根文件系统制作、NFS配置与安装及利用NFS挂载根文件系统
最近打算从头开始制作根文件系统,下面是开发过程. 一.根文件系统的制作 0.FHS(Filesystem Hierarchy Standard)标准介绍 该标准规定了根目录下各个子目录的名称及其存放的 ...
- linux根文件系统制作之busybox编译和系统构建【转】
转自:http://blog.chinaunix.net/uid-29401328-id-5019660.html 介绍完相关文件后我们开始构建文件系统,涉及到的文件等到具体用到的时候再讲. 一.编译 ...
- tiny4412u-boot烧写及根文件系统制作(不进入终端问题)
http://m.blog.csdn.net/article/details?id=51400196(转) VMware12 环境:ubuntu12.4 开发板:tiny4412 首先烧写bootlo ...
- 基于mini2440嵌入式Linux根文件系统制作(Initramfs和nfs两种跟文件系统)
嵌入式系统由三部分构成: 1.bootoader---bootparameters---2.kernel 3.Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫 ...
随机推荐
- 「THUPC2018」赛艇 / Citing
https://loj.ac/problem/6388 矩形匹配,小地图经过位置为1,和大地图匹配不能同时存在一个1的位置,就可以是一个当前位置 1.bitset压位,....O(n^2m^2/64) ...
- Java:终于找到了在alloy中的JFileChooser中的弹出式菜单不显示文字的解决办法
alloy界面可以说是我写过的最漂亮的一种JAVA界面. 可惜不知为什么,至从几年前推出1.4版后,就再也没有更新了. 随着java版本的升级,一直很担心alloy有一天不再适用于java的最新版. ...
- 增加swap分区,文件形式
查看swap a: sudo swapon -s b: free -m 文件方式: 1. 生成 生成一个1Gb(bs*count)的文件 [root@localhost ~]# dd if=/dev/ ...
- SQL Server 2008 数据库回滚到某个时间点
数据库回滚到时间的的前提: 事务日志完整,数据库在完整恢复模式下进行过一次完整备份,数据库没有进行过还原操作(惨痛教训). 当数据库误操作时,切记冷静,不然问题就是滚雪球, 在不做下一步错误前 可观 ...
- 20190408 XStream解析List
XStream解析List 使用的JavaBean 普通JavaBean public class Book { private String name; public Book() { } publ ...
- scatter
一.matplotlib.pyplot.scatter用来画散点图 import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcPar ...
- Python基础【day02】:元组和购物车练习的知识点
一.元组 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 用途:一般情况下用于自己写的程序能存下数据,但是又希望这些数据不会被改变,比如:数据库连接信息等 1.元 ...
- vue基础篇---生命周期
每个钩子函数都在啥时间触发 beforeCreate 在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用. created 实例已经创建完成之 ...
- mac下chrome快捷键
打开开发者工具:alt + command + I: 打开“JavaScript 控制台”:⌘-Option-J: 打开当前网页的源代码:⌘-Option-U: 刷新页面:command + R: m ...
- Spark记录-Scala程序例子(函数/List/match/option/泛型/隐式转换)
object func { def main(args:Array[String]):Unit={ //函数赋值给变量时, 必须在函数后面加上空格和下划线. def sayHello(name: St ...