如何让自己编译的内核运行文件系统?
大家好:现在我利用自己编译的内核在skyeye上模拟ep9312时候,系统停在
No filesystem could mount root, tried:ext3 ext2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
我感觉问题是
initrd (0xc1000000 - 0xc1200000) extends beyond physical memory - disabling initrd
但现在我不知道如何解决这个问题。
下面是我发给maillist的信
hi all:
With the help of kang shuo, I can now use the skyeye run the linux kernel 2.6 compiled by myown. The target board is ep9312.
I use the skyeye.conf and initrd.img supplied by the testsuite in the ep9312 directory.
The skyeye stoped at the line:
No filesystem could mount root, tried:ext3 ext2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
and I think the reason is :
initrd (0xc1000000 - 0xc1200000) extends beyond physical memory - disabling initrd
but I don't know what causes the above error. The kernel line is the same as the runnable ep9312 kernel line.
And then, how to slove the problem? what is the reason ? how to make the skyeye read the filesystem?
thanks!
by the way, I have edited the ramdisk size, and it doesn't have effect.
If I don't select the initrd ramdisk in the make xconfig process, it will not appear the "initrd extends beyond physical memory "error, but still cannot run the filesystem.
The process is followed mentioned in:
http://lists.gro.clinux.org/pipermail/skyeye-developer/2007-May/001300.html
The below is the whole output of skyeye:
$ /home/dabao/SkyEye/skyeye_1_2_2_Rel/binary/skyeye -e vmlinux
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name ep9312, mach_init addr 0x8059160
uart_mod:0, desc_in:, desc_out:
SKYEYE: use arm920t mmu ops
Loaded RAM ./initrd.img
exec file "vmlinux"'s format is elf32-little.
load section .init: addr = 0xc0008000size = 0x00012000.
load section .text: addr = 0xc001a000size = 0x0014c6b8.
not load section .rodata: addr = 0xc0167000size = 0x00000000 .
not load section .pci_fixup: addr = 0xc0167000size = 0x00000000 .
not load section .rio_route: addr = 0xc0167000size = 0x00000000 .
load section __ksymtab: addr = 0xc0167000size = 0x00002768.
load section __ksymtab_gpl: addr = 0xc0169768size = 0x00000b78.
not load section __ksymtab_unused: addr = 0xc016a2e0size = 0x00000000 .
not load section __ksymtab_unused_gpl: addr = 0xc016a2e0size = 0x00000000 .
not load section __ksymtab_gpl_future: addr = 0xc016a2e0size = 0x00000000 .
not load section __kcrctab: addr = 0xc016a2e0size = 0x00000000 .
not load section __kcrctab_gpl: addr = 0xc016a2e0size = 0x00000000 .
not load section __kcrctab_unused: addr = 0xc016a2e0size = 0x00000000 .
not load section __kcrctab_unused_gpl: addr = 0xc016a2e0size = 0x00000000 .
not load section __kcrctab_gpl_future: addr = 0xc016a2e0size = 0x00000000 .
load section __ksymtab_strings: addr = 0xc016a2e0size = 0x000071a8.
load section __param: addr = 0xc0171488size = 0x000000c8.
load section .data: addr = 0xc0172000size = 0x00012378.
not load section .bss: addr = 0xc0184380size = 0x0000c44c .
not load section .comment: addr = 0x00000000size = 0x00001998 .
start addr is set to 0xc0008000 by exec file.
SKYEYE: write VIC0INTENABLE=0x0
Linux version 2.6.20.2 (dabao at localhost.localdomain) (gcc version 3.4.1) #20 Thu May 31 03:02:43 CST 2007
CPU: ARM920T revision 0 (ARMvundefined/unknown), cr=00003177
Machine: Cirrus Logic EDB9312 Evaluation Board
Warning: bad configuration page, trying to continue
Memory policy: ECC disabled, Data cache writeback
initrd (0xc1000000 - 0xc1200000) extends beyond physical memory - disabling initrd
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists.Total pages: 4064
Kernel command line: root=/dev/ram initrd=0xc1000000,0x200000 console=ttyAM0 rw
PID hash table entries: 64 (order: 6, 256 bytes)
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 16MB = 16MB total
Memory: 14636KB available (1376K code, 121K data, 72K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
ep93xx: PLL1 running at 14 MHz, PLL2 at 14 MHz
ep93xx: FCLK 14 MHz, HCLK 14 MHz, PCLK 14 MHz
NetWinder Floating Point Emulator V0.97 (extended precision)
io scheduler noop registered
io scheduler deadline registered (default)
ep93xx_wdt: EP93XX watchdog, driver version 0.3
Serial: AMBA driver $Revision: 1.41 $
apb:uart1: ttyAM0 at MMIO 0x808c0000 (irq = 52) is a AMBA
apb:uart2: ttyAM1 at MMIO 0x808d0000 (irq = 54) is a AMBA
apb:uart3: ttyAM2 at MMIO 0x808e0000 (irq = 55) is a AMBA
RAMDISK driver initialized: 16 RAM disks of 2048K size 1024 blocksize
loop: loaded (max 8 devices)
physmap platform flash device: 02000000 at 60000000
ep93xx-rtc ep93xx-rtc: rtc core: registered ep93xx as rtc0
ep93xx-rtc ep93xx-rtc: setting the system clock to 1970-01-01 00:00:00 (0)
No filesystem could mount root, tried:ext3 ext2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) 我也遇到了类似的问题,但是是在用自己编译出来的文件系统(通过genromfs工具)时出现的问题,问题如下:
...
RAMDISK: Loading 1638KiB into ram disk ... done.
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
...
请各位大侠指导一下。谢谢
页:
[1]