Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
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 apologize in advance if I've posted this to the wrong forum.
I'm having difficulty upgrading a pxebooted (syslinux) linux kernel from
version 2.4.31 to 2.6.13. Any 2.4.x kernel works fine, but nothing in the
2.6.x line does.
Here's how my pxebooted system boots:
1. PXE client loaded off boot rom DHCPs, gets ip configuration,
TFTP server address, and pxelinux bootloader filename.
2. PXE client TFTPs pxelinux.0, loads it into memory and jumps to it.
3. pxelinux.0 TFTPs syslinux config file, reads it, TFTPs an initrd
image specified in the kernel append line, loads the kernel and the
initrd image into memory, does more magic, then boots the linux kernel.
4. The linux kernel mounts it's /usr filesystem off the exported
read-only Debian /usr filesystem served from an NFS server.
5. The linux kernel mounts the initrd image as it's root filesystem, then
execs /linuxrc. linuxrc, a bash script, creates a tmpfs filesystem,
mounts it, uncompresses/untars a tarball out of /usr called
root.tar.gz. This is the client's root filesystem.
6. pivot_root is called to make the new tmpfs (dynamically sizeable
ramdisk) the new root filesystem. It is mounted read-write.
7. Booting continues (init scripts are called, etc.).
Between steps six and seven, within the linuxrc script, the following
lines are run:
1. # Switch roots and run init
2. cd /ram
3. echo 1 > /ram/fastboot
4. pivot_root . initrd
5. exec sbin/init "$@" <> /dev/console 2>&1
After line five is run w/ kernel v. 2.6.13 it hangs with the
following message on the console:
/linuxrc: /dev/console: Device not configured
Kernel panic - not syncing: Attempted to kill init!
Both the `stub' dev filesystem in my initrd has a /dev/console and so
does the NFS mounted root filesystem. FWIW, I config'd the 2.6.13 kernel
using `make oldconfig' from my 2.4.31 kernel, all drivers are compiled
into the kernel, and the Debian distro is Sarge.