# Booting the kernel issue, wrong EFI loader

## professor1234

Hi, 

I face issue with booting on old Fujitsu S400. I have S300 and S400. The S300 is already alive but I'm struggling now with S400 machine.

After I've compiled kernel and lilo, when it starts I get:

```

boot:

Loading gentoo....................(and some more dots)

BIOS data check successful

Wrong EFI loader signature.

earlt console in extract_kernel

input_data: 0x01a70080

input_len: 0x008eb78e

output: 0x01000000

output_len: 0x012abff0

kernel_total_size: 0x01377000

needed_size: 0x01377000

Physical KASLR using RDTSC...

Decompressing Linux... Parsing ELF... Performing relocations... done.

Booting the kernel.

```

and stops. 

The BIOS in the machine is Phoenix - AwardBIOS Futro S400 BIOS Rev. 4.00.0Q

No security Feature checked.

The parted output is:

```

livecd ~ # parted -l /dev/sda

Model: ATA ULTIMATE CF CARD (scsi)

Disk /dev/sda: 16.0GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Disk Flags:

Number  Start   End     Size    Type     File system     Flags

 1      1049kB  3146kB  2097kB  primary                  esp

 2      3146kB  137MB   134MB   primary  ext2            boot

 4      137MB   1201MB  1063MB  primary  linux-swap(v1)

 3      1201MB  16.0GB  14.8GB  primary  ext4

```

fdisk output is:

```

Command (m for help): p

Disk /dev/sda: 14.9 GiB, 15988654080 bytes, 31227840 sectors

Disk model: ULTIMATE CF CARD

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x1c5d1c5c

Device     Boot   Start      End  Sectors  Size Id Type

/dev/sda1          2048     6143     4096    2M ef EFI (FAT-12/16/32)

/dev/sda2  *       6144   268287   262144  128M 83 Linux

/dev/sda3       2344960 31227839 28882880 13.8G 83 Linux

/dev/sda4        268288  2344959  2076672 1014M 82 Linux swap / Solaris

Partition table entries are not in disk order.

```

The lilo.conf output is:

```

boot=/dev/sda             # Install LILO in the MBR

prompt                    # Give the user the chance to select another section

timeout=50                # Wait 5 (five) seconds before booting the default se>

default=gentoo            # When the timeout has passed, boot the "gentoo" sect>

lba32                     # Allows addressing the disk above the 1024th cylinder

image=/boot/vmlinuz-5.4.38-gentoo

  label=gentoo            # Name we give to this section

  read-only               # Start with a read-only root. Do not alter!

  root=/dev/sda3          # Location of the root filesystem

```

The kernel config is:

```

Processor type and features

[*] EFI runtime service support                                                      

[*] Enable seccomp to safely compute untrusted bytecode                              

    Timer frequency (1000 HZ)  --->                                                  

[*] kexec system call                                                                

[*] kernel crash dumps                                                               

[ ] kexec jump    

Firmware drivers ->EFI (Extensible Firmware Interface) Support

<*> EFI Variable Support via sysfs                                                   

[*] Export efi runtime maps to sysfs                                                 

[ ] Enable EFI fake memory map                                                       

<*> EFI Bootloader Control                                                           

-*- EFI capsule loader                                                               

[*] Add support for Quark capsules with non-standard headers                         

<*> EFI Runtime Service Tests Support                                                

[ ] EFI Runtime Configuration Interface Table Version 2 Support    

--- Enable the block layer

--- Enable the block layer                                                           

[*]   Block layer SG support v4                                                      

[ ]   Block layer SG support v4 helper lib                                           

[ ]   Block layer data integrity support                                             

[ ]   Zoned block device support                                                     

[ ]   Block device command line partition parser                                     

[ ]   Enable support for block device writeback throttling                           

[*]   Block layer debugging information in debugfs                                   

[ ]   Logic for interfacing with Opal enabled SEDs                                   

      Partition Types  --->   

Partition Types

[*] Advanced partition selection                                                     

[ ]   Acorn partition support                                                        

[ ]   AIX basic partition table support                                              

[ ]   Alpha OSF partition support                                                    

[ ]   Amiga partition table support                                                  

[ ]   Atari partition table support                                                  

[ ]   Macintosh partition map support                                                

[*]   PC BIOS (MSDOS partition tables) support                                       

[ ]     BSD disklabel (FreeBSD partition tables) support                             

[ ]     Minix subpartition support                                                   

[ ]     Solaris (x86) partition table support                                        

[ ]     Unixware slices support                                                      

[ ]   Windows Logical Disk Manager (Dynamic Disk) support                            

[ ]   SGI partition support                                                          

[ ]   Ultrix partition table support                                                 

[ ]   Sun partition tables support                                                   

[ ]   Karma Partition support                                                        

[*]   EFI GUID Partition support                                                     

[ ]   SYSV68 partition table support                                                 

[ ]   Command line partition support  

File systems

[ ] Validate filesystem parameter description                                        

<*> Second extended fs support                                                       

[*]   Ext2 extended attributes                                                       

[*]     Ext2 POSIX Access Control Lists                                              

[*]     Ext2 Security Labels                                                         

<*> The Extended 3 (ext3) filesystem                                                 

[*]   Ext3 POSIX Access Control Lists                                                

[*]   Ext3 Security Labels                                                           

-*- The Extended 4 (ext4) filesystem                                                 

-*-   Ext4 POSIX Access Control Lists                                                

-*-   Ext4 Security Labels                                                           

[ ]   Ext4 debugging support                                                         

[*] JBD2 (ext4) debugging support                                                    

<*> Reiserfs support                                                                 

[ ]   Enable reiserfs debug mode                                                     

[ ]   Stats in /proc/fs/reiserfs                                                     

[ ]   ReiserFS extended attributes                                                   

<*> JFS filesystem support                                                           

[ ]   JFS POSIX Access Control Lists                                                 

[ ]   JFS Security Labels                                                            

[ ]   JFS debugging                                                                  

[ ]   JFS statistics                                                                 

<*> XFS filesystem support                                                           

[ ]   XFS Quota support                                                              

[ ]   XFS POSIX ACL support                                                          

[ ]   XFS Realtime subvolume support                                                 

[ ]   XFS online metadata check support                                              

[ ]   XFS Verbose Warnings                                                           

[ ]   XFS Debugging support                                                          

<*> GFS2 file system support                                                         

<*> Btrfs filesystem support                                                         

[ ]   Btrfs POSIX Access Control Lists                                               

[ ]   Btrfs with integrity check tool compiled in (DANGEROUS)                        

[ ]   Btrfs will run sanity tests upon loading                                       

[ ]   Btrfs debugging support                                                        

[ ]   Btrfs assert support                                                           

[ ]   Btrfs with the ref verify tool compiled in                                     

< > NILFS2 file system support                                                       

< > F2FS filesystem support                                                          

[ ] Direct Access (DAX) support                                                      

[*] Enable filesystem export operations for block IO                                 

-*- Enable POSIX file locking API                                                    

[*]   Enable Mandatory file locking                                                  

[ ] FS Encryption (Per-file encryption)                                              

[ ] FS Verity (read-only file-based authenticity protection)                         

[*] Dnotify support                                                                  

-*- Inotify support for userspace                                                    

[ ] Filesystem wide access notification                                              

[*] Quota support                                                                    

[*] Report quota messages through netlink interface                                  

[ ] Print quota warnings to console (OBSOLETE)                                       

[ ] Additional quota sanity checks                                                   

< > Old quota format support                                                         

<*> Quota format vfsv0 and vfsv1 support                                             

<*> Old Kconfig name for Kernel automounter support                                  

-*- Kernel automounter support (supports v3, v4 and v5)                              

< > FUSE (Filesystem in Userspace) support                                           

< > Overlay filesystem support                                                       

    Caches  --->                                                                     

    CD-ROM/DVD Filesystems  --->                                                     

    DOS/FAT/NT Filesystems  --->                                                     

    Pseudo filesystems  --->                                                         

[*] Miscellaneous filesystems  --->                                                  

[*] Network File Systems  --->                                                       

-*- Native language support  --->                                                    

[ ] UTF-8 normalization and casefolding support   

Serial ATA and Parallel ATA drivers (libata)

[*]   Verbose ATA error reporting                                                    

[*]   ATA ACPI Support                                                               

[ ]     SATA Zero Power Optical Disc Drive (ZPODD) support                           

[*]   SATA Port Multiplier support                                                   

      *** Controllers with non-SFF native interface ***                              

<*>   AHCI SATA support                                                              

(0)     Default SATA Link Power Management policy for mobile chipsets                

< >   Platform AHCI SATA support                                                     

< >   Initio 162x SATA support (Very Experimental)                                   

< >   ACard AHCI variant (ATP 8620)                                                  

< >   Silicon Image 3124/3132 SATA support                                           

[*]   ATA SFF support (for legacy IDE and PATA)                                      

 *** SFF controllers with custom DMA interface ***                                   

< >     Pacific Digital ADMA support                                                 

< >     Pacific Digital SATA QStor support                                           

< >     Promise SATA SX4 support (Experimental)                                      

[*]     ATA BMDMA support                                                            

 *** SATA SFF controllers with BMDMA ***                                             

<*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support                                   

< > DesignWare Cores SATA support                                                    

< > Marvell SATA support                                                             

< > NVIDIA SATA support                                                              

< > Promise SATA TX2/TX4 support                                                     

< > Silicon Image SATA support                                                       

<*> SiS 964/965/966/180 SATA support                                                 

< > ServerWorks Frodo / Apple K2 SATA support                                        

< > ULi Electronics SATA support                                                     

<*> VIA SATA support                                                                 

< > VITESSE VSC-7174 / INTEL 31244 SATA support                                      

 *** PATA SFF controllers with BMDMA ***                                             

< > ALi PATA support                                                                 

<*> AMD/NVidia PATA support                                                          

< > ARTOP 6210/6260 PATA support                                                     

< > ATI PATA support                                                                 

< > ARTOP/Acard ATP867X PATA support                                                 

< > CMD64x PATA support                                                              

< > CS5510/5520 PATA support                                                         

< > CS5530 PATA support                                                              

< > CS5535 PATA support (Experimental)                                               

< > CS5536 PATA support                                                              

< > Cypress CY82C693 PATA support (Very Experimental)                                

< > EFAR SLC90E66 support                                                            

< > HPT 366/368 PATA support                                                         

< > HPT 370/370A/371/372/374/302 PATA support                                        

< > HPT 371N/372N/302N PATA support                                                  

< > HPT 343/363 PATA support                                                         

< > IT8213 PATA support (Experimental)                                               

< > IT8211/2 PATA support                                                            

< > JMicron PATA support                                                             

< > Marvell PATA support via legacy mode                                             

< > NETCELL Revolution RAID support                                                  

< > Ninja32/Delkin Cardbus ATA support                                               

< > Nat Semi NS87415 PATA support                                                    

<*> Intel PATA old PIIX support                                                      

< > OPTI FireStar PATA support (Very Experimental)                                   

< > Promise PATA 2027x support                                                       

< > Older Promise PATA controller support                                            

< > RADISYS 82600 PATA support (Experimental)                                        

< > RDC PATA support                                                                 

< > SC1200 PATA support                                                              

<*> Intel SCH PATA support                                                           

< > SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support                                   

< > CMD / Silicon Image 680 PATA support                                             

-*- SiS PATA support                                                                 

< > Toshiba Piccolo support (Experimental)                                           

< > Compaq Triflex PATA support                                                      

<*> VIA PATA support                                                                 

< > Winbond SL82C105 PATA support                                                    

 *** PIO-only SFF controllers ***                                                    

< >     CMD640 PCI PATA support (Experimental)                                       

< >     Intel PATA MPIIX support                                                     

< >     Nat Semi NS87410 PATA support                                                

< >     OPTI621/6215 PATA support (Very Experimental)                                

< >     PCMCIA PATA support                                                          

< >     PC Tech RZ1000 PATA support                                                  

 *** Generic fallback / legacy drivers ***                                           

< >     ACPI firmware driver for PATA                                                

<*>     Generic ATA support                                                          

<*>     Legacy ISA PATA support (Experimental)      

Generic Driver Options

[ ] Support for uevent helper                                                        

-*- Maintain a devtmpfs filesystem to mount at /dev                                  

[*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs                

[*] Select only drivers that don't need compile-time external firmware               

[*] Disable drivers features which enable custom firmware building                   

    Firmware loader  --->                                                            

[ ] Driver Core verbose debug messages                                               

[*] Managed device resources verbose debug messages                                  

[ ] Test driver remove calls during probe (UNSTABLE)                                 

< > Build kernel module to test asynchronous driver probing                          

[ ] Enable verbose DMA_FENCE_TRACE messages     

```

Any idea appreciated...

Update:

I've installed grub but effect exactly the same as above.

----------

## Ant P.

LILO is a BIOS bootloader. If you're booting via that, you aren't using EFI.

----------

## joanandk

 *professor1234 wrote:*   

> and stops. 

 

Hi,

I had this effect as I have compiled the kernel on a 64bit system for a 32bit (Geode SC1100). If you are using a faster machine to compile, you should use 

```
linux32 make ...
```

.

The second thought: you have selected the correct cpu and architecture? This is the cause for a crash before anything appears on the screen.

As you are using BIOS based system, you can remove all EFI related options. Makes the kernel smaller and lesser point of failure.

BR

----------

## professor1234

I've un-checked all EFI related options and checked some other options in kernel config. 

I compile it on destination machine (S400). It takes some time, but I'm not in hurry  :Wink: 

I will try to install initramfs - anyhow it is cheked in kernel configuration. 

We will see. For now not working yet.

[Update]:

I'm trying to install kexec by logging with chroot but it seems there are some issues with it. I use howto: https://forums.gentoo.org/viewtopic-t-294644-highlight-kexec.html

```

(chroot) livecd /boot # /etc/init.d/kexec stop

 * ERROR: kexec stopped by something else

(chroot) livecd /boot # /etc/init.d/kexec start

 * WARNING: kexec is already starting

(chroot) livecd /boot #

```

The kexec config below:

```

LOAD_DURING_SHUTDOWN="yes"

BOOTPART="/boot"

ROOTPART="/dev/sda3"

```

I also tried run it with script created acc. some other manuals in /etc/local.d/kdump.start:

```

#!/bin/bash

kexec -p /boot/vmlinuz-5.4.38-gentoo --reset-vga --console-vga --append="root=[root-device] single irqpoll maxcpus=1 reset_devices"

```

But in this case it gives (even if followed by 

```
crashkernel=128M@16M
```

):

```

Memory for crashkernel is not reserved

Please reserve memory by passing"crashkernel=X@Y" parameter to kernel

Then try to loading kdump kernel

```

I also wondering if this kernel stop may be related to frame vga buffer drivers...

----------

## professor1234

I gave up and used genkernel. It's running. But I do not feel comfortable with such solution. So I've uncheked houndreds of modules and recompile again to see will this still work. I have back up config from genkernel so in case issues I can come back there. 

The other interesting thing is, that after genkernel installation the menuconfig looks slightly different and some modules cannot be unchecked comparing to regular menuconfig. 

I guess that issue I've faced could be related to initramfs that is installed now, maybe VGA drivers, or some other driver that is not checked in seed-kernel config.

Anyhow thanks for feedbacks.

----------

