QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3680|回复: 1

如何让自己编译的内核运行文件系统?

[复制链接]
发表于 2007-6-1 19:19:25 | 显示全部楼层 |阅读模式
大家好:
现在我利用自己编译的内核在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:

[dabao at localhost 2.6.x]$ /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 = 0xc0008000  size = 0x00012000.
load section .text: addr = 0xc001a000  size = 0x0014c6b8.
not load section .rodata: addr = 0xc0167000  size = 0x00000000 .
not load section .pci_fixup: addr = 0xc0167000  size = 0x00000000 .
not load section .rio_route: addr = 0xc0167000  size = 0x00000000 .
load section __ksymtab: addr = 0xc0167000  size = 0x00002768.
load section __ksymtab_gpl: addr = 0xc0169768  size = 0x00000b78.
not load section __ksymtab_unused: addr = 0xc016a2e0  size = 0x00000000 .
not load section __ksymtab_unused_gpl: addr = 0xc016a2e0  size = 0x00000000 .
not load section __ksymtab_gpl_future: addr = 0xc016a2e0  size = 0x00000000 .
not load section __kcrctab: addr = 0xc016a2e0  size = 0x00000000 .
not load section __kcrctab_gpl: addr = 0xc016a2e0  size = 0x00000000 .
not load section __kcrctab_unused: addr = 0xc016a2e0  size = 0x00000000 .
not load section __kcrctab_unused_gpl: addr = 0xc016a2e0  size = 0x00000000 .
not load section __kcrctab_gpl_future: addr = 0xc016a2e0  size = 0x00000000 .
load section __ksymtab_strings: addr = 0xc016a2e0  size = 0x000071a8.
load section __param: addr = 0xc0171488  size = 0x000000c8.
load section .data: addr = 0xc0172000  size = 0x00012378.
not load section .bss: addr = 0xc0184380  size = 0x0000c44c .
not load section .comment: addr = 0x00000000  size = 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 [41009200] 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)
发表于 2007-11-20 14:34:14 | 显示全部楼层
我也遇到了类似的问题,但是是在用自己编译出来的文件系统(通过genromfs工具)时出现的问题,问题如下:
...
RAMDISK: Loading 1638KiB[1 disk] into ram disk ... done.
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
...
请各位大侠指导一下。谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-23 01:29 , Processed in 0.067993 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表