bootstrap-vz
bootstrap-vz copied to clipboard
Unable to configure extlinux on jessie
extlinux-update
generates the extlinux default config file so that we may add stuff like the console extlinux should print to. Now this: https://packages.debian.org/search?suite=jessie&arch=any&searchon=contents&keywords=extlinux-update (on wheezy).
Does anybody have a clue as to wtf bootstrap-vz should do instead?
This doesn't help. It says the bug is fixed, but I don't see any extlinux-update anywhere in the deb repos for jessie.
sigh
Due to 'popular demand' and the fact that the debian specific bootloader integration just isn't ready yet (and will not be in time for jessie, temporarily dropping Debian custom additions for jessie and shipping an (almost) vanilla syslinux package from now on (Closes: #750851, #754225). [..]
-- Daniel Baumann [email protected] Sun, 10 Aug 2014 13:48:50 +0200
For what it is worth, I was able to build an s3 backed Debian Jessie AMI using hvm
and extlinux
on the wip-integration
branch.
Opened #200 before I saw this, but I imagine it may be related?
Heh, yeah. That works mostly because I have hacked and slashed my way through the problem.
But once somebody does a dist-upgrade
further down the line, they're screwed because there is no extlinux-update
post-kernel update script in place to update the config.
Yikes. I have an AWS EC2 VM that I installed from a community Debian image.
Earlier today, I decided to try 'apt-get dist-upgrade' to jessie. When the news item about the lack of bootloader support for extlinux popped up on the screen, I aborted the upgrade. In aptitude, I manually held back extlinux and upgraded everything else.
That worked, but I had manually to edit /etc/default/extlinux in order to get the new kernel by selecting the 'l1' image. (I did not remove the wheezy kernel image, which remains the 'l0' image.)
Anyway, I was lucky to have been paying attention. I did not even know that extlinux was being used to boot the system, but I had been wondering in the back of my mind how things were set up. When I saw the news item, I suspected that extlinux must have been the way.
How will new jessie images boot on AWS EC2 with hvm? Can I switch to grub? I didn't try because I'm a N00B and don't know what I'm doing.
Though I'm not the maintainer of the official debian images (i.e. I don't build them, I just maintain the bootstrapper) I'd hazard a guess and say that it will boot through grub, or at least I'll strongly urge the maintainer to do so (bootstrap-vz can install & configure either extlinux or grub).
It's sad really. I like extlinux. It's a lot easier to set up than grub and is built with simplicity in mind, but the state of the debian package in jessie right now makes it pretty much impossible to install/configure and maintain through kernel updates. I sincerely hope someone will step up to the challenge and apply the finishing touches to the package (and from what I've seen it's not a lot that's required).
I like extlinux too. Until the packagers fix it, I don't install the package I untar the source and use the binary to setup extlinux and put the extlinux.conf right in /boot. I've been using sys/extlinux this way since squeeze so no problems with kernel upgrades.
@cpcn, unfortunately that doesn't solve the dist-upgrade problem :-/
@cpcn, which "use the binary" file are you talking about? Can you elaborate a bit more on it since it's a nontraditional way, so that people can follow, please?
I like extlinux exactly as @andsens has putted "It's a lot easier to set up than grub and is built with simplicity in mind". So I'd like to use it despite the hoops I need to jump through.
Thanks
If I understand (or ever understood) the problem; here's what i'm suggesting:
Install extlinux in boot not boot/extlinux; (whether boot is a directory or separate partition) `1. The installer runs on a mounted filesystem. Run the extlinux installer on the directory in which you want EXTLINUX installed:
extlinux --install /boot
` Because when I installed it in /boot/extlinux I would have to copy over the vmlinuz and initrd files into the extlinux directory after an apt-get upgrade or dist-upgrade....
the extlinux.conf should be something like (or exactly like):
#syslinux vers 6.03
SAY Now booting Jessie from Syslinux
DEFAULT Jessie
LABEL Jessie
KERNEL vmlinuz-3.16.0-4-amd64
APPEND rw root=/dev/xvda2 console=ttyS0 <--or use a UUID for USB stick
INITRD initrd.img-3.16.0-4-amd64
This works for me on bare-metal / multi-boot / AWS (multi-partitioned) hvm images / and USB sticks. Then, apt-get upgrade or dist-upgrade doesn't need post-inst additions to upgrade the kernel or initrd
*When I said just use the binaries I meant just unpack the tarball and run the executables from the local directory; problem with that is the included extlinux
binary is 32bit so I have to
dpkg --add-architecture i386
on my dev workstation rather than trying to build syslinux from scratch.
syslinux-6.03/bios/extlinux/extlinux --install /boot
cat syslinux-6.03/bios/mbr/mbr.bin > /dev/XXX
Thanks for the update, @cpcn.
Just FYI, I never had problem installing extlinux into boot/extlinux, without copying over the vmlinuz and initrd files into the extlinux directory, even after apt-get upgrade or dist-upgrade. post-inst additions to upgrade the kernel or initrd should be done automatically. Otherwise, it is clearly that extlinux-update
is not doing a proper job, which is what the OP is about If I understand correctly.
For e.g., this is a sample of extlinux.conf when extlinux is installed into boot/extlinux:
label l0
menu label Ubuntu GNU/Linux, kernel 3.19.0-25-generic
menu default
linux /boot/vmlinuz-3.19.0-25-generic
append initrd=/boot/initrd.img-3.19.0-25-generic root=UUID=1e6e04c0-37e6-40a2-8384-675f20b381ff ro
Now back to my original question, by "unpack the tarball", did you mean the tarball downloaded from https://www.kernel.org/pub/linux/utils/boot/syslinux/Testing/? Have you tried the latest 6.04?
thanks
..no i haven't; don't really need it right now...i'll wait until it's released