Linux - ServerThis forum is for the discussion of Linux Software used in a server related context.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I am trying to pxeboot minimal CentOS. I basically installed the minimal CentOS on sda1 on my machine, used the comand 'dd' to make an initrd.img. It complained that it was too large when I tried to boot it so I used:
gzip < initrd.img > initrd-boot.img
Seems to be working fine though.
Here is my pxelinux.cfg file:
append initrd=/initrd2.img console=ttyS0 nodiskmount nolvmmount root=/dev/ram0 ramdisk_size=80000000 rootfstype=tmpfs init=/sbin/init
When I try to boot it though, I get an error saying:
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
I checked and my minimal install DOES contain /sbin/init so I'm just wondering why it refuses to work.
Do you have compiled support for the filesystem of the compressed image into your kernel (not as module)?
Otherwise you have a simple problem: The kernel can't run the init-process, just because it can't access the file-system.
Yes, that would be the fix if that is really the problem, which I think it. It may be that there are more problems when I take a look at the approach you have chosen, but this should be the first step.
Just in case anyone stumbles on this same problem, initrd needs to be in a CPIO archive! Let's assume in /home/LQ/src you have the root folders like usr, src, var, boot, etc. You'd have to use this command: