No description
| config_files | ||
| LICENSE | ||
| README.md | ||
Automated linux installation for hardware4future
This repo is for resources related to automated installation of linux on devices that are to be donated to others in the context of the project hardware for future.
PXE boot
- Installing debian via pxe boot is done via serving the contents of netboot.tar.gz via tftp, follow the official docs.
- We tried the dnsmasq way: no other tftp/dhcp server necessary. It worked.
- Unfortunately Linux Mint doesn't officially support PXE boot. We are currently trying the way in ubuntu netboot docs.
- Caution: don't serve the files for legacy boot, even our "old" hardwares are too new to support that. We need UEFI booting.
- It allows serving a whole iso via HTTP. Can we serve the lmde7 iso this way?
- So far without success. It seems the efi files we prepped do not like to linux mint iso.
Working solution
- Supply these cli options to vmlinuz:
boot=live live-config ip=dhcp fetch=http://192.168.0.1/lmde-7-cinnamon-64bit.iso live-media-path=/live- For legacy boot, in
pxelinux.cfg/defaultDEFAULT install-legacy LABEL install-legacy KERNEL vmlinuz INITRD initrd.lz APPEND boot=live live-config ip=dhcp fetch=http://192.168.0.1/lmde-7-cinnamon-64bit.iso live-media-path=/live - For EFI (not tested yet)
menuentry "LMDE 7 via HTTP ISO fetch" --class linuxmint { set gfxpayload=keep linux /vmlinuz boot=live live-config ip=dhcp fetch=http://192.168.0.1/lmde-7-cinnamon-64bit.iso live-media-path=/live quiet splash -- initrd /initrd.lz } - For legacy boot, in
- In dnsmasq config:
pxe-service=x86PC, "PXELINUX (BIOS)", "pxelinux.0"
pxe-service=X86-64_EFI,"PXE (UEFI)","grubx64.efi"
- These files must be in tftp root (may be incomplete for efi as it was not tested)
- common to both legacy and efi (extract from the iso)
- vmlinuz
- initrd.lz
- legacy
- pxelinux.0 (get from debian netboot.tar.gz)
- ldlinux.c32
- Ensure the syslinux-common package is installed, then
cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /srv/tftp/
- Ensure the syslinux-common package is installed, then
- pxelinux.cfg/default (checked into this repo)
- efi (follow https://ubuntu.com/server/docs/how-to/installation/how-to-netboot-the-server-installer-on-amd64/#set-up-the-files-for-uefi-booting)
- grub/grub.cfg (checked into this repo)
- bootx64.efi
- grubx64.efi
- unicode.pf
- common to both legacy and efi (extract from the iso)
TODOs
- OEM mode (so that username/pw is not set).
- Custom preseed file for advanced stuff (e.g. preinstalling specific software)