Sunday, July 19, 2009

Booting Slackware with GRUB (GNU Grand Unified Bootloader)

GRUB is an alternative bootloader to LILO. As you know, Slackware comes with LILO as default. Slackware has legacy version of GNU GRUB package in /extra section. This package also includes Ken Robotti's 'grubconfig' tool similar to 'liloconfig' tool. Now we are going to simply remove LILO package and install GRUB package (I assume that you have configured 'slackpkg' utility).

# removepkg lilo
# slackpkg install grub

Run grubconfig by:

# grubconfig

I prefer expert GRUB setup menu.

Start to create GRUB config file with a GRUB header.

Choose frame buffer console size.

Select GRUB target location. I had installed LILO onto the master boot record of my hard drive. Choosing GRUB install location as MBR overwrites LILO.

Choose the GRUB files save location. This is the location where /boot directory is located. In my case, /dev/sda1 is the root partition of my Slack and consists of /boot directory.

Add your Slackware partition with Linux option. Using Linux and Other options, you can add other operating systems you have to GRUB configuration file.

Finally install GRUB with Install option.

You can change GRUB VGA resolution for more readable booting by editing /boot/grub/menu.lst file.

# nano /boot/grub/menu.lst

# GRUB configuration file '/boot/grub/menu.lst'.
# generated by 'grubconfig'. Sun Jul 19 01:55:59 2009
# The backup copy of the MBR for drive '/dev/sda' is
# here '/boot/grub/mbr.sda.3676'. You can restore it like this.
# dd if=mbr.sda.3676 of=/dev/sda bs=512 count=1
# Start GRUB global section
#timeout 30
#color light-gray/blue black/light-gray
# End GRUB global section
# Linux bootable partition config begins
title Slackware-current on (/dev/sda1)
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1 ro vga=794
# Linux bootable partition config ends
title --- For help press 'c', type: 'help'
root (hd0)
title --- For usage examples, type: 'cat /boot/grub/grub.txt'
root (hd0)

Find vga=xxx part in /boot/grub/menu.lst file and replace xxx with a suitable VGA code from the below table.

Sunday, July 12, 2009

Slackware for ARM

Slackware has a new official port for the ARM architecture, by the name of ARMedslack, which has recently released the port of Slackware version 12.2.

ARMedslack began in 2002 by Stuart Winter, with the primary goal of providing a full Slackware port for ARM desktop machines - initially targeting the Acorn StrongARM RiscPC, and later embedded devices.

Slackware ARM now supports native installation using the regular Slackware installer on the ARM Versatile board (via the QEMU emulator) and the recently announced embedded device: the Marvell SheevaPlug.

Slackware ARM version 12.2 is built for armv4, little endian, "legacy" ABI. A new port to the EABI is already underway and expected to be available in "-current" form within a few months.

The project's homepage has more details.