[mythtv-users] Semi-OT - Netboot a mythfrontend?

Philip Nelson phatfil at optusnet.com.au
Fri Nov 26 22:59:10 UTC 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> Thanks for those pointers.  I had the client made up from the
> system-config-netboot point in about an hour.  I've almost got this
> dumb netbooting pc working (I think).  When the client tried to load,
> it got along pretty far until I hit this:
>
> kernel panic: No init found.  Try passing init= option to kernel
>

I have a couple of diskless machines that I netboot as mythfrontends, but it 
sounds like I may have gone about it a slightly different way from you. I've 
done it from a Debian system. I'll tell you the basic steps that I did to get 
it working, not sure if it's relevant to your setup though.

1. On the NFS server machine, create a root filesystem, in my case 
in /var/lib/diskless/default/root. On Debian this is very easy to do, you 
just do a base install to a fresh directory. I also created 
separate /etc, /var and /tmp for each machine that will be doing a netboot. 
So my common root directory is /var/lib/diskless/default/root/, which is 
exported as an NFS share to the whole network. I also then 
have /var/lib/diskless/default/192.168.0.2, /var/lib/diskless/default/192.168.0.3 
and so on (which contain /etc, /var and /tmp specific for those machines), 
which are just exported to the relevant machines.

2. Create a kernel for these machines. I was able to create the one common one 
for all of them (2.6.9) - I guess you've already done this step? If you need 
help with this step I can tell you the kernel options you're going to need 
for a netboot.

3. Set up tftp and dhcpd so the server machine will give the diskless clients 
ips/and a boot loader. I tried to use tftp to send the kernel image directly, 
but couldn't get the kernel under 640KB, so ended up use pxelinux, a 
bootloader which is then able to fetch the larger kernel image. So, dhcpd 
tells the clients to use /tftpboot/pxelinux.0, then in the config for 
pxelinux I tell it the kernel is /tftp/boot/vmlinuz-common (the kernel image 
for all my diskless machines). Kernel parameters that I pass are just 
"ip=dhcp nfsroot=192.168.0.1:/var/lib/diskless/default/root".

So the client machine boots, gets it's IP from DHCP, finds out it needs to 
retrieve /tftpboot/pxelinux.0 from 192.168.0.1, boots that, which in turn 
gets /tftpboot/vmlinuz-common, and everything runs fine from there. If you 
can get a kernel < 650KB, you can make do without pxelinux and things will be 
a bit simpler.

Hope this helps,
Philip
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBp7VBxIxNqC2kQ1MRAjMpAJ4zlf9no2c3mbjRS4r8geRuSW1G5QCgiz4r
eHRakwcOWWw7e21SidlHIhE=
=FD+I
-----END PGP SIGNATURE-----


More information about the mythtv-users mailing list