Skip to content

Commit 56fe7b6

Browse files
committed
Added a minimal guide clarifying network based installation
1 parent 197e5d4 commit 56fe7b6

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

docs/user/guides/network.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
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

Comments
 (0)