extlinux (syslinux) debian style

my path away from grub2 took me via lilo to extlinux. i stayed with lilo for a while. syslinux was on my mind, but for something rather trivial/straightforward i couldn't crack. i finally got my head around it, and my usb sticks were the first ones to get it.

next stop was debian on my laptop, which has just been converted. the below steps are for debian systems only. if you want a how-to for other systems, let me know.

# apt-get --no-install-recommends install extlinux
step 1: install the package(s)
i always exclude the recommended packages (bloatware?). interestingly extlinux is smaller than lilo, which pleasantly surprised me.

# extlinux-update
step 2: create configs
this step generates the config files in /boot/extlinux/.

# extlinux-install {/dev/sda7}
step 3: install the bootloader to pbr (or mbr, if you want)
i always install bootloaders to pbr, thereby keeping each system independent along with bootloader/file configs. change the active partition to boot, without worrying about what else you might break.

that's it! reboot, and enjoy your new spartan bootloader :-)

something very interesting is that i can boot live .iso/.img files from the boot menu, without any additional complexity. simply copy those files into /boot/, and run step 2 again.

debian no systemd

debian jessie was steam rolling in to stable with talks of systemd. it all sounded so wonderful.. then i decided to have a look at the internals of systemd, and took arch for a spin. and o boy, what a spin that was for my head! that was when i decided not to let that garbageware into my stables. it never was (and still isn't) stable, is it? my long love affair with debian, seems to be coming to an end with this episode!

systemd - rollout to stable - a shameful episode in debian - forcing the debian tc (technical committee) to make a dodgy decision without giving them enough choices or time - three of the five tc resigned soon after! wonder who's pulling the debian strings??

so now, i continue rolling with wheezy to oldstable, and then maybe to oldoldstable, to perhaps it's grave! meanwhile, i'm looking at alternatives.. openbsd, crux, alpine, slackware. they remind me of debian's younger days.. when i started with potato.

meanwhile, there are lots of behind the scenes developments in the debian land of now dodgy developers trying to sneak in systemd to even those who definitely do not want it. what a change in the attitudes of open source proponents! maybe microsoft strategy is winning here??

i've had to reinstall wheezy from scratch. and the first thing to do was making sure systemd is not welcome here.

# vi /etc/apt/preferences.d/systemd

Package: *systemd*
Pin: origin ""
Pin-Priority: -1'

this ensures that any packages dependant (even indirectly) on systemd will not get installed overtly or covertly, thereby pulling in systemd.

for now, the strategy is to install debian wheezy minimal, do the above, and follow through building the rest of the system. do not upgrade to jessie.. sadly, the latest and the greatest are not always the best for us!


grub2 has become bloatware afaiac, and i'd been meaning to move away for a while. i just didn't have the time, patience, and redundancy on my systems.

if you've been following me, you might have noticed that i like to trash bloatware. i'm always seeking smaller packages, and removing bigger ones. bloatwares are not just unnecessary resource hogs, but security concerns (malware?) too. bigger the code base, the easier it is to hide malware traits. smaller the code, easier it is to read/understand.

my path away from grub2 took me to lilo. small & sweet, lilo reminded me of my early linux days - not so pretty, but extremely efficient, and very functional. i did briefly consider grub, or grub-legacy as some call it.

migrating to lilo was rather easy.

step 1: install the package

# apt-get --no-install-recommends install lilo

step 2: edit config carefully noting your root/boot partition

# vi /etc/lilo.conf



menu-title="lilo menu"


append="3 ipv6.disable=1 quiet"

append="3 ipv6.disable=1 quiet"


step 3: finally install to pbr (or mbr if you prefer)
# lilo -v -C /etc/lilo.conf

notice that lilo backups your current bootloader pbr (or mbr, if you so chose). copy it safely elsewhere, if you might want to revert.

reboot, and enjoy your lilo menu!

my dread was unnecessary. lilo does have some quirks, occasionally misfiring. but it is very easy to reset from a rescue disk. no need to trawl through hoops fscking grub2. just boot from any rescue/system, and run step 3 with *your* lilo.conf.
# lilo -v -C /mnt/etc/lilo.conf

finally reboot once again, to confirm you can boot, before saying good riddance to yet another bloatware!

# apt-get purge --auto-remove grub2
what a great feeling it is to reclaim your system, and see bloatwares (along with all their dependencies) being purged!

most popular posts