This is an old revision of the document!
Table of Contents
Booting the Installation Environment from HDD
This article shows how to boot the Slackware installation environment from a hard drive instead of the usual installation media.
The Slackware installation environment is a small live Linux system with busybox, partitioning and some other useful utilities, and the setup
program. It starts automatically when you boot your system from Slackware install media: CD, DVD, USB stick or PXE.
In order to boot the Slackware installation environment without creating install media you need an image of this boot environment, a suitable Linux kernel, and a boot loader.
Image of the Environment
All software that you can use after booting the Slackware installation media resides in an initial ramdisk image. You can find it as /isolinux/initrd.img
on any installation media or at the same location on any of the Slackware mirrors.
Linux Kernel
Slackware uses (at least now) one of its huge kernels to run the installation environment. You can find the kernel's bzImage
files in sub-directories of the /kernel
directory on the installation media or at the same location on any Slackware mirror.
Getting The Files
If you already have an ISO image of the Slackware install media you can mount this image with the loop option and copy the files, for example to a /boot/swsetup
directory which you create yourself first.
- This is how that looks for a Slackware 14.0 64-bit ISO image:
# mkdir -p /mnt/tmp /boot/swsetup # mount -o loop /tmp/slackware64-14.0-install-dvd.iso /mnt/tmp # cp /mnt/tmp/isolinux/initrd.img /mnt/tmp/kernel/huge.s/bzImage /boot/swsetup/ # umount /mnt/tmp
- And for Slackware 14.0 32-bit:
# mkdir -p /mnt/tmp /boot/swsetup # mount -o loop /tmp/slackware-14.0-install-dvd.iso /mnt/tmp # cp /mnt/tmp/isolinux/initrd.img /mnt/tmp/kernel/hugesmp.s/bzImage /boot/swsetup/ # umount /mnt/tmp
You can also download the kernel and initrd image from one of the Slackware mirrors. There are some examples below.
- Slackware 14.0 64-bit:
- Slackware 14.0 32-bit:
Boot Loader
There are many boot loaders around. Slackware uses SYSLINUX to boot from the install media, installs LILO to boot the installed system, and provides a GRUB-legacy package in /extra
(32 bit only). Many distributions use GRUB (renamed from GRUB2) as their main boot loader. If you use a Linux system you probably already have a suitable one. You need to put the bzImage
and initrd.img
files in a suitable place and instruct the boot loader to boot them.
Note that some parameters are passed to the kernel in /isolinux/isolinux.cfg
, you need them to properly configure your boot loader.
LILO
Add to /etc/lilo.conf
something like:
image = /boot/swsetup/bzImage initrd = /boot/swsetup/initrd.img addappend = "load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s" label = SwSetup
and run
# lilo
GRUB
Add to /boot/grub/grub.cfg
something like:
menuentry 'SwSetup' { set root='(hd0,2)' linux /boot/swsetup/bzImage load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s initrd /boot/swsetup/initrd.img }
/dev/sda2
). You can find the right value in the “set root
” command of the menu entry used to boot your system, or else consult with GRUB manual.
/boot
, then you must remove “/boot” from any pathnames.
GRUB-legacy
Add to /boot/grub/menu.lst
something like:
title SwSetup root (hd0,1) kernel /boot/swsetup/bzImage load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s initrd /boot/swsetup/initrd.img
/dev/sda2
). You can find the right value in the “root
” command in the section used to boot your system; or else consult with GRUB-legacy manual.
/boot
, then you must remove “/boot” from any pathnames.
Test It
Reboot your system and select SwSetup at boot prompt.
If you have an unused partition you can install Slackware on it right now.
Using an ISO Image as Source
If you downloaded the Slackware DVD ISO image you can use it as package source.
- In the “
SOURCE MEDIA SELECTION
” step select “2 Install from hard drive partition
”, - enter the name of the disk partition containing the ISO image file, for example
/dev/sda2
, - then type in the full path on that partition's filesystem to the directory with the DVD ISO image, for example
/tmp/
, - and agree with the prompt to use the ISO image as package source:
┌──────────────────────SOURCE MEDIA SELECTION────────────────────────┐ │ Please select the media from which to install Slackware Linux: │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ 1 Install from a Slackware CD or DVD │ │ │ │ 2 Install from a hard drive partition │ │ │ │ 3 Install from NFS (Network File System) │ │ │ │ 4 Install from FTP/HTTP server │ │ │ │ 5 Install from Samba share │ │ │ │ 6 Install from a pre-mounted directory │ │ │ └────────────────────────────────────────────────────────────────┘ │ ├────────────────────────────────────────────────────────────────────┤ │ < OK > <Cancel> │ └────────────────────────────────────────────────────────────────────┘
┌────────────────────INSTALLING FROM HARD DISK───────────────────────┐ │ In order to install directly from the hard disk you must have a │ │ partition (such as /dev/sda1, /dev/sdb5, etc) with the Slackware │ │ distribution's slackware/ directory like you'd find it on the FTP │ │ site. It can be in another directory. For example, if the │ │ distribution is in /stuff/slackware/, then you have to have │ │ directories named /stuff/slackware/a, /stuff/slackware/ap, and so │ │ on each containing the files that would be in that directory on │ │ the FTP site. You may install from FAT or Linux partitions. │ │ │ │ Please enter the partition (such as /dev/sda1) where the Slackware │ │ sources can be found, or [enter] to see a partition list: │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │/dev/sda2 │ │ │ └────────────────────────────────────────────────────────────────┘ │ ├────────────────────────────────────────────────────────────────────┤ │ < OK > <Cancel> │ └────────────────────────────────────────────────────────────────────┘
┌───────────────────SELECT SOURCE DIRECTORY─────────────────────┐ │ Now we need to know the full path on this partition to the │ │ slackware/ directory where the directories containing │ │ installation files and packages to be installed are kept. │ │ For example, if you downloaded Slackware into the /stuff │ │ directory on your hard drive (so that you have the │ │ directories /stuff/slackware/a, /stuff/slackware/ap, and so │ │ on each containing the files that would be in that directory │ │ on the FTP site), then the full path to enter here would be: │ │ │ │ /stuff/slackware │ │ │ │ What directory are the Slackware sources in? │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │/tmp/ │ │ │ └───────────────────────────────────────────────────────────┘ │ ├───────────────────────────────────────────────────────────────┤ │ < OK > <Cancel> │ └───────────────────────────────────────────────────────────────┘
┌────────────────────────USE ISO IMAGE──────────────────────────┐ │ │ │ An ISO image of Slackware's install DVD was found. │ │ Do you want me to mount the ISO image and use this as the │ │ package source? │ │ │ ├───────────────────────────────────────────────────────────────┤ │ < Yes > < No > │ └───────────────────────────────────────────────────────────────┘
Then continue as usual.
Slackware setup (starting with version 13.0) automatically finds an ISO image if it is named as slackwar*-install-dvd.iso
.
You can also mount your image manually.
- Before starting
setup
or later from another console (use Alt+F# to switch to a different console number “#”), execute# mkdir /hd /iso # mount /dev/sda2 /hd # mount -o loop /hd/tmp/slackware64-14.0-install-dvd.iso /iso
- In the “
SOURCE MEDIA SELECTION
” step select “6 Install from a premounted directory
”, - In the next dialog window, enter the path to the directory containing the “package series”, meaning the subdirectories “
a
”, “ap
”, …, “y
”. This path would be/iso/slackware64
for a 64 bit system or/iso/slackware
for 32-bit.
Then continue with the installation as usual.
Sources
- Originally written by Serg Bormant