mini2440 最小根文件系统制作和nfs启动
2014-05-19 17:14
344 查看
mini2440 内核启动后,可以用busybox制作一个简单的根文件系统并用nfs来启动该文件系统
启动mini2440, 按任意键进入uboot,按q键进入uboot命令行:
执行以下命令:
saveenv
从http://busybox.net/downloads/busybox-1.22.1.tar.bz2 下载busybox,然后解压缩并进入解压文件夹:
然后执行下面命令进行配置:
选择下面的选项:
其他选项选择默认即可。
然后进行编译和安装(安装到/home/host/nfs/mini2440/rootfs文件夹下):
然后进入rootfs文件夹,执行下面命令:
在etc/inittab文件中添加如下内容:
在etc/init.d/rcS文件中添加如下内容:
在etc/fstab文件中添加如下内容:
这样根文件系统就基本完成了,然后重启nfs服务器:
再重启mini2440就可以从nfs启动根文件系统了。
也可以制作yaffs镜像并烧写到nand flash:
从mini2440光盘中找到工具mkyaffs2image-128M(光盘中以压缩包方式存放于linux/mkyaffs2image.tgz),然后执行下面命令:
将rootfs.img拷贝到tftp文件夹,然后重启nfs服务器:
接着重启mini2440,进入uboot命令行,执行下面命令 :
但是最后一步烧写yaffs失败,提示“ 2621440 bytes written: ERROR"。
我之后修改成下面的命令就可以了(filesize 大小为2adc80):
但是之后我又试了一次,但再次烧写失败,不知道原因何在。
启动mini2440, 按任意键进入uboot,按q键进入uboot命令行:
执行以下命令:
set bootargs "noinitrd root=/dev/nfs rw nfsroot=192.168.211.2:/home/host/nfs/mini2440/rootfs ip=192.168.211.211 console=ttySAC0 init=/linuxrc"
saveenv
从http://busybox.net/downloads/busybox-1.22.1.tar.bz2 下载busybox,然后解压缩并进入解压文件夹:
tar xf busybox-1.22.1.tar.bz2 cd busybox-1.22.1/
然后执行下面命令进行配置:
make menuconfig
选择下面的选项:
Busybox Settings---> Build Options----> [*]Build BusyBox as a static binary (no shared fibs) (arm-linux-) Cross Compiler prefix Busybox Settings ---> Installation Options ---> Applets links (as soft-links) --> (/home/host/nfs/mini2440/rootfs)BusyBox installation prefix
其他选项选择默认即可。
然后进行编译和安装(安装到/home/host/nfs/mini2440/rootfs文件夹下):
make make install
然后进入rootfs文件夹,执行下面命令:
mkdir dev etc home lib mnt proc sys tmp var mkdir etc/init.d touch etc/inittab chmod +x etc/inittab touch etc/init.d/rcS chmod +x etc/init.d/rcS touch etc/fstab cd dev mknod ttySAC0 c 204 64 ln -s ttySAC0 console mknod null c 1 3 mknod mtdblock0 b 31 0 mknod mtdblock1 b 31 1 mknod mtdblock2 b 31 2 mknod mtdblock3 b 31 3 cd ../lib/
在etc/inittab文件中添加如下内容:
# System initialization. ::sysinit:/etc/init.d/rcS ::sysinit:/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r
在etc/init.d/rcS文件中添加如下内容:
#!/bin/sh mount -a
在etc/fstab文件中添加如下内容:
none /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0
这样根文件系统就基本完成了,然后重启nfs服务器:
/etc/init.d/nfs-kernel-server restart
再重启mini2440就可以从nfs启动根文件系统了。
也可以制作yaffs镜像并烧写到nand flash:
从mini2440光盘中找到工具mkyaffs2image-128M(光盘中以压缩包方式存放于linux/mkyaffs2image.tgz),然后执行下面命令:
mkyaffs2image-128M /home/host/nfs/mini2440/rootfs/ rootfs.img
将rootfs.img拷贝到tftp文件夹,然后重启nfs服务器:
/etc/init.d/tftp-hpa restart
接着重启mini2440,进入uboot命令行,执行下面命令 :
tftp 0x30008000 rootfs.img nand erase 0x560000 $filesize nand write.yaffs 0x30008000 0x560000 $filesize
但是最后一步烧写yaffs失败,提示“ 2621440 bytes written: ERROR"。
我之后修改成下面的命令就可以了(filesize 大小为2adc80):
nand erase 0x560000 2d0000 nand write.yaffs 0x30008000 0x560000 $filesize
但是之后我又试了一次,但再次烧写失败,不知道原因何在。
相关文章推荐
- mini2440下制作nfs启动的根文件系统
- mini2440 linux2.6 内核制作-nfs启动根文件系统
- beagelboard-xm上dvsdk移植4:sd卡启动脚本以及NFS文件系统的制作和配置
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(四制作根文件系统及通过NFS挂载文件系统)
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(四制作根文件系统及通过NFS挂载文件系统)
- qemu 模拟-arm-mini2440开发板-启动u-boot,kernel和nfs文件系统
- mini2440 -- 设置Kernel通过nfs方式启动文件系统
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(四制作根文件系统及通过NFS挂载文件系统)
- arm开发板最小文件系统的制作与nfs挂载方法
- 如何在ubuntu 12.04系统下通过vivi的命令行来启动mini2440的nfs网络文件系统
- qemu 模拟-arm-mini2440开发板-启动u-boot,kernel和nfs文件系统
- mini2440无盘启动------文件系统制作以及从u-boot启动无盘mini2440-----3
- Linux-2.6.32.2内核在mini2440上的移植---根文件系统制作(1)
- supervivi下从nfs文件系统启动
- Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(3)
- Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(2)
- 制作SD卡启动文件系统
- 制作文件系统之四:Ubuntu中NFS和TFTP服务的配置
- NFS无法启动根文件系统的解决
- 友善之臂 mini2440 root_qtopia 文件系统启动过程分析