Improve documentation about installation via pxe
This commit is contained in:
		
							parent
							
								
									0406669109
								
							
						
					
					
						commit
						9f5ecfc4f1
					
				
					 1 changed files with 65 additions and 4 deletions
				
			
		| 
						 | 
					@ -3,14 +3,27 @@
 | 
				
			||||||
* **Using DigitalSouveraeneSchule repository and LinuxMuster.Net tftp**  
 | 
					* **Using DigitalSouveraeneSchule repository and LinuxMuster.Net tftp**  
 | 
				
			||||||
  Simplest solution. Playbook and default inventory from DigitalSouveraeneSchule codeberg repository.  
 | 
					  Simplest solution. Playbook and default inventory from DigitalSouveraeneSchule codeberg repository.  
 | 
				
			||||||
  Linux kernel and initial Ramdisk from debian repository.  
 | 
					  Linux kernel and initial Ramdisk from debian repository.  
 | 
				
			||||||
 | 
					  Client must have access to the internet (noproxy group).
 | 
				
			||||||
* **Using your own repository and LinuxMuster.Net tftp**  
 | 
					* **Using your own repository and LinuxMuster.Net tftp**  
 | 
				
			||||||
  Here you can use your own inventory and make many custom settings.  
 | 
					  Here you can use your own inventory and make many custom settings.  
 | 
				
			||||||
  Linux kernel and initial Ramdisk from debian repository.  
 | 
					  Linux kernel and initial Ramdisk from debian repository.  
 | 
				
			||||||
 | 
					  Client must have access to the internet (noproxy group).
 | 
				
			||||||
* **Using your own repository and livebox tftp**  
 | 
					* **Using your own repository and livebox tftp**  
 | 
				
			||||||
  Additional kernel and Ramdisk from your own infrastrukture.  
 | 
					  Additional kernel and Ramdisk from your own infrastrukture.  
 | 
				
			||||||
 | 
					  Client does not need direct internet access.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Using codeberg repository and LinuxMuster.Net tftp
 | 
					## Using codeberg repository and LinuxMuster.Net tftp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Requirements / firewall settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The computer on which the linuxclient is to be installed must have access to the Internet (add host to noproxy group)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The following resources are downloaded from the internet:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* The repository is provided by codeberg.org
 | 
				
			||||||
 | 
					* the Linux kernel, the initial ramdisk and the installation files are loaded from debian.org.
 | 
				
			||||||
 | 
					* mscorefonts from Microsoft
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Modification LinuxMuster.Net server
 | 
					### Modification LinuxMuster.Net server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Create grub config for device group `lmnclient` on your schools server:
 | 
					Create grub config for device group `lmnclient` on your schools server:
 | 
				
			||||||
| 
						 | 
					@ -50,4 +63,52 @@ classroom;mypc01;lmnclient;F2:81:6B:C9:E3:EF;10.0.5.51;;;;classroom-studentcompu
 | 
				
			||||||
* confirm `hostname` and `domain` (you will be asked in network setup)
 | 
					* confirm `hostname` and `domain` (you will be asked in network setup)
 | 
				
			||||||
* ... Get a cup of coffee ... wait until reboot ... login (Logging in may take a few minutes after installation)
 | 
					* ... Get a cup of coffee ... wait until reboot ... login (Logging in may take a few minutes after installation)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Using your own livebox server
 | 
					
 | 
				
			||||||
 | 
					## Using your own repository and LinuxMuster.Net tftp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you fork the lmn-client repository, you can customize the preseeding and inventory to your needs.
 | 
				
			||||||
 | 
					Use the instructions in the previous section and customize the repository in `/srv/linbo/boot/grub/lmnclient.cfg`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It makes sense to encrypt your inventory via `ansible-vault`.
 | 
				
			||||||
 | 
					When using encrypted inventories you have to provide the vault password by commenting in the two lines in the `/srv/linbo/boot/grub/lmnclient.cfg`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Using your own repository and livebox tftp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The next improvement will be to use your own livebox with following functionalities:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Providing linux kernel and initial ramdisk for installer
 | 
				
			||||||
 | 
					* Can be used as cache for debian packages (aptcacher)
 | 
				
			||||||
 | 
					* Can provide mscorefonts and libdvdcss (multimedia codecs)
 | 
				
			||||||
 | 
					* Can be used to boot live systems (netboot) via pxe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Installing the livebox server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Install debian VM and configure network
 | 
				
			||||||
 | 
					* Install additional packages: ansible  
 | 
				
			||||||
 | 
					  `sudo apt install ansible`
 | 
				
			||||||
 | 
					* Run livebox playbook  
 | 
				
			||||||
 | 
					  `ansible-pull -i localhost, --url=https://salsa.debian.org/andi/debian-lan-ansible.git -C master livebox.yml`
 | 
				
			||||||
 | 
					* Set DNS entry for your new livebox server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Modification LinuxMuster.Net server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The file `/srv/linbo/boot/grub/lmnclient.cfg` might look like this:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					# ### NOT managed by linuxmuster.net ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# edit to your needs
 | 
				
			||||||
 | 
					set default=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					menuentry 'Installer Debian bookworm (amd64) + preseed + ansible inventory' {
 | 
				
			||||||
 | 
					   echo -n "Enter domain join password: "
 | 
				
			||||||
 | 
					   read adpw
 | 
				
			||||||
 | 
					   set vaultpw="dummy"
 | 
				
			||||||
 | 
					   # echo -n "Enter vault password"
 | 
				
			||||||
 | 
					   # read vaultpw
 | 
				
			||||||
 | 
					   linux   (http,livebox.example.com)/d-i/n-pkg/images/12/amd64/text/debian-installer/amd64/linux auto=true priority=high \
 | 
				
			||||||
 | 
					           url=https://codeberg.org/MySchool/lmn-client/raw/branch/fvs/misc/preseed-myschool.cfg interface=auto \
 | 
				
			||||||
 | 
					           playbook=lmn-client.yml adpw="${adpw}" vaultpw="${vaultpw}" ---
 | 
				
			||||||
 | 
					   initrd  (http,livebox.example.com)/d-i/n-pkg/images/12/amd64/text/debian-installer/amd64/initrd.gz
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue