Chinaunix首页 | 论坛 | 博客
  • 博客访问: 498764
  • 博文数量: 223
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2145
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-01 10:23
个人简介

该坚持的时候坚持,该妥协的时候妥协,该放弃的时候放弃

文章分类

全部博文(223)

文章存档

2017年(56)

2016年(118)

2015年(3)

2014年(46)

我的朋友

分类: 嵌入式

2016-10-27 23:26:56

1.1创建目录
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin sys usr mnt tmp var
#mkdir usr/bin usr/lib usr/sbin lib/modules
1.2 创建设备文件
#cd rootfs/dev
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3
1.3 加入配置文件
#tar etc.tar.gz
#mv etc/*…/root/etc/ -rf
1.4添加内核模块
#cd…/linux
#make modules ARCH=arm CROSS_COMPILE=arm-linux-
#make modules_install ARCH=arm INSTALL_MOD_PATH=…/rootfs
1.5编译/安装busybox
1.配置busybox
#make menuconfig
Busybox Settingsàbuild Options->
 选中 “Build busybox as a static binary”,静态链接
Cross Compiler prefix (arm-linux-)
Installation Options->
 选中 “Don‘t use /usr”,选中该项可以避免busybox被安装到宿主系统的
/usr目录下,破坏宿主系统
 Busybox Installation Prefix (/xxx/rootfs)
该选项表明编译后的busybox的安装位置
2.编译、安装busybox
 make
 make install
2.1文件系统类型
根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为 RAM 和 FLASH,常用的基于存储设备的文件系统类型包括:jffs2, yaffs2, ubifs, ramdisk等。

2.2 使用Initramfs
1. #cd …/rootfs/
#ln –s ./bin/busybox init
2. 配置Linux内核,支持initramfs
并将下面一行地址填写为制作的文件系统地址。
3. 编译内核
4. setenv bootargs noinitrd console=ttySAC0,115200

2.3 使用NFS
使用nfs,需要去掉initramfs选项。并且在文件系统中的nfs中选择root file system on NFS。
开发板中的修改:
setenv bootargs noinitrd
console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.1.3:/home/S5-driver/lesson9/rootfs,proto=tcp,nfsvers=3 ip=192.168.1.6:192.168.1.3:192.168.1.1:255.255.255.0::eth0:off
nfsroot:是nfs服务器的地址,后面连的是目录地址
ip:是开发板的地址:nfs服务器的地址:网关:掩码:开发板别名:写个eth0:关闭自动获取地址等

遇到的问题:
开发板tftp 下载后bootm启动提示:

Root-NFS: Server returned error -13 while mounting /home/doctmp/part4/rootfs


原来/etc/exports里面的括号写成中文了。
阅读(618) | 评论(0) | 转发(0) |
0

上一篇:Linux内核制作

下一篇:Linux内核模块开发

给主人留下些什么吧!~~