Add 'ipxe and sysrescuecd' article
This commit is contained in:
parent
06e3fec1ec
commit
6a281f60fb
2 changed files with 89 additions and 1 deletions
88
content/articles/2019/ipxe-sysrescuecd-archlinux/index.md
Normal file
88
content/articles/2019/ipxe-sysrescuecd-archlinux/index.md
Normal file
|
@ -0,0 +1,88 @@
|
|||
Title: Démarrer SysRescueCD en PXE avec iPXE
|
||||
Category: sysadmin
|
||||
Tags: ipxe, sysrescuecd, Archlinux, pl-fr
|
||||
Date: 2019-11-07 18:35
|
||||
|
||||
Pour démarrer des machines via le réseau en PXE, j'utilise [iPXE][l_ipxe]. J'en
|
||||
avais déjà parlé lors du [paramétrage dnsmasq en tant que serveur DHCP avec
|
||||
iPXE]({filename}../../archives/demarrage-pxe-avec-openwrt-dnsmasq-et-freenas/index.md).
|
||||
|
||||
J'utilise de temps à autres [SysRescueCD][l_SysRescueCD] que je démarre donc via
|
||||
le réseau. J'avais une configuration qui fonctionnait bien, mais en voulant
|
||||
passer à la version 6 de ce couteau suisse de diagnostic et de la réparation,
|
||||
impossible de démarrer car la distribution de base a changé.
|
||||
|
||||
## La nouvelle arborescence
|
||||
|
||||
Précédement, les fichiers étaient organisés comme ceci dans mon répersoire
|
||||
`srcd` sur le partage NFS ou sont stockés les fichiers :
|
||||
|
||||
```console
|
||||
.
|
||||
├── initram.igz
|
||||
├── rescue32
|
||||
├── rescue64
|
||||
├── sysrcd.dat
|
||||
└── sysrcd.md5
|
||||
```
|
||||
|
||||
Le live CD, basé sur Gentoo était compatible avec les arcihectures 32 et 64
|
||||
bits. Avec la version 6 fini le support 32 bits, et l'arborescence est celle
|
||||
utilisée par `archiso` :
|
||||
|
||||
```console
|
||||
.
|
||||
├── boot
|
||||
│ ├── amd_ucode.img
|
||||
│ ├── amd_ucode.LICENSE
|
||||
│ ├── intel_ucode.img
|
||||
│ ├── intel_ucode.LICENSE
|
||||
│ └── x86_64
|
||||
│ ├── sysresccd.img
|
||||
│ └── vmlinuz
|
||||
├── pkglist.x86_64.txt
|
||||
└── x86_64
|
||||
├── airootfs.sfs
|
||||
└── airootfs.sha512
|
||||
```
|
||||
|
||||
## La nouvelle configuration
|
||||
|
||||
Voici les options nécessaires au démarrage de SysRescueCD via `iPXE`, je ne mets
|
||||
ici que l'extrait de la configuration qui nous intéresse :
|
||||
|
||||
```
|
||||
:srcd
|
||||
kernel nfs://${server_ip}/${nfs_path}/srcd/boot/x86_64/vmlinuz
|
||||
initrd nfs://${server_ip}/${nfs_path}/srcd/boot/intel_ucode.img
|
||||
initrd nfs://${server_ip}/${nfs_path}/srcd/boot/amd_ucode.img
|
||||
initrd nfs://${server_ip}/${nfs_path}/srcd/boot/x86_64/sysresccd.img
|
||||
imgargs vmlinuz ip=dhcp archisobasedir=srcd archiso_nfs_srv=${server_ip}:/${nfs_path} checksum
|
||||
```
|
||||
|
||||
### configurer le réseau au démarrage
|
||||
|
||||
Les informations données [sur le wiki d'archlinux][l_wikiarch] parlent de la
|
||||
commande `SYSAPPEND 3` mais celle-ci ne semble pas disponible sur
|
||||
`iPXE`[^n_sysappend], le réseau ne sera donc pas initialisé lors du démarrage,
|
||||
empêchant le montage du dossier NFS. Le paramètre noyau `ip=dhcp` permet de
|
||||
forcer le système à obtenir une adresse IP lors du démarrage.
|
||||
|
||||
### Les autres options
|
||||
|
||||
le reste des options parlent d'elle-même :
|
||||
|
||||
- `archiso_nfs_srv` : donne l'adresse de la ressource NFS utilisée.
|
||||
- `archisobasedir` : le répertoire de base contenant l'arborescence d'archiso.
|
||||
|
||||
Il est possible de trouver les options disponibles sur le
|
||||
[README][l_bootparam-arch] dans le dépôt git `archiso`.
|
||||
|
||||
[^n_sysappend]:Voir la documentation de `SYSAPPEND` sur le [wiki de
|
||||
PXELINUX][l_sysappend]
|
||||
|
||||
[l_ipxe]:https://ipxe.org/
|
||||
[l_SysRescueCD]:http://www.system-rescue-cd.org/
|
||||
[l_bootparam-arch]:https://git.archlinux.org/archiso.git/tree/docs/README.bootparams
|
||||
[l_wikiarch]:https://wiki.archlinux.org/index.php/PXE#Existing_PXE_Server
|
||||
[l_sysappend]:https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX#SYSAPPEND_bitmask
|
|
@ -51,7 +51,7 @@ TRANSLATION_FEED_ATOM = None
|
|||
AUTHOR_FEED_ATOM = None
|
||||
AUTHOR_FEED_RSS = None
|
||||
|
||||
THEME = '/home/ephase/Documents/sites/xieme-art/theme'
|
||||
THEME = 'theme/'
|
||||
PLUGIN_PATHS = ['plugins']
|
||||
PLUGINS = ['neighbors']
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue