LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   How to manually boot kernel using Slackware disk (http://www.linuxquestions.org/questions/slackware-14/how-to-manually-boot-kernel-using-slackware-disk-4175454183/)

Dman58 03-15-2013 08:38 AM

How to manually boot kernel using Slackware disk
 
Hello and good day folks. I've successfully compiled a new kernel from source (3.8.2) and I am using Slackware 14. This is an EFI laptop so I'm not using lilo nor any other boot loader at the moment. I've been manually booting as such:

Code:

huge.s root=/dev/sda7 rdinit= ro
What do I need to type instead of huge.s in order to boot 3.8.2?

malekmustaq 03-15-2013 10:15 AM

Quote:


What do I need to type instead of huge.s in order to boot 3.8.2?

After compiling the new kernel should be placed at /boot directory and modify the links accordingly. Remove the old kernel and old links to that old kernel. Then put your new kernel whatever name you called it then create a link to it, for example you can use "vmlinuz" as your link to the new kernel:

Code:

cd /boot
ln -s mynewkernel-3.8.2-huge vmlinuz

You can then boot like
Code:

vmlinuz root=/dev/sda7 rdinit=ro
just the same. You can even use the same link name "huge.s" instead of "vmlinuz" and speak the same sentence at boot.

Code:

ln -s mynewkernel-3.8.2-huge huge.s
then boot as usual. Note that there are usually other links that you need to recreate if needed, the 'system.map...' and 'config...'.

Hope that helps. Good luck.

onebuck 03-15-2013 11:13 AM

Moderator Response
 
Moved: This thread is more suitable in <Slackware> and has been moved accordingly to help your thread/question get the exposure it deserves.

Didier Spaier 03-15-2013 02:55 PM

You will have to modify the install disk to do that, as the kernels used by it are included in it.

You will need a local mirror of Slackware 14. From now I will refer to the root of that mirror as /.

In /isolinux you'll fin a file named isolinux.cfg.

When you type:
Code:

huge.s root=/dev/sda7 rdinit= ro
the isolinux program looks in that file for a line with label=huge.s. The two indented lines after that one indicate where to find the kernel and what to append to the boot command line, to which it add what you typed after the label. In your case the kernel to use is /kernels/huge.s/bzImage (first line after "label huge.s") and appends "root=/dev/sda7 rdinit= ro" to the append command of the next line which becomes:
Code:

append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=hugesmp.s root=/dev/sda7 rdinit= ro
So you could append three lines using the same template but with your own settings to /isolinux/isolinx.cfg. Of course put your kernel and initrd.img files at a location where you will refer to on the line beginning with 'kernel'.

Then make an ISO and a bootable disk as told in /isolinux/README.TXT

PS Actually you don't need to make a full install disk, only the /isolinux directory and the kernel + initd.img (that you could put directly in /isolinux) are needed , so no need for full local mirror.

kingbeowulf 03-16-2013 06:00 PM

Instead of burning a CD, just make a USB boot image with your custom boot kernel by customizing /var/log/setup/setup.80.make-bootdisk

Then again, why not expend the same effort and use elilo because then you can just add a new kernel without making a new boot disk?
http://docs.slackware.com/howtos:sla..._uefi_hardware
http://www.rodsbooks.com/efi-bootloaders/elilo.html

Dman58 03-18-2013 08:23 PM

Thank you all for the replies, haven't quite got around to it yet but gonna attempt to tackle it in the next day or so. Maybe I will give elilo a try but I think there were a few disadvantages that steered me away in the 1st place, but I can't quite remember what it was. That's why I was just manually booting until I could find the best solution for me, whether it be rEFInd, grub2, or the builtin EFI boot manager doohicky. I'll keep you posted on my endeavors. Until then happy Slacking Slackers!


All times are GMT -5. The time now is 02:04 AM.