Re: qemu initrd and ide support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Aurelien Jarno a écrit :
The initrd seems to works well, but it generates a strange failure during the boot:

[...]
Mount-cache hash table entries: 512
Checking for 'wait' instruction...  available.
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Bad page state in process 'swapper'
page:81010000 flags:0x00080000 mapping:00000000 mapcount:0 count:0
Trying to fix it up, but a reboot is needed
Backtrace:
Call Trace:
 [<8005c748>] bad_page+0x68/0xa8
 [<8005ccf0>] free_hot_cold_page+0x1a4/0x1b4
 [<802a0000>] ic_bootp_recv+0x238/0x6a0
 [<80080138>] __fput+0x14c/0x1cc
 [<8001b094>] free_init_pages+0xa4/0xfc
 [<802a0000>] ic_bootp_recv+0x238/0x6a0
 [<802a0000>] ic_bootp_recv+0x238/0x6a0
 [<802a0000>] ic_bootp_recv+0x238/0x6a0
 [<80288d98>] free_initrd+0x28/0x44
 [<80288e80>] populate_rootfs+0xcc/0x110
 [<80292860>] spawn_softlockup_task+0x30/0x50
 [<80010498>] init+0x54/0x300
 [<80010498>] init+0x54/0x300
 [<80013074>] kernel_thread_helper+0x10/0x18
 [<80013064>] kernel_thread_helper+0x0/0x18

Freeing initrd memory: 2520k freed
NET: Registered protocol family 16
NET: Registered protocol family 2
[...]

This message is not present when initrd is not used, and it also does not appear with the previous way of passing the size and location of the initrd.

I don't have time to look more now, I will give you some more details when/if I found some time to work on that.


This failure is due to the fact that initrd_reserve_bootmem is not set anymore to 1 in arch/mips/kernel/setup.c. It is set to 1 when the initrd location and size are read from the command line arguments, but not when read from the place where QEMU put it.

Setting this value to 1 fixes the problem, but it is rather a big hack than a fix.

About the patch itself, another comment: you should add a #ifdef CONFIG_BLK_DEV_INITRD #endif for the block concerning the initrd in arch/mips/qemu/q-firmware.c

Bye,
Aurelien

--
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@xxxxxxxxxx         | aurelien@xxxxxxxxxxx
   `-    people.debian.org/~aurel32 | www.aurel32.net


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux