Building a live ISO: Difference between revisions
(add how to create Xfce live ISO) |
No edit summary |
||
(26 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
Someone asked me about using the FAI nfsroot for a diskless | Someone asked me about using the FAI nfsroot for a diskless | ||
client setup. The clients should PXE boot and | client setup. The clients should PXE boot and mount it's whole file | ||
system via NFS (NFS v3, v4 is not working with overlayfs) from the install server. | |||
It's pretty easy. | It's pretty easy. Tested with FAI 5.10.1 and Debian 11 (bullseye). | ||
First add all packages you like to have for your | First add all packages you like to have for your | ||
Line 12: | Line 12: | ||
Create the FAI nfsroot | Create the FAI nfsroot | ||
<code>fai-make-nfsroot - | <code>fai-make-nfsroot -Nv</code> | ||
The option -N will add nonfree firmware software (for e.g. for Wifi interfaces). | |||
Then disable some FAI specific things inside the nfsroot: | Then disable some FAI specific things inside the nfsroot: | ||
<pre> | <pre> | ||
chroot /srv/fai/nfsroot bash | chroot /srv/fai/nfsroot bash | ||
apt purge fai-nfsroot | |||
exit | exit | ||
</pre> | </pre> | ||
That's it. Now, boot your client. | That's it. Now, boot your client. | ||
Since FAI is using | Since FAI is using overlayfs, the whole filesystem is writeable for the client, even it's mounted read-only. | ||
= How to create a Live CD with Xfce desktop = | |||
You will have an account called demo, the pw is fai. | |||
<pre> | <pre> | ||
fai-make-nfsroot - | fai-make-nfsroot -Nv | ||
chroot /srv/fai/nfsroot bash | chroot /srv/fai/nfsroot bash | ||
apt purge fai-nfsroot | |||
export LC_ALL=C | export LC_ALL=C | ||
adduser --disabled-login --gecos "fai demo user" demo | adduser --disabled-login --gecos "fai demo user" demo | ||
ROOTPW='$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1' | ROOTPW='$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1' | ||
usermod -p "$ROOTPW" demo | usermod -p "$ROOTPW" demo | ||
usermod -p "$ROOTPW" root | |||
apt-get update | |||
apt-get -y install at-spi2-core locales task-xfce-desktop network-manager systemd-sysv sysvinit-core- | |||
apt-get clean | apt-get clean | ||
# rm lib/systemd/system/wpa_supplicant@.service | |||
# optional | # optional | ||
# rm -f /etc/hosts /etc/resolv.conf* | # rm -f /etc/hosts /etc/resolv.conf* /var/lib/apt/lists/*_* /var/tmp/base.tar.xz | ||
exit | exit | ||
</pre> | </pre> | ||
Line 61: | Line 59: | ||
<pre> | <pre> | ||
fai-cd - | fai-cd -HMJd '' -s3000 -g ~/grub.cfg-live ~/fai-live.iso | ||
</pre> | </pre> | ||
Here's the grub.cfg. | See man page https://fai-project.org/doc/man/fai-cd.html | ||
for more info. | |||
Here's the grub.cfg.live: | |||
<pre> | <pre> | ||
## grub2 configuration | ## grub2 configuration | ||
set default="FAI | set default="FAI live system" | ||
set timeout=3 | set timeout=3 | ||
# make sure we can access partitions | # make sure we can access partitions | ||
insmod part_msdos | insmod part_msdos | ||
insmod part_gpt | insmod part_gpt | ||
insmod all_video | |||
insmod gfxterm | |||
set gfxmode=auto | |||
set color_normal=white/black | |||
set color_highlight=red/black | |||
set menu_color_normal=white/black | |||
set menu_color_highlight=black/yellow | |||
menuentry "FAI | menuentry "FAI live system" --unrestricted { | ||
set | search --set=root --file /FAI-CD | ||
linux /boot/vmlinuz rd.live.image root=live:CDLABEL=FAI_CD | linux /boot/vmlinuz rd.live.image root=live:CDLABEL=FAI_CD | ||
initrd /boot/initrd.img | initrd /boot/initrd.img | ||
} | } | ||
Line 96: | Line 92: | ||
This disk space for creating new files is limited by the amount of | This disk space for creating new files is limited by the amount of | ||
free space in the disk image ( | free space in the disk image (added by -s). You will have about 2.5GB of free disk | ||
space. This is NO persistent storage. | |||
space. This is NO | |||
You can download an ISO image, for and example of this Live CD | |||
https://fai-project.org/fai-cd/debian11-live-xfce.iso |
Revision as of 21:59, 6 April 2021
How to turn the FAI nfsroot into a file system for diskless clients
Someone asked me about using the FAI nfsroot for a diskless client setup. The clients should PXE boot and mount it's whole file system via NFS (NFS v3, v4 is not working with overlayfs) from the install server.
It's pretty easy. Tested with FAI 5.10.1 and Debian 11 (bullseye).
First add all packages you like to have for your diskless clients to /etc/fai/NFSROOT.
Create the FAI nfsroot
fai-make-nfsroot -Nv
The option -N will add nonfree firmware software (for e.g. for Wifi interfaces). Then disable some FAI specific things inside the nfsroot:
chroot /srv/fai/nfsroot bash apt purge fai-nfsroot exit
That's it. Now, boot your client.
Since FAI is using overlayfs, the whole filesystem is writeable for the client, even it's mounted read-only.
How to create a Live CD with Xfce desktop
You will have an account called demo, the pw is fai.
fai-make-nfsroot -Nv chroot /srv/fai/nfsroot bash apt purge fai-nfsroot export LC_ALL=C adduser --disabled-login --gecos "fai demo user" demo ROOTPW='$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1' usermod -p "$ROOTPW" demo usermod -p "$ROOTPW" root apt-get update apt-get -y install at-spi2-core locales task-xfce-desktop network-manager systemd-sysv sysvinit-core- apt-get clean # rm lib/systemd/system/wpa_supplicant@.service # optional # rm -f /etc/hosts /etc/resolv.conf* /var/lib/apt/lists/*_* /var/tmp/base.tar.xz exit
Then create the CD/USB ISO image using this command
fai-cd -HMJd '' -s3000 -g ~/grub.cfg-live ~/fai-live.iso
See man page https://fai-project.org/doc/man/fai-cd.html for more info.
Here's the grub.cfg.live:
## grub2 configuration set default="FAI live system" set timeout=3 # make sure we can access partitions insmod part_msdos insmod part_gpt insmod all_video insmod gfxterm set gfxmode=auto set color_normal=white/black set color_highlight=red/black set menu_color_normal=white/black set menu_color_highlight=black/yellow menuentry "FAI live system" --unrestricted { search --set=root --file /FAI-CD linux /boot/vmlinuz rd.live.image root=live:CDLABEL=FAI_CD initrd /boot/initrd.img }
This disk space for creating new files is limited by the amount of
free space in the disk image (added by -s). You will have about 2.5GB of free disk
space. This is NO persistent storage.
You can download an ISO image, for and example of this Live CD
https://fai-project.org/fai-cd/debian11-live-xfce.iso