As suggestion:From the system that you use to chroot, use hwid software to get all needed to boot.
Compile your own kernel without genkernel assuring that the options of hwid are included in kernel (not as modules).
I never used dracut, grub allows specify the initramfs to use, use genkernel for this.
Bootstrap is more nightmare than you can imagine, grub is a second stage bootloader, you need one that should be u-boot. U-boot can include EFI support or lack them. One uboot from X can be able to boot the grub you made but the u-boot from Y don't.
I tried compile my own u-boot with my own bl31 but I was unable to make it run.
This options are from the u-boot I built # CONFIG_CMD_UUID is not set # CONFIG_CMD_FS_UUID is not set CONFIG_PARTITION_UUIDS=y CONFIG_LIB_UUID=y CONFIG_RANDOM_UUID=y Can you be sure that your u-boot is able to find your partitions?By this reason firstly boot specify in kernel command line one root=/dev/whateverdevices would.
Grub is something like that, their config can have more of less commands as with the parameter: GRUB_DISABLE_LINUX_UUID So my advice to you: hwinfo from your live system to get your hardware infoIf the u-boot calls grub, grub shall support initramfs done with genkernel initramfs
Uboot for example require (at least mine) that kernel was uncompressed and was unable to use genkernel initramfs, I had to do it with mkimage (I did some scripts to make conversions) and with a limit in size kernel and initramfs.
Compile your kernel without modules, get all, even firmware in kernel image to be sure that the kernel itself without third party helpers (as /usr/lib/firmware) are able to boot, discarding at this way the kernel it self as cause of your misfortune.
/dev/root is a "link" to the real partition which is the root parameter passed to the kernel in command line, you can see it using cat /proc/cmdline, after that set it your self in grub config root=/dev/mmcblk1p3 for example
El 24/7/25 a las 23:47, Dennis Clarke escribió:
On 7/24/25 17:24, Javier Martinez wrote: > Dennis > > You have reached to the trully nightmare of embeeded devices. How the > hell can I boot this shoe box, I spent nearly 4 months in make rockpi > boot. > > Have you thought in specify the rootfs by device instead by uuid? as in > root=/dev/mmcblk0p3. If it works the trouble is that someone has not > UUID support. > I am indeed feeling the pain :/ Here is what I find interesting about this bizarre little board : 1) it has 32G of DDR5 memory 2) when running the supplied Ubuntu image it is okay 2.1) the supplied Ubuntu image does boot towards GRUB 2.2) that GRUB uses a tiny grub.cfg which then points towards a much larger grub.cfg on the root fs 3) I can flash the SiFive supplied Ubuntu onto the board and then boot and run that just fine. 4) I can flash the Sifive supplied Yocto onto the board and then copy/backup all of that onto SATA disk and it will run entirely from the SATA disk just fine My initial testing shows the SiFive P550 board is around 75% of the speed we see in a Raspberry Pi 5. Most things. I tested with some libGMP and libMPFR stuff and also fairly abusive IEEE-754 strict math stuff. It is about 75% the speed of the Rpi5. Sort of. Getting Gentoo nice and lean and mean onto this thing is not entirely a nightmare. More of a pain and frustration wherein the boot process is a damn mystery. Poorly documented to say the least. I also have had this board for about four months. It was dead and just powered off for at least a month because it would not boot anything. I had to curse and face east on a Tuesday when it was my mothers birthday under a full moon to get it to boot anything again. Much gnashing of teeth as they say. So here I am doing trial and error to figure out WTF works. I may post updates as I proceed. At the moment I am rebuilding the kernel with a USE flag that simply says "grub" : file /etc/portage/package.use/installkernel says sys-kernel/installkernel grub That may result in nothing much. I will take a look at whatever the Ubuntu /etc/fstab says. It baffles me. The Yocto image runs and mounts everything just fine with this : root@hifive-premier-p550:~# cat /etc/fstab# stock fstab - you probably want to override this with a machine specific one/dev/root / auto defaults 1 1 proc /proc proc defaults 0 0devpts /dev/pts devpts mode=0620,ptmxmode=0666,gid=5 0 0 tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0tmpfs /var/volatile tmpfs defaults 0 0 # swap on the external SATA spinning disk UUID=ab60f3c4-7658-44f9-b944-139378afc9f6 none swap sw 0 0 root@hifive-premier-p550:~# root@hifive-premier-p550:~# cat /proc/swapsFilename Type Size Used Priority /dev/sda2 partition 4194300 0 -2root@hifive-premier-p550:~# Well gee .... there is a bizarre /dev/root thing. I see nothing for UUID stuff other than swap. * baffled *
OpenPGP_0x57E64E0B7FC3BEDF.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature