主题 : 求助!!! 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 7011
精华: 0
发帖: 8
金钱: 90 两
威望: 90 点
综合积分: 16 分
注册时间: 2009-06-28
最后登录: 2009-07-09
楼主  发表于: 2009-06-28 14:17

 求助!!!

我自己制作了一个根文件系统下载到开发板上出现如下错误:
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 128K
Warning: unable to open an initial console.
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
我的虚拟机配置Ubuntu 8.10 +gcc-4.3.2
内核使用的是从友善之臂下载的Linux-2.6.29.4
制作过程如下:
具体移植过程如下:
1. 创建必须的文件夹及设备文件
$ mkdir rootfs
$ cd rootfs
$ mkdir bin dev etc lib mnt proc sbin sys root

2. 创建设备文件系统
$sudo   mknod -m 660 dev/console c 5 1
$ sudo  mknod -m 660 dev/null c 1 3


3. 建立动态运行库
拷贝的是友善之臂的root_qtopia
$ cp -rfd /2440/root_qtopia/lib/* /2440/rootfs/lib/
拷贝经过交叉编译的库文件,参数-d,保持库文件的链接关系。
4. 交叉编译busybox
解压缩tar -zxf busybox1.13.3.tar
解压后修改Makefile,指明交叉编译器:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-

5.执行make CONFIG_PREFIX=/2440/rootfs install
在/2440/rootfs目录下生成sbin,usr目录和linuxrc文件
$sudo chmod 4755  rootfs/bin/busybox

网上说要修改busy的权限,否则在busybox中很多命令会受限制,比如:

$ su

su: must be suid to work properly


6.创建etc目录下文件
在rootfs/etc目录下创建一个inittab文件
内容如下:
# /etc/inittab
::sysinit:/etc/init.d/rcS
s3c2410_serial0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r

创建etc/init.d/rcS文件
#!/bin/sh
ifconfig eth0 192.168.1.17
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
最后还要改变它的属性使它能够执行。
chmod +x etc/init.d/rcS

创建etc/fstab文件
#device mount-point type options dump fack order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0

7.使用mkyaffsimgae命令生成yaffs映像文件
mkyaffsimage rootfs rootfs.yaffs
大概过程就是这样,希望高手能指点一下错误!!!谢谢!!
级别: 新手上路
UID: 7011
精华: 0
发帖: 8
金钱: 90 两
威望: 90 点
综合积分: 16 分
注册时间: 2009-06-28
最后登录: 2009-07-09
1楼  发表于: 2009-06-28 14:58
Warning: unable to open an initial console,这一行问题没有!!
级别: 新手上路
UID: 7011
精华: 0
发帖: 8
金钱: 90 两
威望: 90 点
综合积分: 16 分
注册时间: 2009-06-28
最后登录: 2009-07-09
2楼  发表于: 2009-06-28 14:58
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 128K
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.