(已解决)skyeye上的armlinux的启动init出错
我用的开发环境:redhat9,armlinux2.4.18-rmk7+bysybox1.01+arm-linux-我建了一个ext2的ram文件initrd,然后建立的相应的目录,内核编译和busybox编译通过,但是启动armlinux的时候,提示找不到init。启动信息如下:
kyEyeSimulator Ver 0.9.8 withGDB/Insight 5.3 Interface ****
**** ****
***********************************************************************
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.Type "show warranty" for details.
This SkyEye was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...
(no debugging symbols found)...
(SkyEye) target sim
cpu info: armv4, arm720t, 41807200, ffffff00, 1
mach info: name ep7312, mach_init addr 0x8163be0
SKYEYE: use arm7100 mmu ops
Loaded RAM ./initrd
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xd000 vma 0xc0028000
Loading section .text, size 0xef28c vma 0xc0035000
Loading section __ex_table, size 0x6e8 vma 0xc0124290
Loading section .data, size 0xafc3 vma 0xc0126000
Start address 0xc0028000
Transfer rate: 8636856 bits in <1 sec.
(SkyEye) r
Starting program: /opt/linux/vmlinux
Linux version 2.4.18-rmk7 (root@localhost) (gcc version 3.1.1) #1 一 1月 9 21:20:58 CST 2006
CPU: ARM ARM720T revision 0
Machine: Cirrus Logic 7212/7312
Warning: bad configuration page, trying to continue
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/ram init=/linuxrc console=ttyAM0,9600
Calibrating delay loop... 26.00 BogoMIPS
Memory: 16MB = 16MB total
Memory: 12864KB available (956K code, 184K data, 52K init)
Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode-cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
ttyAM0 at I/O 0x100 (irq = 12) is a CLPS711x
ttyAM1 at I/O 0x1100 (irq = 28) is a CLPS711x
pty: 256 Unix98 ptys configured
block: 64 slots per queue, batch=16
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 2048)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 2048 blocks into ram disk... done.
Freeing initrd memory: 2048K
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 52K
Kernel panic: No init found.Try passing init= option to kernel.
我想请教各位大虾,armlinux启动时的init是不是用的是busybox下面的那个init?如果是的话,为什么找不到呢?我的busybox的init是正确安装在/sbin/下面的,而且也是正确链到busybox上的。
紧急求助阿!!!
谢谢!!! replace :
Kernel command line: root=/dev/ram init=/linuxrc console=ttyAM0,9600
to :
Kernel command line: root=/dev/ram console=ttyAM0,9600
then try again 斑竹,我试过了。还是一样的错误。不知道有哪位用:
Kernel command line: root=/dev/ram console=ttyAM0,9600 成功过?我怀疑busybox本身的init有问题,不能用。
现在这个问题我已经解决了,修改如下:
Kernel command line: root=/root/initrd console=ttyAM0,9600
即:用我的/文件系统来运行Init,成功进入busybox。用initrd来运行Init也是busybox的配置选项。
注:initrd是我建的ext2文件系统的img文件。
遗留问题:怎么才能让busybox的/sbin/init可以正常运行??????????
还请指教!!!!! 现在我已成功在skyeye下运行了armlinux+busybox,这期间我也遇到了很多问题。下一步准备整理一下自己的资料,希望能对面临同样问题的一些参考!
另外,我发点牢骚:《源码开放的嵌入式系统软件分析与实践》那本书,本身其实还是不错的。不过的却有些零乱,比如,我在编译armlinux的时候,光看那一节的介绍根本编译不成功,希望斑竹能够对armlinux ,uc,uII,busybox的编译和配置,在网上能够集中详细介绍一下。这样大家就能快速的建立起这个开发环境。。。。我的一点点感想!
页:
[1]