Michael wrote:
> On Monday, 24 June 2024 22:03:14 BST Dale wrote:
>> Michael wrote:
>>> On Monday, 24 June 2024 20:47:15 BST Dale wrote:
>>>> Have you seen this before?
>>> No, because I've never used dracut.
>> I just had a thought.  I have /usr on the root partition now.  Do I even
>> need a init thingy? 
> Only you can answer this.
>
> You don't need it if your kernel image has all the drivers it requires built-
> in to mount / and start initializing your hardware.
>
> Binary distros tend to built a lot of kernel drivers as modules and these 
> will 
> not be accessible until / has been mounted.  Therefore initrd/initramfs will 
> include necessary modules, as well as firmware, CPU microcode, etc. to be 
> able 
> to run in memory enough of a temporary initial / fs, until the real / becomes 
> accessible.
>
> This is explained briefly here:
>
> https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/
> Kernel#Building_an_initramfs
>

I build all drivers in the kernel except the nvidia drivers.  I do have
a CPU micrcode thing for this CPU tho in /boot.  It's in the list of
things grub picks up.  I assume since Grub finds it, it is part of the
boot process. 


>>>> (chroot) livecd /usr/src/linux # dracut --kver=$(cat
>>>> include/config/kernel.release)
>>>> dracut[I]: Executing: /usr/bin/dracut --kver=6.9.4-gentoo
>>>> dracut[F]: Can't write to
>>>> /efi/dba652170b7a716f303c3c5966799436/6.9.4-gentoo: Directory
>>>> /efi/dba652170b7a716f303c3c5966799436/6.9.4-gentoo does not exist or is
>>>> not accessible.
>>>> (chroot) livecd /usr/src/linux #
>>>>
>>>>
>>>> The directory inside /efi does not exist.
>>> The long string is either a PARTUUID, or a fs UUID.
>>>
>>> Run blikid to find out what it is.
>> /dev/nvme0n1p1: UUID="6488-1019" BLOCK_SIZE="512" TYPE="vfat"
>> PARTLABEL="efi-part" PARTUUID="50add3c0-4ab3-4453-85e5-93af643a586e"
>>
>> I don't see anything, UUID or anything else that starts with dba6 for
>> any partition.  I don't know why dracut is looking for that. 
> Hmm ... I wonder if it is implementing a systemd-boot UUID for each OS 
> kernel.  
> :-/
>

I'm on openrc here.  I checked the stage tarball, it's openrc.  I used
grep on /etc and no systemd USE flags enabled there either.  Is confusing. 


>>> Do you have a directory called EFI in your /efi partition?
>>>
>>> Have you mounted your /mnt/gentoo/boot partition when you called dracut?
>> Yep.  There is.  Should that be there?  This is what is there. 
>>
>> (chroot) livecd / # ls -al /efi/
>> total 12
>> drwxr-xr-x  3 root root 4096 Dec 31  1969 .
>> drwxr-xr-x 17 root root 4096 Jun 23 12:06 ..
>> drwxr-xr-x  3 root root 4096 Jun 24 14:29 EFI
>> -rwxr-xr-x  1 root root    0 Jun 24 14:01 test
>> (chroot) livecd / # ls -al /efi/EFI/gentoo/grubx64.efi
>> -rwxr-xr-x 1 root root 143360 Jun 24 14:33 /efi/EFI/gentoo/grubx64.efi
> That's all as it should be.
>
>
>> I mounted /boot when I mounted the others.  I already have a kernel and
>> such in /boot.  When I did a search, I found where someone posted they
>> used force with dracut to get it to install a init thingy.  I used it
>> and it did build and put one in /boot.  Thing is, I've never had to use
>> force before and figure something is wrong somewhere.
> The first option in the man page explains what you did:
>
> https://linux.die.net/man/8/dracut
>
> -f, --force
> overwrite existing initramfs file.
>
> Did you have an initramfs already in there?

I had the kernel and the config file on /boot.  I did not have anything
else there except grub and the CPU microcode file.  I didn't save the
init thingy when I was copying files over from previous install.  I just
saved the config and kernel.


>
>> This is /boot. 
>>
>>
>> (chroot) livecd / # ls -al /boot/
>> total 22512
>> drwxr-xr-x  4 root root     4096 Jun 24 14:29 .
>> drwxr-xr-x 17 root root     4096 Jun 23 12:06 ..
>> -rw-r--r--  1 root root    77312 Jun 24 11:40 amd-uc.img
>> -rw-r--r--  1 root root   158391 Jun 24 12:02 config-6.9.4-6
>> drwxr-xr-x  6 root root     4096 Jun 24 14:29 grub
>> -rw-------  1 root root  7740012 Jun 24 14:06 initramfs-6.9.4-6.img
>> -rw-r--r--  1 root root 15000576 Jun 24 12:02 kernel-6.9.4-6
>> drwx------  2 root root    16384 Jun 24 04:03 lost+found
> This looks good.
>
>
>> That give you any clues?  Or am I starting over again.  ROFL 
>>
>> Dale
>>
>> :-)  :-) 
> No don't start over!  Have you read through this:
>
> https://wiki.gentoo.org/wiki/Dracut
>
>
> I don't use an initramfs, dracut, or systemd, wherever I can avoid them and I 
> do avoid them on my Gentoo.  Someone more clued up in these and their 
> peculiarities should chime in here.


Yep.  I saw that too.  Thing is, it confuses me.  On the main install
page, it shows /efi mounted on the / partition.  In other words, the
same place /boot, /usr and /var are mounted too.  In the page you link
to it seems to show the efi partition mounted inside /boot.  Like this: 
/boot/efi.  The main page I think says this is no longer recommended. 
Which am I to follow?  If it being inside /boot is discouraged, someone
needs to update the page. 

I'm continuing on with the install but still puzzled about the dracut
error.  Is this what /efi should look like? 


(chroot) livecd / # tree /efi/
/efi/
└── EFI
    └── gentoo
        └── grubx64.efi

3 directories, 1 file
(chroot) livecd / #


I never looked in the directory on the last install.  Nothing reported a
error so I just went with it.  ;-)

Dale

:-)  :-) 

Reply via email to