wyl_e 发表于 2010-11-12 23:16:31

用busybox自制文件系统, 在android kernel下启动, 无法正常启动

如题, 用busybox自制文件系统, 在android kernel下启动, 无法正常启动
BOOT参数如下:root=/dev/mtdblock2 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200
出现以下错误:
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 (yaffs2 filesystem) on device 31:2.
Freeing init memory: 140K
Warning: unable to open an initial console.

按照网上帖子的常用解决方法,
mknod -m 660 console c 5 1
mknod -m 660 null c 1 3
重新创建/dev/console /dev/null , 错误依旧.

文件系统配置如下:
.:
bindevetcinitliblinuxrcmntprocrootsbinsystmpusr

./bin:
addgroupdeluser      hostnamelsattr      pipe_progressstty
adduser   df             hush      lzop      printenv       su
ash       dmesg          ionice    makemime    ps             sync
busybox   dnsdomainnameip      mkdir       pwd            tar
cat       dumpkmap       ipaddr    mknod       reformime      touch
catv      echo         ipcalc    mktemp      rev            true
chattr    ed             iplink    more      rm             umount
chgrp   egrep          iproute   mount       rmdir          uname
chmod   false          iprule    mountpointrpm            usleep
chown   fdflush      iptunnelmt          run-parts      vi
cp      fgrep          kill      mv          scriptreplay   watch
cpio      fsync          linux32   netstat   sed            zcat
cttyhackgetopt         linux64   nice      setarch
date      grep         ln      pidof       sh
dd      gunzip         login   ping      sleep
delgroupgzip         ls      ping6       stat

./dev:
consolemtdblock0mtdblock1mtdblock2nullttySAC0

./etc:
fstabinit.dinittab

./etc/init.d:
rcS

./lib:
...............................................略

./mnt:

./proc:

./root:

./sbin:
...............................................略

./sys:

./tmp:

./usr:
binsbin

./usr/bin:
...............................................略

./usr/sbin:
.................................................略

修改启动参数, 故意将root指向mtdblock3,则报出不一样的错误
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs2 filesystem) on device 31:3.
Freeing init memory: 140K
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.

对比上面的错误看, root指向mtdblock2时,init操作没有报错,好像是yaffs文件系统 已经被正确的识别了, 本人菜鸟 , 不确定, 还请大虾指教.
如果yaffs文件系统 被识别了, 我又多次重新mknod /dev/console /dev/null, 为什么还是报Warning: unable to open an initial console.的错误呢?

飞凌-alexlee 发表于 2010-11-13 12:34:56

console, mknod的时候参数是什么?
另外看一下boot传给kernel的参数
页: [1]
查看完整版本: 用busybox自制文件系统, 在android kernel下启动, 无法正常启动