====== Getting Slackware ======
The official way to do this is, of course, to get it from [[https://www.slackware.com/getslack/|slackware.com]].
Personally, I have [[https://codeberg.org/azman/my1shell/src/branch/master/getslack|getslack]], a bash script based on (more accurately, a trimmed-down version of) the excellent (he termed it //infamous//) [[https://www.slackware.com/~alien/tools/mirror-slackware-current.sh|mirror-slackware-current.sh]] by [[https://alien.slackbook.org/dokuwiki/doku.php|Alien Bob]]. When going down this path, the next step would be to prepare the installation media.
===== Slackware Installer ISO Image =====
I no longer need an ISO image (refer to USB installer below). But, I have my [[https://codeberg.org/azman/my1shell/src/branch/master/slack2iso|slack2iso]] script (also based on Alien Bob's script) that can help in creating one using the tree downloaded by ''getslack''.
===== Slackware USB Installer =====
[[https://alien.slackbook.org/dokuwiki/doku.php|Alien Bob]] has provided a [[https://alien.slackbook.org/blog/installing-slackware-using-usb-thumb-drive/|script]] to make/setup/configure a USB-based Slackware installation media. I wanted to do something simpler using the existing files in the Slackware tree that I mirrored using ''getslack'' (mentioned above). So, here is how I got that working.
- Create a FAT32 partition
* use ''fdisk'' and make sure it is bootable (bootable flag enabled)
* use ''mkdosfs'' (e.g. ''mkdosfs -F 32 /dev/sdb1'')
- Use syslinux to provide bootloader
* create a ''/linux/boot/syslinux'' folder on the USB
* type syslinux -d /linux/boot/syslinux /dev/sdb1
**Note**: On newer syslinux, use ''-i'' to indicate new installation
* a file ''ldlinux.sys'' should appear in ''/linux/boot/syslinux''
- Copy boot facilities from Slackware tree to the media
* copy a kernel from slackware tree to ''/linux/boot'' (I used ''huge.s'')
* copy ''initrd.img'' and ''message.txt'' to ''/linux/boot''
* copy ''isolinux.cfg'' to ''/linux/boot/syslinux'' as ''syslinux.cfg''
* edit ''syslinux.cfg'' accordingly (initrd, kernel params, etc.)
- Copy slackware<64> in the Slackware tree (I used a shorter folder name like slack on the USB)
And... we're done! Now we have a simple Slackware USB Installer and install it on every computer we can get our hands on! 8-)
===== Note: GPT Disks and EFI =====
Things moving to (U)EFI and GPT... slowly leaving legacy BIOS and MBR.
Instead of MBR, we use GPT partitioning scheme:
* supports bigger disk
* supports EFI booting (easier to maintain actually :p)
Partition codes are 2-bytes instead (only 1-byte on MBR's partition table). Among the common ones:
* EF00 (EFI System Partition): this is what EFI boot look for
* format FAT32 mkdosfs -F 32 -n MY1EFI /dev/sdxx
* 0700 (MS Basic Data): Windows Partition
* format NTFS mkntfs -f -L MY1WIN /dev/sdxx
* 8300 (Linux filesystem): Linux Partition
* format EXT4 mkfs.ext4 -L MY1LIN /dev/sdxx
Once boot using EFI, ''efibootmgr'' tool can be used (available on Slackware 14.2)
* to create an entry labelled ''Slackware'' with loader file named ''\efi\slackware\elilo.efi'' located on first partition of first disk (''/dev/sda1'') efibootmgr -c -d /dev/sda -p 1 -L "Slackware" -l "\efi\slackware\elilo.efi"
* to delete an entry xxxx (bootnum) efibootmgr -b xxxx -B
* to re-order boot sequence efibootmgr -o xxxx,yyyy,zzzz