Mount the image ( as /mnt/cd-16.0)
mkdir /mnt/cd-16.0
mount Leap-16.0-online-installer-x86_64.install.iso /mnt/cd-16.0
You can find the linux and initrd files you need to boot it under:
/mnt/cd-16.0/boot/x86_64/loader/
Copy those to your tftp boot server.
Mount the squashfs.img (in the cd image):
mkdir /mnt/squashfs-16.0
mount /mnt/cd-16.0/LiveOS/squashfs.img /mnt/squashfs-16.0
Mount the rootfs.img (in the squashfs image):
mkdir /mnt/rootfs-16.0
mount /mnt/squashfs-16.0/LiveOS/rootfs.img /mnt/rootfs-16.0
Copy the contents of /mnt/rootfs-16.0/ to your nfs server share, I use the folder /export/boot/net-install-opensuse-16.0/READONLY
(but it could be something else - last directory must be /READONLY, or the below will be very hard to follow):
mkdir -p /export/boot/net-install-opensuse-16.0/READONLY
cp -a /mnt/rootfs-16.0/. /export/boot/net-install-opensuse-16.0/READONLY/.
Make links in READONLY for the moved folders:
cd /export/boot/net-install-opensuse-16.0/READONLY
ln -si ../* .
(DO NOT replace existing folders).
rm READONLY OVERLAY
(This is to make sure links in the subfolders of READONLY/ work).
In /export/boot/net-install-opensuse-16.0/, create the folder OVERLAY/:
mkdir /export/boot/net-install-opensuse-16.0/OVERLAY
And make links in OVERLAY for folders (and the one file) in READONLY/:
cd /export/boot/net-install-opensuse-16.0/OVERLAY
ln -s ../READONLY/.profile .
ln -s ../READONLY/* .
Make links in the main folder for folders (and the one file) in OVERLAY/:
cd /export/boot/net-install-opensuse-16.0
ln -s OVERLAY/.profile .
ln -si OVERLAY/* .
(DO NOT replace existing folders).
Now place the files I have shared here: bootimage/usr/local/sbin/
in: /export/boot/net-install-opensuse-16.0/READONLY/usr/local/sbin/
Export "/export/boot" with the options: -ro,sec=sys,no_root_squash,subtree_check,async
( You could just export "/export/boot/net-install-opensuse-16.0" )
Use this file as a template for your boot loader: bootimage/grub-boot.cfg
It NFS mounts /export/boot/net-install-opensuse-16.0/ as root ( nfsroot=repo-suse-start.localdomain:/export/boot/net-install-opensuse-16.0,ro )
And starts (as init) the special init.sh you put in place ( init=/usr/local/sbin/init.sh ).
When everything boots (read init-config.sh),
it will have a writeable /OVERLAY folder containing the contents of /READONLY
All of the system folders (/usr, /root, /etc, /var ..etc. ) are linked to the read/write folders in /OVERLAY
So you now have a running system (with an installer) running from a read-only NFS share
It will also use A LOT less memory to boot than the actual CD image.
I was able to use it to install openSUSE 16.0 on a 1 core VM with 1 Gb of virtual memory.
The views and opinions expressed in these pages are strictly those of the page author(s).
The contents of these pages have not been reviewed nor approved by any entity whatsoever.
The below is to help search engines find this page:
open suse linux / opensuse 16.0 paulfm.com boot pxe
open suse leap linux / opensuse leap 16.0 paulfm.com boot pxe