Jannik2099 / gentoo-pinebookpro

A collection of scripts to prepare a Gentoo tarball for the pinebook pro
31 stars 8 forks source link

grub2-efi+uboot ..... eventually #7

Open necrose99 opened 4 years ago

necrose99 commented 4 years ago

`` granted the FS layout GPT or mbr > gpt

/boot/efi/ , /boot/efi/overlay sym /boot/overlay for compat for uboot files. boot containing kernels etc...

debian , and a few others can use. to swap kernels https://valleymarketblog.com/ju8r6/rockchip-uefi.html

RPI3/4 this is better documented. on the switching boot to run grub as boot loader from uboot. uboot , grub, kernel or force pick ie old kernel if one you built is a dud.. else renaming kernel in boot card.... and naming x-kernel ... is more a having to rag out of sbc and undo on laptop if it goes all fubar.

rome wasn't built in a day.. however making efi boot from uboot and switching kernels would be a plus. (eventually ..... hopefully this can be done,)

momentioto the rockpro-64 and chroot is up , and pbook-pro sold out , with rpi4-8gigs hopefully they bump the pbook-pro- ram up as option also. so far on rpi4/rock64-pro , gentoo kernels/pentoo pentesting kernel etc build without much issues. and many downstream SBC fixes can be baked in .

grub.use

sysboot/grub libzfs  nls  efiemu   multislot themes sdl device-mapper truetype mount fonts

## arm64 required efi  dev-embedded/u-boot-tools  must be emerged for grub2 to build. 
sysboot/grub grub_platforms_uboot grub_platforms_efi-arm64 grub_platforms_efi-arm32

## woeusb , ie w10 pc / arrch64 usb w10-pc ... or utils like Winpe ...  on Redteam pb-pro/rpi4... 
## wont build w/o grub anyway...  added for compatibility. 
sysboot/grub grub_platforms_pc  grub_platforms_efi-32  grub_platforms_efi-64

### emulation  qemu zen etc placeholder enable if you need. 
## sysboot/grub grub_platforms_emu  grub_platforms_qemu-mips grub_platforms_qemu  grub_platforms_multiboot 
## sysboot/grub  grub_platforms_loongson
### enable XEN/kvm for qemu/kvm docker etc.. emulation for mips/riscv x86 etc. 
## sysboot/grub  grub_platforms_xen -grub_platforms_xen-32
Jannik2099 commented 4 years ago

Isn't u-boot already able to UEFI-boot, or does that only work on a few supported platforms? Sadly your link doesn't load here.

I don't see a reason why anyone would use grub, it's functionally identical to u-boot. The reason why we don't have a boot menu to select kernels from is not that u-boot doesn't support it. U-boot doesn't have a driver for eDP panels for the rk3399 (and neither does grub) - until someone does that, no display during u-boot or grub. An alternative would be to use kexec as a bootloader (e.g. petitboot) - the problem here is that the GPU totally shits the bed after kexec - rockchip engineers have no clue why, so this path is even less likely to happen :(

necrose99 commented 4 years ago

Blobless boot with RockPro64 « Andrius Štikonas.zip

found a better 1 and snipped it.

uboot is great if your a dev but swapping kernel as novice is a recipe for bricking.. if its not a familiar aspect . grub just sits between kernels in /boot , /efi uboot.efi.bin grubefi.bin to me uboot is quite foreign ,

sys-boot/refind is likewise an alternative??? , perhaps ? , rpi4 land git bit luckier . some ncurses grub2 alike would be fine-ish... lilo-esk ... but lilo never...
if only they had a lilo-esk ncurses bit for uboot .... ui ...

i just want to pick new.kernel ..... else just reboot to old if it shits the bed. without too much frigged fus . if uboot is the boot ios layer --akin too... grub if ,,, would suffice,

U-boot doesn't have a driver for eDP panels for the rk3399 ? thier is 1 builder scipt i'll have to dig my git stars etc for r64-pro long as you had dts raw c file to pass to uboot baker ..... might be on usb/emmc kinda flooded poor sob out. 128 or m.2 to shove in case...

but yeah EDP/7 inch screen been a pesky spot... Android image has for rpo64 .. else need to slave 4k pannel and for recon use.... having ts and poe power /batt useful for redteaming.. till the stock ran out on pbook-pros. was looking for emerge etc as more portable-ish than being chained to desk or logitek kb. or ssh...

https://forum.pine64.org/showthread.php?tid=8685

one of the uboot script packers could compile in the dtsi /dsi overlay sources from drives... or bake in rockchips blobs.

striping grub down from truetype etc to just a few extras no thmes might at best work show picker menu.

13werwolf13 commented 2 years ago

Isn't u-boot already able to UEFI-boot, or does that only work on a few supported platforms? Sadly your link doesn't load here.

I don't see a reason why anyone would use grub, it's functionally identical to u-boot. The reason why we don't have a boot menu to select kernels from is not that u-boot doesn't support it. U-boot doesn't have a driver for eDP panels for the rk3399 (and neither does grub) - until someone does that, no display during u-boot or grub. An alternative would be to use kexec as a bootloader (e.g. petitboot) - the problem here is that the GPU totally shits the bed after kexec - rockchip engineers have no clue why, so this path is even less likely to happen :(

it seems to me that the good reason to use grub2 is that it supports snapper. and emerge supports snapper. as an example of a distribution where this has already been implemented, you can take a look at opensuse.

necrose99 commented 2 years ago

https://github.com/sigmaris/u-boot/blob/v2020.01-ci/azure-pipelines.yml. , was mentioned in forums..

Intimate rock64pro, spi chip is blank ish , prior board to pinebook pro , same amost everything , but tabblet mode or m.2/pcie sata card nas box etc...

Anyway you had to cut in via dd the uboot firmware into an image... however if i drag it out with slack64 etc update the spi firmware on the board might behave with grub-aarch64.efi, etc.. and bake uboot or petiboot on board.. Was cutting emmc to gentoo.. but can cut a slack or etc.. sdcard...

13werwolf13 commented 2 years ago

https://github.com/sigmaris/u-boot/blob/v2020.01-ci/azure-pipelines.yml. , was mentioned in forums..

Intimate rock64pro, spi chip is blank ish , prior board to pinebook pro , same amost everything , but tabblet mode or m.2/pcie sata card nas box etc...

Anyway you had to cut in via dd the uboot firmware into an image... however if i drag it out with slack64 etc update the spi firmware on the board might behave with grub-aarch64.efi, etc.. and bake uboot or petiboot on board.. Was cutting emmc to gentoo.. but can cut a slack or etc.. sdcard...

I'm not sure I understood your text correctly (English is not my native language) but as I understood what you need is tow-boot: https://github.com/Tow-Boot/Tow-Boot

necrose99 commented 2 years ago

thanks for the mention of Tow-Boot FAR less headaches, should prove invaluable once the onboard-ROM/SPI is flashed... as hopefully can boot normal efi etc... / grub etc Thanks for the tip...

USE="rock64pro do-flash-spi" emerge tow-boot (else mod... of board) , would be nice.... sadly it is never that quite easy...
http://gpo.zugaina.org/dev-embedded/rkdeveloptool , Dracut lima/panfrost are in gentoo main

(https://gitlab.manjaro.org/manjaro-arm/packages/community/rockchip-firmware) so sys-firmware/pinebookpro-firmware (as a template) > sys-firmware/rock64pro-firmware add both to firmware folder pinebook pro is derived from rock64pro ...

https://www.hardkernel.com/shop/odroid-m1-with-8gbyte-ram/ these have petiboot installed factory

RPI4 with recent has own netboot/etc and easier to grub/efi but since Covid19 $$$$250.00 vs $75 however official firmware has tow-boot/pettyboot like ui... 4 gig units been painfully slow..

https://github.com/oddlama/gentoo-install might have some uses..