[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