Alternate Bootloader

Home Page Forums Network Management ZeroShell Alternate Bootloader

This topic contains 0 replies, has 0 voices, and was last updated by  lennart 9 years, 7 months ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #41761

    lennart
    Member

    Hi!

    I am new here. I registered because I am trying to install ZeroShell, but bumped into some problems.

    I have an x86 compatible embedded computer that I want to install ZeroShell on that does not like GRUB at all. It fails during boot with the dreaded “Error 25”, and while all suggestions I found point towards updating BIOS settings and/or version, there won’t be any new BIOS updates for my hardware.

    I was wondering if there are alternate bootloaders for ZeroShell or if there were any plans for supporting any. I beleive that I am not the only person with GRUB issues (after searching the forums) and thus I suggest adding support for lilo and/or other bootloaders if such support does not allready exist!

    UPDATE: Since I didn’t get a reply and since I am quite inpatient in nature I decided to try adding LILO support to ZeroShell myself. I have moved stuff around this thread quitre abit. Sorry for the mess!!

    These are the steps I took to install LILO:

    1. Copy the original ZeroShell image to your CF/HD drive.
    2. Mount the first partition of that drive under some dir on your workstation, like for example /media/disk:

    mkdir /media/disk && mount /dev/sdc1 /media/disk

    3. Go into the newly mounted dir:

    cd /media/disk

    4. Copy the following into a file called “lilo.conf” in the root of that partition.


    boot = /dev/sdc
    delay = 10
    vga = ext
    lba32

    image=/vmlinuz
    label=ZeroShell
    initrd=/initrd.gz
    append="root=/dev/hdc2 init=/sbin/init"
    ramdisk=140000000

    5. Make dirs “boot” and “dev” in the root of that partition:

     mkdir boot dev

    6. bind-mount the dev folder so that lilo can have access to it while chrooted:

    mount -o bind /dev dev

    7. While still in the /media/disk dir run the following lilo command:

    lilo -r .  -v -C lilo.conf 

    8. Time to unmount and test the effort. Start with:

    umount dev

    9.

    umount /media/disk

    10. And to be sure:

    sync

    11. Put the disk into your embedded and try to boot. You should see the lilo loading the kernel and then… the kernel crashing with VFS kernel panic, suggesting the root parameter is wrong 😉

    #48357

    lennart
    Member

    After the initial steps above I have gone through alot of trial and error and googling to arrive at the following tips:

    1. To have the kernel find the correct root, simply look at the errormessages the kernel give out before “kernel panic VFS bla bla”. It will list the alternatives. Simply put the most likely alternative given your configuration as the root= paramete in your lilo.conf.

    look at my lilo.conf in the previous post and you will see my root parameter on the line starting with “append”.

    2. The ramdisk size must be more than 131megabytes for the boot to work. I figured out the size requirement by by looking at the grub.conf and by testing with the following command:


    root@katana:/media/CDROM# du -sh
    131M .

    The errormessage if the size is too small is:

    Loading root filesystem into RAM device... Fail

    3. The kernel claims that it cant find the init executable, and asking for an init= parameter. I am a bit puzzled because the grub config does not seem to mention a special init parameter, and that is usually left to the default of /bin/init or /sbin/init or something like that. This could indicated some problem with the mounting of hte ISO root filesystem.

    This is how far I have come. I will investigate further.

    Any help or suggestions are appreciated!

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.