
Hi, I have managed to get my iMac to netboot the Linux kernel. The kernel seems to load fine, but stops with a kernel panic as it can't mount the root filesystem. I'm using the default 2.4 kernel from Debian 3.0. As per the instructions for yaboot (the Open Firmware boot loader that LinuxPPC uses), i set "root=/dev/nfs". Is this what i'm supposed to do to get / mounted via NFS? Is this a sign the kernel doesn't have nfsroot support? I found a web page that suggested i add "fsroot=$SERVER:/export/root", but that didn't help. Does anyone have any ideas? Thanks, Jon

Hi,
I have managed to get my iMac to netboot the Linux kernel. The kernel seems to load fine, but stops with a kernel panic as it can't mount the root filesystem. I'm using the default 2.4 kernel from Debian 3.0. As per the instructions for yaboot (the Open Firmware boot loader that LinuxPPC uses), i set "root=/dev/nfs". Is this what i'm supposed to do to get / mounted via NFS? Is this a sign the kernel doesn't have nfsroot support? I found a web page that suggested i add "fsroot=$SERVER:/export/root", but that didn't help. Does anyone have any ideas?
The Wiki has some notes on netbooting, under a variety of nodes. http://www.wlug.org.nz/NFSRoot is probably a good one to start at. A quick check of the config file for Debian 3.0's 2.4 kernel (2.4.18-bf2.4) shows that it doesn't have CONFIG_ROOT_NFS set, so I guess that's the current problem. As the page also says, your kernel options as above are right, but it might pay to set ip=dhcp as well.

The Wiki has some notes on netbooting, under a variety of nodes.
http://www.wlug.org.nz/NFSRoot
is probably a good one to start at.
A quick check of the config file for Debian 3.0's 2.4 kernel (2.4.18-bf2.4) shows that it doesn't have CONFIG_ROOT_NFS set, so I guess that's the current problem. As the page also says, your kernel options as above are right, but it might pay to set ip=dhcp as well.
Once you get nfsroot support into the kernel, you also need to tell it that it's root is an nfs device (the root=/dev/nfs you had) and where to mount the root. So, you need a kernel command line something like the following: root=/dev/nfs nfsroot=<server ip>:<root filesystem export point> ip=dhcp The ip=dhcp tells the kernel to get it's IP address via dhcp, not bootp or something else. You will also need to make sure that you have "kernel level autoconfiguration" (or something similar) set in the kernel build as well as compiling your network card driver into the kernel, not as a module (or, you have to muck around with initrd's as well !). Jamie

Quoting Jamie Curtis <jamie(a)pointless.co.nz>:
Once you get nfsroot support into the kernel, you also need to tell it that it's root is an nfs device (the root=/dev/nfs you had) and where to mount the root. So, you need a kernel command line something like the following:
root=/dev/nfs nfsroot=<server ip>:<root filesystem export point> ip=dhcp
The ip=dhcp tells the kernel to get it's IP address via dhcp, not bootp or something else. You will also need to make sure that you have "kernel level autoconfiguration" (or something similar) set in the kernel build as well as compiling your network card driver into the kernel, not as a module (or, you have to muck around with initrd's as well !).
I did a debian install the a firewire drive (difficult as you need to mount the root filesystem before installing the modules needed to access a firewire drive), compiled a kernel with the above options, copied it to the server and booted into Linux. Then i deleted the /etc/mtab file i'd copied to the server, checked the NFSRoot wiki page when i still had a read only filesystem, editted /etc/fstab to set the root filesystem to be rw and here i am, running Mozilla on X. Next step, Debian unstable and kernel 2.6. Thanks for all your help, Jon

* Jonathan Purvis <jon(a)purvis.co.nz> [2004-05-14 13:20]:
(difficult as you need to mount the root filesystem before installing the modules needed to access a firewire drive)
Sounds like a case for initrd -- or for compiling the modules into the kernel. Am I wrong, is that what you did, or did you do it some other way? It might be worth wikiing this, y'know. ;-) -- Regards, Aristotle "If you can't laugh at yourself, you don't take life seriously enough."

Quoting "A. Pagaltzis" <pagaltzis(a)gmx.de>:
(difficult as you need to mount the root filesystem before installing the modules needed to access a firewire drive)
Sounds like a case for initrd -- or for compiling the modules into the kernel. Am I wrong, is that what you did, or did you do it some other way?
initrd or recompiling the kernel would most likely have needed an existing Debian powerpc install, which i didn't have. So i just mounted a directory via NFS as the root. The installer then unpacked the modules there, i installed the modules and remounted /target.
It might be worth wikiing this, y'know. ;-)
I'm planning to.

On Fri, May 14, 2004 at 07:55:16AM +1200, Jonathan Purvis wrote:
Hi,
nfsroot support? I found a web page that suggested i add "fsroot=$SERVER:/export/root", but that didn't help. Does anyone have any ideas?
Is your server actually exporting the mac root stuff on an nfs partition exported as "/export/root" ? Try replacing "/export/root" to a real path being exported by your nfs server. John
participants (5)
-
A. Pagaltzis
-
Daniel Lawson
-
Jamie Curtis
-
John R. McPherson
-
Jonathan Purvis