diff --git a/articles/sles-pxe-server-setup.asm.xml b/articles/sles-pxe-server-setup.asm.xml index ea180981a..9e76b1a0f 100644 --- a/articles/sles-pxe-server-setup.asm.xml +++ b/articles/sles-pxe-server-setup.asm.xml @@ -47,11 +47,20 @@ 2026-03-18 - - Added note clarifying that TFTP is mandatory for ppc64le architectures - + + Clarified that TFTP is mandatory for &ppc64le; and that the loader + subdirectory in the installation media may or may not be present depending on the media version. + + + 2026-03-16 + + + Modified procedures for extracting files for online and full iso images based on processor architecture. + + + 2025-11-04 diff --git a/tasks/sles-pxe-server-prepare-installer.xml b/tasks/sles-pxe-server-prepare-installer.xml index 435aa7a6c..e7d67d677 100644 --- a/tasks/sles-pxe-server-prepare-installer.xml +++ b/tasks/sles-pxe-server-prepare-installer.xml @@ -50,23 +50,71 @@ &productname; &productnumber; installation media, as available in &scc;. Choose from: - + + + Online ISO: Installer-only for network installations + + + - Online ISO: Installer-only for network installations - (SLES-16.0-Online-ARCH-BUILD.install.iso) + For &x86-64;: SLES-16.0-Online-x86_64-BUILD.install.iso - + + + + For &aarch64;: SLES-16.0-Online-aarch64-BUILD.install.iso + + + + + For &ppc64le;: SLES-16.0-Online-ppc64le-BUILD.install.iso + + + + + + Full ISO: Installer with installation repository + + + - Full ISO: Installer with installation repository - (SLES-16.0-Full-ARCH-BUILD.install.iso) + For &x86-64;: SLES-16.0-Full-x86_64-BUILD.install.iso - + + + + For &aarch64;: SLES-16.0-Full-aarch64-BUILD.install.iso + + + + + For &ppc64le;: SLES-16.0-Full-ppc64le-BUILD.install.iso + + + + RPM packages: - tftpboot-agama-installer-SUSE_SLE_16_PXE-ARCH + + + + For &x86-64;: tftpboot-agama-installer-SUSE_SLE_16_PXE-x86_64 + + + + + For &aarch64;: tftpboot-agama-installer-SUSE_SLE_16_PXE-aarch64 + + + + + For &ppc64le;: tftpboot-agama-installer-SUSE_SLE_16_PXE-ppc64le + + + @@ -101,67 +149,115 @@ to installation repositories during system installation. This corresponds with the SLES-16.0 Online Installation boot menu entry in GRUB. - - Extracting files from Online ISO (x86_64 and aarch64) - - - Create the directory structure for installer files: - -&prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/ARCH/ - - - - Mount the Online ISO image: - -&prompt.sudo;mount -oro,loop /srv/install/iso/SLES-16.0-Online-ARCH-BUILD.install.iso /mnt - - - - Copy the kernel and initrd files: - -&prompt.sudo;cp /mnt/boot/ARCH/loader/linux /srv/tftpboot/boot/images/SLES-16.0/ARCH/ -&prompt.sudo;cp /mnt/boot/ARCH/loader/initrd /srv/tftpboot/boot/images/SLES-16.0/ARCH/ - + + Extracting files from Online ISO - Copy the compressed root file system: + Create the directory structure for installer files. -&prompt.sudo;cp /mnt/LiveOS/squashfs.img /srv/tftpboot/boot/images/SLES-16.0/ARCH/ - - - - Unmount the ISO image: - -&prompt.sudo;umount /mnt - - - - Extracting files from Online ISO (ppc64le) - - - Create the directory structure: - -&prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/ppc64le/ - - - - Mount the ISO image: - -&prompt.sudo;mount -oro,loop /srv/install/iso/SLES-16.0-Online-ppc64le-BUILD.install.iso /mnt + + + + For &x86-64;: + +&prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/x86_64/ + + + + For &aarch64;: + +&prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/aarch64/ + + + + For &ppc64le;: + + &prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/ppc64le/ + + - Copy the kernel and initrd files (note the different path structure for ppc64le): + Mount the Online ISO image. -&prompt.sudo;cp /mnt/boot/ppc64le/linux /srv/tftpboot/boot/images/SLES-16.0/ppc64le/ - -&prompt.sudo;cp /mnt/boot/ppc64le/initrd /srv/tftpboot/boot/images/SLES-16.0/ppc64le/ + + + + For &x86-64;: + +&prompt.sudo;mount -oro,loop +/srv/install/iso/SLES-16.0-Online-x86_64-BUILD.install.iso +/mnt + + + + For &aarch64;: + +&prompt.sudo;mount -oro,loop +/srv/install/iso/SLES-16.0-Online-aarch64-BUILD.install.iso +/mnt + + + + For &ppc64le;: + +&prompt.sudo;mount -oro,loop +/srv/install/iso/SLES-16.0-Online-ppc64le-BUILD.install.iso +/mnt + + - Copy the compressed root file system: + Copy the kernel and initrd files, and the compressed root file system. -&prompt.sudo;cp /mnt/LiveOS/squashfs.img /srv/tftpboot/boot/images/SLES-16.0/ppc64le/ + + + + For &x86-64;: + +&prompt.sudo;cp /mnt/boot/x86_64/loader/linux +/srv/tftpboot/boot/images/SLES-16.0/x86_64/ +&prompt.sudo;cp /mnt/boot/x86_64/loader/initrd +/srv/tftpboot/boot/images/SLES-16.0/x86_64/ +&prompt.sudo;cp /mnt/LiveOS/squashfs.img +/srv/tftpboot/boot/images/SLES-16.0/x86_64/ + + + + For &aarch64;: + +&prompt.sudo;cp /mnt/boot/aarch64/loader/linux +/srv/tftpboot/boot/images/SLES-16.0/aarch64/ +&prompt.sudo;cp /mnt/boot/aarch64/loader/initrd +/srv/tftpboot/boot/images/SLES-16.0/aarch64/ +&prompt.sudo;cp /mnt/LiveOS/squashfs.img +/srv/tftpboot/boot/images/SLES-16.0/aarch64/ + + + + For &ppc64le;: + +&prompt.sudo;cp /mnt/boot/ppc64le/linux +/srv/tftpboot/boot/images/SLES-16.0/ppc64le/ +&prompt.sudo;cp /mnt/boot/ppc64le/initrd +/srv/tftpboot/boot/images/SLES-16.0/ppc64le/ +&prompt.sudo;cp /mnt/LiveOS/squashfs.img +/srv/tftpboot/boot/images/SLES-16.0/ppc64le/ + + + + Path variation for &ppc64le; installation media + + The loader subdirectory may or may not be present on &ppc64le; + installation media depending on the version. If linux and + initrd are not found at + /mnt/boot/ppc64le/linux and + /mnt/boot/ppc64le/initrd, try + /mnt/boot/ppc64le/loader/linux and + /mnt/boot/ppc64le/loader/initrd instead. + + @@ -170,7 +266,7 @@ &prompt.sudo;umount /mnt - +
Using Full ISO images @@ -185,36 +281,184 @@ Extracting files from Full ISO - Create directories for both installer files and the installation repository: + Create the directory for installer files. -&prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/ARCH/ + + + + For &x86-64;: + +&prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/x86_64/ + + + + For &aarch64;: + +&prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/aarch64/ + + + + For &ppc64le;: + +&prompt.sudo;mkdir -p /srv/tftpboot/boot/images/SLES-16.0/ppc64le/ + + + + + + Create the directory for installation repository: + &prompt.sudo;mkdir -p /srv/install/SLES-16.0 Mount the Full ISO image: -&prompt.sudo;mount -oro,loop /srv/install/iso/SLES-16.0-Full-ARCH-BUILD.install.iso /mnt + + + + For &x86-64;: + +&prompt.sudo;mount -oro,loop +/srv/install/iso/SLES-16.0-Full-x86_64-BUILD.install.iso +/mnt + + + + For &aarch64;: + +&prompt.sudo;mount -oro,loop +/srv/install/iso/SLES-16.0-Full-aarch64-BUILD.install.iso +/mnt + + + + For &ppc64le;: + +&prompt.sudo;mount -oro,loop +/srv/install/iso/SLES-16.0-Full-ppc64le-BUILD.install.iso +/mnt + + - Copy the kernel and initrd files (adjust paths for ppc64le as shown in previous - procedures): + Copy the kernel files. -&prompt.sudo;cp /mnt/boot/ARCH/loader/linux /srv/tftpboot/boot/images/SLES-16.0/ARCH/ -&prompt.sudo;cp /mnt/boot/ARCH/loader/initrd /srv/tftpboot/boot/images/SLES-16.0/ARCH/ + + + + For &x86-64;: + +&prompt.sudo;cp /mnt/boot/x86_64/loader/linux /srv/tftpboot/boot/images/SLES-16.0/x86_64/ + + + + For &aarch64;: + +&prompt.sudo;cp /mnt/boot/aarch64/loader/linux /srv/tftpboot/boot/images/SLES-16.0/aarch64/ + + + + For &ppc64le;: + +&prompt.sudo;cp /mnt/boot/ppc64le/linux /srv/tftpboot/boot/images/SLES-16.0/ppc64le/ + + + + + + + Copy the initrd files. + + + + + For &x86-64;: + +&prompt.sudo;cp /mnt/boot/x86_64/loader/initrd /srv/tftpboot/boot/images/SLES-16.0/x86_64/ + + + + For &aarch64;: + +&prompt.sudo;cp /mnt/boot/aarch64/loader/initrd /srv/tftpboot/boot/images/SLES-16.0/aarch64/ + + + + For &ppc64le;: + +&prompt.sudo;cp /mnt/boot/ppc64le/initrd /srv/tftpboot/boot/images/SLES-16.0/ppc64le/ + + + + Path variation for &ppc64le; installation media + + The loader subdirectory may or may not be present on &ppc64le; + installation media depending on the version. If linux and + initrd are not found at + /mnt/boot/ppc64le/linux and + /mnt/boot/ppc64le/initrd, try + /mnt/boot/ppc64le/loader/linux and + /mnt/boot/ppc64le/loader/initrd instead. + + - Copy the compressed root file system: + Copy the compressed root file system. -&prompt.sudo;cp /mnt/LiveOS/squashfs.img /srv/tftpboot/boot/images/SLES-16.0/ARCH/ + + + + For &x86-64;: + +&prompt.sudo;cp /mnt/LiveOS/squashfs.img +/srv/tftpboot/boot/images/SLES-16.0/x86_64/ + + + + For &aarch64;: + +&prompt.sudo;cp /mnt/LiveOS/squashfs.img +/srv/tftpboot/boot/images/SLES-16.0/aarch64/ + + + + For &ppc64le;: + +&prompt.sudo;cp /mnt/LiveOS/squashfs.img +/srv/tftpboot/boot/images/SLES-16.0/ppc64le/ + + - Copy the installation repository for local HTTP server access: + Copy the installation repository for local HTTP server access. -&prompt.sudo;rsync -avP /mnt/install/ /srv/install/SLES-16.0/ARCH/ + + + + For &x86-64;: + +&prompt.sudo;rsync -avP /mnt/install/ +/srv/install/SLES-16.0/x86_64/ + + + + For &aarch64;: + +&prompt.sudo;rsync -avP /mnt/install/ +/srv/install/SLES-16.0/aarch64/ + + + + For &ppc64le;: + +&prompt.sudo;rsync -avP /mnt/install/ +/srv/install/SLES-16.0/ppc64le/ + + @@ -234,21 +478,102 @@ Installing and using tftpboot RPM packages - Install the required packages: + Install the required packages. -&prompt.sudo;zypper in tftpboot-agama-installer-SUSE_SLE_16-ARCH + + + + For &x86-64;: + +&prompt.sudo;zypper in +tftpboot-agama-installer-SUSE_SLE_16-x86_64 + + + + For &aarch64;: + +&prompt.sudo;zypper in +tftpboot-agama-installer-SUSE_SLE_16-aarch64 + + + + For &ppc64le;: + +&prompt.sudo;zypper in +tftpboot-agama-installer-SUSE_SLE_16-ppc64le + + - - Copy the linux,initrd,squashfs.img into tftpboot: - + + Create the directory for tftpboot and navigate to it. + + + + + For &x86-64;: + &prompt.sudo;mkdir -p -/srv/tftpboot/boot/images/SLES-16.0/ARCH +/srv/tftpboot/boot/images/SLES-16.0/x86_64 &prompt.sudo;cd -/srv/tftpboot/boot/images/SLES-16.0/ARCH -&prompt.sudo;cp -v /usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/ARCH/loader/linux . -&prompt.sudo;cp -v /usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/ARCH/loader/initrd . -&prompt.sudo;cp -v /usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/ARCH/loader/squashfs.img . +/srv/tftpboot/boot/images/SLES-16.0/x86_64 + + + + For &aarch64;: + +&prompt.sudo;mkdir -p +/srv/tftpboot/boot/images/SLES-16.0/aarch64 +&prompt.sudo;cd +/srv/tftpboot/boot/images/SLES-16.0/aarch64 + + + + For &ppc64le;: + + &prompt.sudo;mkdir -p +/srv/tftpboot/boot/images/SLES-16.0/ppc64le +&prompt.sudo;cd +/srv/tftpboot/boot/images/SLES-16.0/ppc64le + + + + + + Copy the linux,initrd,squashfs.img into tftpboot. + + + + + For &x86-64;: + +&prompt.sudo;cp -v \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/x86_64/loader/linux \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/x86_64/loader/initrd \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/x86_64/loader/squashfs.img \ +. + + + + For &aarch64;: + +&prompt.sudo;cp -v \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/aarch64/loader/linux \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/aarch64/loader/initrd \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/aarch64/loader/squashfs.img \ +. + + + + For &ppc64le;: + +&prompt.sudo;cp -v \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/ppc64le/loader/linux \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/ppc64le/loader/initrd \ +/usr/share/tftpboot-installation/agama-installer-SUSE_SLE_16/ppc64le/loader/squashfs.img \ +. + +
@@ -327,9 +652,31 @@ Verification steps - Check that essential files are present: + Check that essential files are present. -&prompt.user;ls -la /srv/tftpboot/boot/images/SLES-16.0/ARCH/* + + + + For &x86-64;: + +&prompt.user;ls -la +/srv/tftpboot/boot/images/SLES-16.0/x86_64/* + + + + For &aarch64;: + +&prompt.user;ls -la +/srv/tftpboot/boot/images/SLES-16.0/aarch64/* + + + + For &ppc64le;: + +&prompt.user;ls -la +/srv/tftpboot/boot/images/SLES-16.0/ppc64le/* + + @@ -371,8 +718,24 @@ - The extracted files will be referenced in &grub; configuration using paths such as - root=live:http://pxe.example.net/boot/images/SLES-16.0/ARCH/squashfs.img. + The extracted files will be referenced in &grub; configuration using paths, such as: + + + + For &x86-64;: root=live:http://pxe.example.net/boot/images/SLES-16.0/x86_64/squashfs.img + + + + + For &aarch64;: root=live:http://pxe.example.net/boot/images/SLES-16.0/aarch64/squashfs.img + + + + + For &ppc64le;: root=live:http://pxe.example.net/boot/images/SLES-16.0/ppc64le/squashfs.img + + +