On Sun, Apr 07, 2013 at 05:35:40PM +0800, Wang YanQing wrote: > On Sun, Apr 07, 2013 at 01:54:58PM +0800, Zhang Yanfei wrote: > > With no commandline, can the new kernel boot? > > I tried in my box and the new kernel just panicked for it cannot > > find a root= argument in its commandline. > I am sure the kernel boot, > rootfs_initcall(populate_rootfs) in initramfs.c > well populate the root fs, and there is a /init > in initramfs, this /init will mount the really > root device, and the system is running. Your kernel panic, because the below line in init/main.c failed: if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) kernel then run into prepare_namespace, but prepare_namespace failed too, then the kernel panic. I don't know why, but if rootfs_initcall(populate_rootfs) works ok, kernel don't need to call prepare_namespace, because the decompressed initramfs will become the root fs and sys_access will success. Sorry for I forget to mention my test kernel is v3.8.6, but if my memory don't lie me, I can boot v2.6.32 without a root= parameter, we had use v2.6.32 as product kernel still more than one year two years ago. Thanks