busybox移植yaffs2根文件系统
2011-06-21 21:54
489 查看
步骤:
1、下载yaffs2源码(http://www.aleph1.co.uk/gitweb?p=yaffs2/.git;a=summary)
2、解压
#tar xvf yaffs2-912be3d.tar.gz
#cd yaffs2-912be3d
2、给linux内核打补丁
#./patch-ker.sh c m /home/workspace/share/sourceinsight/linux/linux-2.6.38.5
3、配置内核增加对yaffs2的支持
File systems --->
[*] Miscellaneous filesystems --->
<*> YAFFS2 file system support
-*- 512 byte / page devices
[ ] Use older-style on-NAND data format with pageStatus byte
[ ] Lets Yaffs do its own ECC
-*- 2048 byte (or larger) / page devices
[*] Autoselect yaffs2 format
[ ] Disable lazy loading
[ ] Turn off wide tnodes
166c9
[ ] Force chunk erase check
[*] Cache short names in RAM
4、编译烧进目标板
5、制作根文件夹
#mkdir my_rootfs
#cd my_rootfs
#mkdir root dev etc boot tmp var sys proc lib mnt home
#mkdir etc/init.d etc/rc.d etc/sysconfig
#mkdir usr/sbin usr/bin usr/lib usr/modules
#mknod -m 600 dev/console c 204 64 (非常重要,busybox是虚拟串口平台)
#mknod -m 600 dev/null c 1 3
#mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
#mkdir var/lib var/lock var/run var/tmp
#chmod 1777 tmp
#chmod 1777 var/tmp
5、下载busybox (http://www.busybox.net/downloads/)
6、解压进入工作目录
#tar jxvf busybox-1.13.3.tar.bz2
#cd busybox-1.13.3
#make menuconfig
7、busybox配置
Busybox settings-->
Build Options-->
[*]Build BusyBox as a static binary (no shared libs)
Busybox Library Tuning-->
Command line editing-->
[*]Fancy shell prompts
Linux Module Utilities --->
(/lib/modules) Default directory containing modules
(modules.dep) Default name of modules.dep
[ ] Simplified modutils
[*] insmod
[*] rmmod
[*] lsmod
[*] modprobe
保存,退出。
8、编译和安装Busybox
#vi Makefile
#vi etc/init.d/rcS
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S //运行的级别
prevlevel=N
umask 022 //文件夹的掩码
export PATH runlevel prevlevel
echo"--------- mount all--------"
mount -a //挂载/etc/fstab/文件指定的所有的文件系统
echo /sbin/mdev>/proc/sys/kernel/hotplug
mdev -s
echo "*************************"
echo "**********************lensens ARM**************"
echo "Kernel version:linux-2.6.38.5"
echo "Date:2011,6,21"
echo "***********************"
/bin/hostname lensens
保存退出
#chmod +x etc/init.d/rcS(重要)
#vi etc/fstab
#device mount-point type option dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
none /tmp ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
mdev /dev ramfs defaults 0 0
保存退出
#vi etc/profile
#Ash profile
#vim:syntax=sh
#No core file by defaults
#ulimit -S -c 0>/dev/null 2>&1
USER="id -un"
LOGNAME=$USER
PS1='[/u@/h=W]#'
PATH=$PATH
HOSTNAME='/bin/hostname'
export USER LOGNAME PS1 PATH
10、 制作根文件系统映像文件
使用mkyaffs2image-128(友善提供)
#mkyaffs2image my_rootfs rootfs.img
11、下载到目标板,运行可看到这一行就OK
Please press Enter to activate this console.
1、下载yaffs2源码(http://www.aleph1.co.uk/gitweb?p=yaffs2/.git;a=summary)
2、解压
#tar xvf yaffs2-912be3d.tar.gz
#cd yaffs2-912be3d
2、给linux内核打补丁
#./patch-ker.sh c m /home/workspace/share/sourceinsight/linux/linux-2.6.38.5
3、配置内核增加对yaffs2的支持
File systems --->
[*] Miscellaneous filesystems --->
<*> YAFFS2 file system support
-*- 512 byte / page devices
[ ] Use older-style on-NAND data format with pageStatus byte
[ ] Lets Yaffs do its own ECC
-*- 2048 byte (or larger) / page devices
[*] Autoselect yaffs2 format
[ ] Disable lazy loading
[ ] Turn off wide tnodes
166c9
[ ] Force chunk erase check
[*] Cache short names in RAM
4、编译烧进目标板
5、制作根文件夹
#mkdir my_rootfs
#cd my_rootfs
#mkdir root dev etc boot tmp var sys proc lib mnt home
#mkdir etc/init.d etc/rc.d etc/sysconfig
#mkdir usr/sbin usr/bin usr/lib usr/modules
#mknod -m 600 dev/console c 204 64 (非常重要,busybox是虚拟串口平台)
#mknod -m 600 dev/null c 1 3
#mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
#mkdir var/lib var/lock var/run var/tmp
#chmod 1777 tmp
#chmod 1777 var/tmp
5、下载busybox (http://www.busybox.net/downloads/)
6、解压进入工作目录
#tar jxvf busybox-1.13.3.tar.bz2
#cd busybox-1.13.3
#make menuconfig
7、busybox配置
Busybox settings-->
Build Options-->
[*]Build BusyBox as a static binary (no shared libs)
Busybox Library Tuning-->
Command line editing-->
[*]Fancy shell prompts
Linux Module Utilities --->
(/lib/modules) Default directory containing modules
(modules.dep) Default name of modules.dep
[ ] Simplified modutils
[*] insmod
[*] rmmod
[*] lsmod
[*] modprobe
保存,退出。
8、编译和安装Busybox
#vi Makefile
CROSS_COMPILE ?=arm-none-linux-gnueabi- //大约在164行
ARCH ?=arm
修改 保存退出
#make CONFIG_PREFIX=/home/workspace/share/rootfs/my_rootfs install
9、编写一个相关文件
#cd my_rootfs
#vi etc/inittab
console::sysinit:/etc/init.d/rcS s3c2410_serial0::askfirst:-/bin/sh
tty1::askfirst:-/bin/sh
tty2::askfirst:-/bin/sh
tty3::askfirst:-/bin/sh
tty4::askfirst:-/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r
#vi etc/init.d/rcS
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S //运行的级别
prevlevel=N
umask 022 //文件夹的掩码
export PATH runlevel prevlevel
echo"--------- mount all--------"
mount -a //挂载/etc/fstab/文件指定的所有的文件系统
echo /sbin/mdev>/proc/sys/kernel/hotplug
mdev -s
echo "*************************"
echo "**********************lensens ARM**************"
echo "Kernel version:linux-2.6.38.5"
echo "Date:2011,6,21"
echo "***********************"
/bin/hostname lensens
保存退出
#chmod +x etc/init.d/rcS(重要)
#vi etc/fstab
#device mount-point type option dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
none /tmp ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
mdev /dev ramfs defaults 0 0
保存退出
#vi etc/profile
#Ash profile
#vim:syntax=sh
#No core file by defaults
#ulimit -S -c 0>/dev/null 2>&1
USER="id -un"
LOGNAME=$USER
PS1='[/u@/h=W]#'
PATH=$PATH
HOSTNAME='/bin/hostname'
export USER LOGNAME PS1 PATH
10、 制作根文件系统映像文件
使用mkyaffs2image-128(友善提供)
#mkyaffs2image my_rootfs rootfs.img
11、下载到目标板,运行可看到这一行就OK
Please press Enter to activate this console.
相关文章推荐
- 利用Busybox移植Yaffs2根文件系统
- 使用Busybox1.13.3制作yaffs2根文件系统
- initramfs文件系统的制作及yaffs2根文件系统制作(busybox-1.20.2)
- 使用Busybox1.13.3制作 yaffs2根文件系统
- Busybox1.13.3制作yaffs2根文件系统(静态和动态)
- #嵌入式Linux最小系统移植# yaffs2根文件系统移植出错记录
- FL2440之yaffs2根文件系统移植
- Busybox1.13.3制作yaffs2根文件系统(静态和动态)
- Linux3.6.7在OK6410平台的移植(四)搭建YAFFS2根文件系统
- 使用busybox构建yaffs2根文件系统(前言)
- Yaffs2根文件系统移植
- Yaffs2根文件系统移植
- 使用busybox构建yaffs2根文件系统(前言)
- yaffs2根文件系统的制作安装(附:出现的问题[drivers/video/console/vgacon.o] error 1)
- 构建yaffs2根文件系统
- 基于S3C2440的busybox的移植 yaffs根文件系统制作
- 移植内核之支持Yaffs文件系统
- 一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr
- 基于busybox1.19.3移植yaffs2文件系统至OK6410A开发板
- 【TINY4412】LINUX移植笔记:(2)BusyBox制作最小文件系统