Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Booting UEFI without Grub
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
derekge
n00b
n00b


Joined: 23 Oct 2023
Posts: 15
Location: San Diego

PostPosted: Sat Oct 28, 2023 2:14 am    Post subject: Booting UEFI without Grub Reply with quote

Asking for help as I just can't figure this out - I cannot get my gentoo boot partition to be recognized by my UEFI bios even though it recognizes other UEFI boot partitions. As a workaround, I gparted off part of my disk and installed linux mint because I knew it would install alongside gentoo with ease. So effectively, I am booting into gentoo using grub installed on a linux mint partition. What I want to do is get gentoo booting UEFI and then I will erase mint and gpart the rest of my disk for use by gentoo. So, here are the details:

Kernel Config
How much of the kernel config actually needs to be done? On the UEFI wiki is states:
Quote:
In order to support native (U)EFI, the kernel needs to be configured with EFI support.

Processor type and features --->
[*] EFI runtime service support (EFI=y)
[ ] EFI stub support (EFI_STUB=n)
[ ] EFI mixed-mode support (EFI_MIXED=n)

All of the above are configured in my kernel. Next, let me show you my fstab:
Code:
# <fs>         <mountpoint>   <type>      <opts>      <dump> <pass>

UUID=C587-0998      /boot      vfat      defaults   0 2
UUID=d547a5df-0eab-4a07-8673-6314dbb98ee9      /      xfs      defaults      0 1
/dev/nvme0n1p2       none      swap      sw      0 0

And take a look at my fdisk output:
Code:
Device             Start        End    Sectors   Size Type
/dev/nvme0n1p1      2048    2099199    2097152     1G EFI System
/dev/nvme0n1p2   2099200   10487807    8388608     4G Linux swap
/dev/nvme0n1p3  10487808  512784673  502296866 239.5G Linux filesystem
/dev/nvme0n1p4 512786432 1953523711 1440737280   687G Linux filesystem

Here is the output of lsblk:
Code:
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 931.5G  0 disk
├─nvme0n1p1 259:1    0     1G  0 part /boot
├─nvme0n1p2 259:2    0     4G  0 part [SWAP]
├─nvme0n1p3 259:3    0 239.5G  0 part /
└─nvme0n1p4 259:4    0   687G  0 part

Here is the output of blkid:
Code:
/dev/nvme0n1p1: UUID="C587-0998" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="56601e36-84bb-2143-80b0-59fd70a82787"

This was all set up following the handbook and wiki with many changes and attempts at boot to no avail (I borked the system a lot but recovered it without much problem). From what I suspect, the above configuration is all that is needed but I am missing something, that I don't know.

Nevertheless, I moved onto EFI Stub because the above didn't work. On the UEFI wiki, it states:
Quote:
The EFI stub support is only required to boot the kernel directly as an EFI executable, as is the EFI mixed-mode support in case a 64-bit kernel is to be booted directly from a 32-bit EFI implementation.

I am not sure what this means exactly but the more I read it, I felt like it wasn't needed for my purpose of booting UEFI. But alas, I followed the EFI Stub wiki because what I was trying wasn't working. My kernel config is proper for EFI stub support:
rocessor type and features --->
[*] EFI runtime service support
[*] EFI stub support
[ ] EFI mixed-mode support (OPTIONAL)
Then there is this note:
Quote:
For Distribution kernels (except gentoo-kernel-bin) the kernel settings go to savedconfig or /etc/kernel/config.d.

My kernel is:
Quote:
6.1.57-gentoo-dist

I don't know what this means but it looks like my kernel is configured correctly. The next line says:
Quote:
With the kernel configured with EFI Stub support (assuming that ESP is mounted at /efi).

So now I go to the ESP wiki and find that more kernel requirements:
-*- Enable the block layer --->
Partition Types --->
[*] Advanced partition selection
[*] EFI GUID Partition support

-*- File Systems --->
DOS/FAT/EXFAT/NT Filesystems --->
<*> VFAT (Windows-95) fs support
(437) Default codepage for FAT
(iso8859-1) Default iocharset for FAT
Native Language support --->
[*] NLS ISO 8859-1 (Latin 1; Western European Languages)

And I find the first discrepancy - my Default iocharset for FAT is
(UTF-8 ) Default iocharset for FAT

Does this mean I need to change the setting and recompile the kernel? So far, I haven't done anything like that so let's move on. Here is the output of parted /dev/nvme0n1 print:
Quote:
Number Start End Size File system Name Flags
1 1049kB 1075MB 1074MB fat32 boot, esp

This shows the boot and esp flags so it looks good. Now the ESP wiki tells me to:
Quote:
For OpenRC, use AutoFS to mount on-demand

I install the package and make changes to these file (and registered the service for autostart with openrc):
/etc/autofs/auto.master
added the line:
Quote:
/- /etc/autofs/auto.boot --timeout=600,sync,nodev

I made this file /etc/autofs/auto.boot and added these lines:
Quote:
/boot -fstype=vfat,uid=0,gid=0,umask=0077 UUID=C587-0998
/efi -fstype=vfat,uid=0,gid=0,umask=0077 UUID=C587-0998

Finally, the wiki states:
Quote:
Computers with UEFI usually provide a boot menu and a configuration tool for creating, sorting or deleting boot items. The content of the ESP is visible to these tools and creating a boot item is like choosing the medium from a given selection, then surfing through the ESP and selecting the item, e.g bzImage-4.9.76-r1-gentoo.efi.

Alternatively, efibootmgr can be used for generating the UEFI boot items.

So I don't need efibootmgr as long as ESP is set up correctly. Now I reboot and still don't see the gentoo UEFI partition. So I move onto efibootmgr and add entries with these variations:
Quote:
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Gentoo" --loader "\efi\\gentoo\bzImage.efi"
efibootmgr --create --disk /dev/nvme0n1 --label "Gentoo EFI Stub" --loader "\efi\gentoo\bzImage.efi" -u "root=PARTUUID=708279f1-337e-1746-b41b-eaca11d69d9c"
efibootmgr --create --disk /dev/nvme0n1 --label "Gentoo EFI Stub" --loader "\efi\gentoo\bzImage.efi" -u "root=/dev/nvme0n1p3"

So I reboot and the UEFI partition isn't seen. What am I doing wrong?
Back to top
View user's profile Send private message
skellr
l33t
l33t


Joined: 18 Jun 2005
Posts: 975
Location: The Village, Portmeirion

PostPosted: Sat Oct 28, 2023 3:24 am    Post subject: Reply with quote

To boot the kernel directly from the UEFI firmware you do want EFI stub support in the kernel and you will want to use efibootmgr to set the EFI variables to tell it what to try and boot.

You are getting close. Autofs is a rabbit hole you don't need to venture down for what you are doing. It led you astray.

What type of partition table is on /dev/nvme0n1? Hopefully it is gpt and not msdos. You want a GPT partiton table to make things easier.

Code:
fdisk -l /dev/nvme0n1 | grep -i label
Back to top
View user's profile Send private message
derekge
n00b
n00b


Joined: 23 Oct 2023
Posts: 15
Location: San Diego

PostPosted: Sat Oct 28, 2023 3:41 am    Post subject: Reply with quote

Thanks for the reply skellr. Output:
Quote:
Disklabel type: gpt
Back to top
View user's profile Send private message
skellr
l33t
l33t


Joined: 18 Jun 2005
Posts: 975
Location: The Village, Portmeirion

PostPosted: Sat Oct 28, 2023 4:03 am    Post subject: Reply with quote

derekge wrote:
Thanks for the reply skellr. Output:
Quote:
Disklabel type: gpt


That's a good thing.

So you have /boot as your ESP location. That's fine.

When boot is mounted is the path /boot/efi/gentoo/bzImage.efi valid or do you have something else like /boot/gentoo/bzImage.efi

That's my first thought, you may have an unneeded directory 'efi' when using efibootmgr. Or is the ESP mounted at /boot/efi?

Just double check that the path you specify to efibootmgr is from the root of the ESP or "EFI Partiton" it could be "\gentoo\bzImage.efi"
Back to top
View user's profile Send private message
derekge
n00b
n00b


Joined: 23 Oct 2023
Posts: 15
Location: San Diego

PostPosted: Sat Oct 28, 2023 5:18 am    Post subject: Reply with quote

Code:
/boot/EFI/BOOT $ ls
BOOTX64.EFI  fbx64.efi  mmx64.efi

Do I just need to copy bzImage.efi into the above directory and run efibootmgr this way?
Code:
efibootmgr --create --disk dev/nvme0n1 --label "Gentoo" --part 1 --loader "/boot/EFI/BOOT/bzImage.efi" -u "root=/dev/nvme0n1p3"
Back to top
View user's profile Send private message
skellr
l33t
l33t


Joined: 18 Jun 2005
Posts: 975
Location: The Village, Portmeirion

PostPosted: Sat Oct 28, 2023 6:39 am    Post subject: Reply with quote

if you change the loader option it should work.
Code:
--loader "EFI\BOOT\bzImage.efi'


EFI/BOOT is in caps so I'm guessing it's on a fat32 filesystem and EFI/ is in the root of that partition.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Sat Oct 28, 2023 1:24 pm    Post subject: Reply with quote

derekge,

first of all: UEFI starts a binary (not a partition) ... this can be a bootloader (like grub) or a Linux kernel (or Windows). UEFI can start a binary ONLY from an ESP (efi system partition) ... so, this binary file MUST be on your ESP ... additionally your UEFI needs the information which binary it shall start. This is an UEFI boot entry. You can see these boot entries with "efibootmgr" .... and also change, add or delete them with it.

Now what is necessary to boot a kernel directly:

1. Your BIOS setting must allow UEFI boot (this is OK because you start the grub with UEFI)
2. Your harddisk must have GPT (instead MBR) - this is also OK because you start the grub with UEFI
3. On your harddisk you must have a partition with ESP flag enabled: Your ESP (also OK)
4. This partition must be formatted with a FAT variant (recommended: FAT32) ... also OK
5. On this partition must be a directory named \EFI (or \efi because we have FAT and dont care if it is uppercase or lowercase) ... dont forget: If you mount this partition in a Linux system to a directory like /boot you will SEE IT as: /boot/EFI
6. In this \EFI directory you make another directory ... like \EFI\gentoo ... or \EFI\example ... or \EFI\backup
7. Your kernel must be configured to "be" a STUB kernel.
8. In this directory you MUST copy the binary file you want to start ... AND ... this file must have the suffix .efi. If you install grub then the Gentoo grub-install-routine installs your grub into \EFI\gentoo\grubx64.efi ... If you want start your stub kernel then you MUST copy the kernel (from where it was build; maybe: /usr/src/linux/arch/x86/boot/bzImage) into this directory. Example:
Code:
# mount /dev/nvme0n1p1 /boot
# mkdir -p /boot/EFI/example
# cp /usr/src/linux/arch/x86/boot/bzImage /boot/EFI/example/bzImage.efi

(with this copy you also rename your kernel to have suffix .efi)
9. Now you need a UEFI boot entry. Do this with "efibootmgr" ... Because UEFI see only the ESP as FAT parition you must use BACKSLASHES (and no /boot because this is a directory of your root partition. UEFI sees only your ESP directly and the "FIRST" directory UEFI see is: \EFI). Example:
Code:
# efibootmgr --create --disk /dev/nvme0n1 --label "Gentoo" --part 1 --loader "\EFI\example\bzImage.efi"

Yes, there was missing the first \ in --loader "EFI\BOOT\bzImage.efi'
(hint: When you create a new boot entry with "efibootmgr" then "efibootmgr automatically changes the boot order: So, your new created entry is the FIRST entry UEFI will boot.)

... Now ... with this you can start a kernel ... BUT ... a kernel needs one information: Where is my root partition ? Here you have two choices:

a) You can configure it into the kernel (as "Built-in kernel command line"), OR
b) UEFI passes the information as kernel command line parameter to the kernel. THIS is be done when you create the UEFI boot entry ... you ADD this parameter with option -u

(supplement: if you are using grub as bootloader, then it is the job of grub to pass this information to the kernel)

Example:
Code:
# efibootmgr --create --disk /dev/nvme0n1 --label "Gentoo" --part 1 --loader "\EFI\example\bzImage.efi" -u "root=/dev/nvme0n1p3"


... BUT THAT IS NOT ALL ...

You can have a kernel WITH or WITHOUT an initramfs ...

If you configure your kernel yourself you can renounce to build an initramfs ... but if you are using a DIST-kernel (or you made it with genkernel) THEN you have an initramfs ...

... AND now you MUST configure UEFI so it passes this initramfs ALSO to your kernel. You must do - additionally - two steps:

1. Copying this initramfs-file ALSO into /boot/EFI/example ... AND
2. Telling UEFI where to find ... this you do also with parameter -u

Example:
Code:
# efibootmgr --create --disk /dev/nvme0n1 --label "Gentoo" --part 1 --loader "\EFI\example\bzImage.efi" -u "root=/dev/nvme0n1p3 initrd=\EFI\example\initramfs.CPIO"

If your ESP is the first partition, then you can omit the --part 1 specification (because -p 1 is default). You can also shorten it, e.g.:
Code:
# efibootmgr -c -d /dev/nvme0n1 -L "Gentoo" -l "\EFI\example\bzImage.efi" -u "root=/dev/nvme0n1p3 initrd=\EFI\example\initramfs.CPIO"

Instead initramfs.CPIO use the name of your copied initramfs ! (You can use as parm -L what you like; this is the name you will see in your BIOS; I named one of my entries "Secure" and the other "Backup"; If you have already an entry with name "Gentoo" you should use another name).


Attention: If you think you configure both parameters into the kernel ...

Code:
Processor type and features  --->
    [*] Built-in kernel command line
    (root=/dev/nvme0n1p3 ro initrd=\EFI\example\initramfs.CPIO)

together with:
Code:
# efibootmgr -c -d /dev/nvme0n1 -L "Gentoo" -l "\EFI\example\bzImage.efi"


... This does not work !

You can configure your root= into the kernel, but the information initrd= MUST be a UEFI parameter. So, IF you have in your kernel command line:
Code:
Processor type and features  --->
    [*] Built-in kernel command line
    (root=/dev/nvme0n1p3 ro)

You MUST make an UEFI entry so:
Code:
# efibootmgr -c -d /dev/nvme0n1 -L "Gentoo" -l "\EFI\example\bzImage.efi" -u "initrd=\EFI\example\initramfs.CPIO"



See more here:
https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Kernel_Commandline_Parameter


You have asked about kernel options ...

1. Your kernel must - ALWAYS - be able to access a GPT parititon (independent if you want use your kernel as stub kernel or not; as soon as you have GPT every kernel must have this config). This is explained in: https://wiki.gentoo.org/wiki/EFI_System_Partition
(Every dist-kernel has this already configured/enabled in the kernel; so, no need to do it 8) )
2. Your kernel must be a STUB kernel if you want boot it directly. This is explained in: https://wiki.gentoo.org/wiki/EFI_stub
3. If you want access UEFI variables (with "efibootmgr") your kernel needs access to it. This is explained in: https://wiki.gentoo.org/wiki/Efibootmgr
(If you are funny you can have a stub kernel without these settings ... but you can never do "efibootmgr" :lol: ... you see this is also independent if you build a stub kernel; also a "normal" kernel needs this if you want start "efibootmgr")
Back to top
View user's profile Send private message
derekge
n00b
n00b


Joined: 23 Oct 2023
Posts: 15
Location: San Diego

PostPosted: Sat Oct 28, 2023 7:09 pm    Post subject: Reply with quote

Thank you skellr and pietinger - I've made some progress. The below command made the UEFI entry show up (yay!):
Code:
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Gentoo" --loader "\EFI\BOOT\bzImage.efi" -u "root=PARTUUID=708279f1-337e-1746-b41b-eaca11d69d9c"

So the directory where my bzImage.efi file is located is /boot/EFI/BOOT

Code:
tree /boot
efi
└── EFI
    ├── BOOT
    │   ├── BOOTX64.EFI
    │   ├── bzImage.efi
    │   ├── fbx64.efi
    │   └── mmx64.efi
    └── ubuntu
        ├── BOOTX64.CSV
        ├── grub.cfg
        ├── grubx64.efi
        ├── mmx64.efi
        └── shimx64.efi


But lacking the initramfs, the kernel panics and I get the error:
Code:
not syncing vfs unable to mount root fs on unknown-block(0,0)

So I am stuck on this step:
Quote:
1. Copying this initramfs-file ALSO into /boot/EFI/example ... AND

So I ran:
Code:
find / -type f -name 'initramfs*'
/var/db/repos/gentoo/.tmp-unverified-download-quarantine/sys-kernel/genkernel/files/initramfs.mounts
/var/db/repos/gentoo/sys-kernel/genkernel/files/initramfs.mounts
/usr/src/linux-6.1.57-gentoo/usr/initramfs_data.S
/usr/src/linux-6.1.57-gentoo/init/initramfs.c
find: ‘/run/user/1000/doc’: Permission denied

So I copied /usr/src/linux-6.1.57-gentoo/init/initramfs.c to /boot/EFI/BOOT/initramfs.CPIO and finally ran:
Code:
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Gentoo" --loader "\EFI\BOOT\bzImage.efi" -u "root=PARTUUID=708279f1-337e-1746-b41b-eaca11d69d9c" "initrd=\EFI\BOOT\initramfs.CPIO"

Now the system still sees the UEFI partion but I still get the kernel panic error mentioned above . So I am almost there and but I know my dist-kernel doesn't have this configured:
Code:
Processor type and features  --->
    [*] Built-in kernel command line
    (root=/dev/nvme0n1p3 ro)

If I added this, I would need to recompile the kernel right? If I am going to do that, I might as well remove initramfs?
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Sat Oct 28, 2023 9:49 pm    Post subject: Reply with quote

derekge wrote:
[...] But lacking the initramfs, the kernel panics and I get the error: [...]

So I copied /usr/src/linux-6.1.57-gentoo/init/initramfs.c to /boot/EFI/BOOT/initramfs.CPIO and finally ran:

Code:
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Gentoo" --loader "\EFI\BOOT\bzImage.efi" -u "root=PARTUUID=708279f1-337e-1746-b41b-eaca11d69d9c" "initrd=\EFI\BOOT\initramfs.CPIO"

This is the wrong file ... TBH ... I dont know the name of our intramfs we have when using a dist-kernel (or using genkernel) (because I do always configure my kernel manually and have never used one of both other options)

... but ...

AFAIK they copy their initramfs into /boot ... so, please search in /boot for it ... and copy this file to \EFI\BOOT\ together with your kernel-image (so you have only bzImage.efi and NAME_OF_INITRAMFS there) and do again a:
Code:
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Gentoo" --loader "\EFI\BOOT\bzImage.efi" -u "root=PARTUUID=708279f1-337e-1746-b41b-eaca11d69d9c      initrd=\EFI\BOOT\NAME_OF_INTRAMFS"

Attention: Please NO " " between both parms behind -u ! SEE my many spaces I made (and you dont need; only to show you).

Maybe this will help you also:
https://wiki.gentoo.org/wiki/Genkernel#Installing_the_kernel_and_initramfs_into_the_.2Fboot_directory

(P.S.: You are mounting your ESP to /boot/efi instead /boot/ ... but this is okay ... only important is that it has \EFI\BOOT ... as you can see the grub of your Ubuntu is in \EFI\ubuntu\grubx64.efi ... and you need ONLY \EFI\BOOT\bzImage.efi and no fbx64.efi, mmx64.efi and BOOTX64.EFI)


Last edited by pietinger on Sat Oct 28, 2023 10:08 pm; edited 1 time in total
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Sat Oct 28, 2023 9:58 pm    Post subject: Reply with quote

P.S.:

derekge wrote:
[...] but I know my dist-kernel doesn't have this configured:
Code:
Processor type and features  --->
    [*] Built-in kernel command line
    (root=/dev/nvme0n1p3 ro)

If I added this, I would need to recompile the kernel right? If I am going to do that, I might as well remove initramfs?

You dont need this, IF you give your kernel with "root=PARTUUID=..." via UEFI the information where to find its root partition. You can do it ... but it is a OR == via UEFI OR via BULT-IN ... (of course one could do both; but this would be senseless)
Back to top
View user's profile Send private message
derekge
n00b
n00b


Joined: 23 Oct 2023
Posts: 15
Location: San Diego

PostPosted: Sun Oct 29, 2023 12:02 am    Post subject: Reply with quote

Ok - I got it working! I couldn't find any initramfs files on my system but I did find initrd:
Code:
find / -type f -name 'initrd*'
/usr/src/linux-6.1.57-gentoo-dist/arch/x86/boot/initrd
/usr/src/linux-6.1.57-gentoo-dist/include/linux/initrd.h
/usr/src/linux-6.1.57-gentoo/tools/testing/selftests/rcutorture/doc/initrd.txt
/usr/src/linux-6.1.57-gentoo/Documentation/admin-guide/acpi/initrd_table_override.rst
/usr/src/linux-6.1.57-gentoo/Documentation/admin-guide/initrd.rst
/usr/src/linux-6.1.57-gentoo/arch/arm/boot/bootp/initrd.S
/usr/src/linux-6.1.57-gentoo/arch/um/kernel/initrd.c
/usr/src/linux-6.1.57-gentoo/include/linux/initrd.h
/usr/lib/dracut/modules.d/35network-manager/initrd-no-auto-default.conf
/usr/lib/dracut/modules.d/01systemd-journald/initrd.conf
/usr/lib/dracut/modules.d/01systemd-ac-power/initrd-on-battery-power.target
/usr/lib/dracut/modules.d/01systemd-ac-power/initrd-on-ac-power.target
/usr/share/man/man4/initrd.4.bz2
find: ‘/run/user/1000/doc’: Permission denied
find: ‘/proc/3370/task/3370/net’: Invalid argument
find: ‘/proc/3370/net’: Invalid argument

So I copied the first file into /boot:
Code:
cp /usr/src/linux-6.1.57-gentoo-dist/arch/x86/boot/initrd /boot/EFI/BOOT/initramfs.CPIO

And then I added the boot entry with efibootmgr:
Code:
efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Gentoo" --loader "\EFI\BOOT\bzImage.efi" -u "root=/dev/nvme0n1p3 initrd=\EFI\BOOT\initramfs.CPIO"

Whew! I'm glad I don't have to get into kernel compiling just yet. Thanks again to skellr and pietinger for the help!
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4169
Location: Bavaria

PostPosted: Sun Oct 29, 2023 12:21 am    Post subject: Reply with quote

derekge wrote:
Ok - I got it working! I couldn't find any initramfs files on my system but I did find initrd:
[...]
Whew! I'm glad I don't have to get into kernel compiling just yet. [...]

I am happy you solved it :D ... and ... whew, I have learned also something ... I knew that dist-kernel works internally with dracut; but I didnt knew that dracut names an initramfs-file "initrd" ...

... You must know that there exist actually a technically difference between an (old==it was the first solution for a kernel) initrd-file and a (new; almost used everywhere today) initramfs-file; of course you can name an initramfs-file like you want ... initramfs.CPIO ... or ... initrd - even it is not an initrd ... a little bit weird ... 8O

If you are interested you might read: https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Initramfs_Overview as a starting point with some links to other articles.

derekge wrote:
Thanks again to skellr and pietinger for the help!

You are very Welcome ! :D

Have fun with Gentoo ! 8)
Back to top
View user's profile Send private message
skellr
l33t
l33t


Joined: 18 Jun 2005
Posts: 975
Location: The Village, Portmeirion

PostPosted: Sun Oct 29, 2023 4:08 am    Post subject: Reply with quote

derekge wrote:

Whew! I'm glad I don't have to get into kernel compiling just yet. Thanks again to skellr and pietinger for the help!

Nice work

It will be fun, I think you will like it. 8)
Back to top
View user's profile Send private message
nenoro
n00b
n00b


Joined: 07 Jan 2018
Posts: 55

PostPosted: Sun Mar 31, 2024 4:15 pm    Post subject: Reply with quote

i will make it more simple

Code:
mkdir /boot/efi
mkdir /boot/efi/{boot,gentoo}

make nconfig (better for the eyes, make sure root=/dev/sdX for the /)
compile the kernel time make -jX
make modules_install
make install
copy .config (if it doesn't appear in /boot)
cp ./arch/x86/boot/bzimage /boot/efi/gentoo/{name of the kernel}.efi
cp /boot/efi/gentoo/xxx.efi /boot/efi/boot/bootx64.efi


There's you have it.

And i don't know why on gentoo it works but on arch or void linux i always have a black screen, what package allows that on gentoo ?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum