Menu

#31 efibootmgr call makes bad entries

open
nobody
5
2003-09-18
2003-09-18
No

Hi there.

systemconfigurator, when called with --runboot, runs
efibootmgr in a way that creates bad entries that won't
boot, at least on my one test machine.

I was looking at how to fix it but I'm a bit confused
about what the efibootmgr command that is run is trying
to do. I don't want to break anything.

The following command, for example, works fine for me
and is what I'll do manually for now in the
systemimager autoinstall scripts.

efibootmgr -c -L "erikj-SuSE" -d /dev/sdb -p 1 -l
\\efi\\SuSE\\elilo.efi -w

In this case, I wanted to add an entry for elilo on the
2nd root drive, first partition.

If you'd like me to investigate a fix and can explain a
bit why the efibootmgr command that was produced is
used, I'd be happy to look in to this.

Discussion

  • dann frazier

    dann frazier - 2003-09-23

    Logged In: YES
    user_id=146718

    systemconfigurator works for redhat systems, and i don't
    think suse is much different.
    you can see exactly what it is trying to run by running
    systemconfigurator in verbose mode, but it should end up
    calling something like this:
    efibootmgr -c -d /dev/sda -p 1 -w -l
    \\efi\\redhat\\elilo.efi -u -- elilo -C
    \\efi\\redhat\\elilo.conf

    the only real difference i see is the part after the "--",
    which shows
    efibootmgr how to call elilo.efi.

    i'd suggest that you:
    - verify the efibootmgr command that sc will try to use by
    running it in verbose mode
    - verify that the -- bit is what's breaking you
    - see what's different - does the elilo.conf file
    referenced exist on suse where SC is looking? are you using
    a new enough efibootmgr, etc, etc

     
  • Nobody/Anonymous

    Logged In: NO

    Thanks Dan. I'll check on this and do a bit more research.

    BTW - SuSE and SGI ProPack (and RedHat AS 2.1) seem to all use
    efibootmgr 0.4.0.

     
  • Erik Jacobson

    Erik Jacobson - 2003-09-23

    Logged In: YES
    user_id=730453

    Hi Dan.

    With my SuSE config, efibootmgr as called by
    systemconfigurator did
    this:

    /usr/sbin/efibootmgr -c -w -l \\SuSE\\elilo.efi -u -- elilo
    -C \\SuSE\\elilo.conf

    I tried some other things to try to get it working when I
    realized this machine has multiple root drives and the above
    is not specifying the drive and partition. fs0: is not SuSE
    on this machine.

    I ran this by hand:

    efibootmgr -c -w -l \\efi\\SuSE\\elilo.efi -d /dev/sdb -p 1
    -u -- \\efi\\SuSE\\elilo -C \\efi\\SuSE\\elilo.conf

    The system could then boot.

    Also note that, on SuSE, the EFI partition is mounted as
    "/boot".
    So, in the root of the EFI partition is "/". SuSE puts its
    kernels there
    but stores elilo.conf and elilo.efi in efi/SuSE (or
    /boot/efi/SuSE on the
    running linux system).

    I'll see how my stock AS 2.1 system performs and compare it
    to this.
    Then I'll see what the code is doing.

     
MongoDB Logo MongoDB