[arch-general] Building netboot images

Nilesh Govindarajan lists at itech7.com
Mon Mar 8 15:02:18 CET 2010


On Mon, Mar 8, 2010 at 12:41 PM, Piyush P Kurur <ppk at cse.iitk.ac.in> wrote:
>
> Hi,
>
>        I would like to create a (custom) netboot install image of
> archlinux to facilitate installation within our department. I have
> few queries regarding the corresponding mkinitcpio.conf.
>
> 1. How do I use custom hooks together with standard hooks *without*
>   installing them in /lib/initcpio/install. Or in other words can I
>   configure mkinitcpio to look for hooks in other locations besides
>   the standard locations.
>
>   There are two options that I can think of both of which looks
>   ugly to me.
>
>   * install custom hooks in the standard location
>     /lib/initcpio/install.  I would don't like this because I don't
>     want to mess up the standard directory for testing these hooks.
>
>   * copy all the hooks in the standard location to a new
>     location. Install the custom hooks there as well and set the
>     mkinitcpio to look at this new location. There does not seem to
>     be an option for this, I might be stupid not to spot it, but
>     appropriate fakeroot + chroot can make this work
>
> 2. I would like to have the minimal set of packages on the netboot image to
>   reduce size. The actual installation will be from the local mirror of course
>   but some packages are needed to start the process. What is the suggested
>   package set ? Is the whole of base okey or is it an overkill?
>
> 3. How does one provide standard packages on the rootdir. I would
>   assume the initial ramdisk should act as the actual root during the
>   entire installation process (I don't want the NFS mounting mess).
>
>   The algorithm seems like
>
>   (1) install the appropriate packages via pacman --root /foo
>
>   (2) get the entire subtree on to the initial ramdisk.
>
>   For step 2, I would need to set BINARIES and FILES of
>   mkinitcpio.conf appropriately. I would rather enjoy Vogon
>   poetry. Is there a better way?
>
>
> Regards,
>
> ppk

What I suggest is this -
http://wiki.archlinux.org/index.php/Diskless_network_boot_NFS_root

In the above step, use a statically compiled kernel with minimal
requied drivers (including the FS which you plan to use) and put it on
NFS root.

Then once you've booted on the client machine. Then follow this -

mkdir /tmp/foo
mount <local-disk> /tmp/foo
pacman -r /tmp/foo -S base

You could also write a shell script which does this job. So just run
it as root when you boot into the client machine.

But for shell script one point needs to be made clear that the device
names /dev/sdXY or /dev/hdXY must be same else you'll end up
formatting some other disk.

--
Nilesh Govindarajan
Site & Server Administrator
www.itech7.com


More information about the arch-general mailing list