|
| 1 | +# Agama Network installation |
| 2 | + |
| 3 | +The Agama installer ships as a Live ISO image generated by [kiwi-ng](https://osinside.github.io/kiwi/index.html). |
| 4 | + |
| 5 | +It can be booted directly from an USB stick, CD/DVD or from Network using the initrd and kernel extracted from the ISO as it is documented [here](https://osinside.github.io/kiwi/working_with_images/network_live_iso_boot.html#booting-a-live-iso-image-from-network). |
| 6 | + |
| 7 | +**Note:** As the remote boot process of a live ISO image places the ISO file into a ramdisk by default it is recommended to also extract the compressed root file system (squashfs.img). |
| 8 | + |
| 9 | +Once extracted, these files must be copied to an appropriate location accessible via FTP or HTTP. |
| 10 | + |
| 11 | +```bash |
| 12 | +sudo mount -oro,loop /srv/install/iso/agama-installer.iso /mnt |
| 13 | +sudo cp /mnt/boot/x86_64/loader/linux /srv/tftpboot/boot/images/agama/x86_64/ |
| 14 | +sudo cp /mnt/boot/x86_64/loader/initrd /srv/tftpboot/boot/images/agama/x86_64/ |
| 15 | +sudo cp /mnt/LiveOS/squashfs.img /srv/tftpboot/boot/images/agama/x86_64/ |
| 16 | +``` |
| 17 | + |
| 18 | +How to set up a PXE server is out of scope of this document but some documentation for SLES can be found at [PXE Server](#pxe-server-documentation). |
| 19 | + |
| 20 | +## Important changes from YaST installer |
| 21 | + |
| 22 | +There are some important changes that affect the installation workflow and specially the [kernel boot options](#kernel-boot-options). |
| 23 | + |
| 24 | +- Linuxrc is not included and dracut takes care of booting the installer. |
| 25 | +- NetworkManager is the default network backend. |
| 26 | + |
| 27 | +We tried to provide some [compatibility with linuxrc options](https://agama-project.github.io/docs/user/reference/boot_options/linuxrc_compatibility) but we recommend to migrate to the dracut specific ones as not all the use cases are supported. |
| 28 | + |
| 29 | +## Kernel Boot Options |
| 30 | + |
| 31 | +As there is no linuxrc anymore the options given as kernel parameters should be replaced by [dracut](https://man7.org/linux/man-pages/man7/dracut.cmdline.7.html) specific ones like the network configuration and the installer sources. |
| 32 | + |
| 33 | +For Agama specific options check the [boot options](https://agama-project.github.io/docs/user/reference/boot_options) section. |
| 34 | + |
| 35 | +### Specify the installer image location |
| 36 | + |
| 37 | +It already requires network configuration enforcing rd.neednet=1. |
| 38 | + |
| 39 | +- `root=live:[http://192.168.0.1/agama/boot/x86_64/squashfs.img](http://192.168.0.1/agama/boot/x86_64/squashfs.img) ip=dhcp` |
| 40 | + |
| 41 | + sets the Squashfs image or iso to be fetched by the livenet dracut module |
| 42 | + |
| 43 | +- `inst.installer_url=[http://192.168.0.1/agama/install/x86_84](http://192.168.0.1/agama/install/x86_84)` |
| 44 | + |
| 45 | + sets the repositories to be used by the installer instead of the ones defined |
| 46 | + in the product definition |
| 47 | + |
| 48 | +### Network configuration |
| 49 | + |
| 50 | +Network will be configured by dracut only if really required so, options like `root=live:<URL>` already requires it but not all of them do so, therefore, to ensure the network is configured by dracut set rd.neednet=1. |
| 51 | + |
| 52 | +**Note:** If an explicit network configuration is given using the `ip=` parameter Agama will disable the NetworkManager DHCP autosetup when starting the installer and mark the nm-initrd-generator generated connections to be persisted after the installation by default. To disable the copy of network the `inst.copy_network=0` parameter is available. |
| 53 | + |
| 54 | +### DHCP configuration |
| 55 | + |
| 56 | +- `ip=dhcp` |
| 57 | + |
| 58 | + nm-initrd-generator will generate a profile using DHCP allowing multiple |
| 59 | + devices to apply it at the same time. |
| 60 | + |
| 61 | +- `ip=enp1s0:dhcp` |
| 62 | + |
| 63 | + the generated profile will be assigned to enp1s0 interface. |
| 64 | + |
| 65 | +- `ip=aa-bb-cc-dd-ee-ff:dhcp` |
| 66 | + |
| 67 | + the generated profile will be assigned to the device with the specified mac address |
| 68 | + |
| 69 | +### DHCP static configuration |
| 70 | + |
| 71 | +- `ip=<client-IP>:[<peer>]:<gateway-IP>:<netmask>:<client_hostname>:<interface>:{none|off|dhcp|on|any|dhcp6|auto6|ibft}[:[<dns1>][:<dns2>]]` |
| 72 | + |
| 73 | +- `ip=10.144.136.45::10.144.136.254:24:agama1.suse.cz:enc800` |
| 74 | + |
| 75 | + static configuration using a prefix length as the netmask. |
| 76 | + |
| 77 | +- `ip=192.168.100.228::192.168.100.1:255.255.255.0:agama.test:aa-bb-cc-dd-ee-ff` |
| 78 | + |
| 79 | + the interface can be also a mac address |
| 80 | + |
| 81 | +### Use custom interface naming |
| 82 | + |
| 83 | +- `ifname=<interface>:<MAC>` |
| 84 | + |
| 85 | + Assign network device name `<interface>` to the NIC with the MAC `<MAC>`. |
| 86 | + |
| 87 | +- `ifname=bootnet:AA:BB:CC:DD:EE:FF ip=bootnet:dhcp rd.neednet=1` |
| 88 | + |
| 89 | +**Note:** Agama will persist the renamed interface after the installation |
| 90 | +through a systemd network link file. |
| 91 | + |
| 92 | +## PXE Server Documentation |
| 93 | + |
| 94 | +For more information about setting up a PXE Boot Server on SUSE Linux Enterprise Server |
| 95 | +16.0 refer to [this guide](https://susedoc.github.io/doc-modular/main/html/SLE-PXE-server/index.html]). |
0 commit comments