50 lines
2.5 KiB
Markdown
50 lines
2.5 KiB
Markdown
# 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](https://wiki.debian.org/PXEBootInstall#Provide_the_boot_image).
|
|
+ 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](https://ubuntu.com/server/docs/how-to/installation/how-to-netboot-the-server-installer-on-amd64/).
|
|
+ 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/default`
|
|
```
|
|
DEFAULT 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
|
|
}
|
|
```
|
|
- 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/`
|
|
- 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
|
|
|