3 ms·
Is there much need for the big ass TianoCore? FreeBSD uses U-Boot's tiny implementation successfully, it even supports netbooting
by floatboth 8y ago
Is there much need for the big ass TianoCore? FreeBSD uses U-Boot's tiny implementation successfully, it even supports netbooting
- my123 8y agoBooting Windows doesn't work with the U-Boot impl currently
- Vogtinator 8y agoThat can be fixed.
- wolfgke 8y agoAnd fixing this, is exactly what this 64-bit Tiano Core UEFI for the Raspberry Pi 3 is for. :-)
- andreiw 8y agoYep, and being able to claim that U-boot can boot Windows (on x64 or Arm) would be a really strong statement around completeness. I hope someone gets to work on it soon (Alexander Graf ;-)?).
- my123 8y agoOh, he is definitely trying. ;)
- andreiw 8y agoAuthor here. If you wanted to run you own drivers, or had code written specifically against protocols exported by Tiano components I believe the answer is - yes. RaspberryPiPkg is the $35 64-bit Arm UEFI devkit. Of couse the U-boot implementation of UEFI spec is getting better and better day by day, and that’s obviously awesome. I am sure someone will add ACPI support to it any day now. Having choice is good, and I wouldn’t want to live in a world with a single implementation. That said, Tiano (like it or not) /is/ the reference implementation, and you’re much less likely to run into surprises (today). Notice how I didn’t say Tiano is /better/, because in a number of ways (code quality, complexity, fragmentation) it’s pretty awful. One thing the U-boot implementation excels at is embedded Arm board support - U-boot is the defacto firmware for most embedded hardware, and now all of that hardware is EFI-capable. Porting Tiano is effort you don’t want to spend. That said, there are hybrid approaches - EFIDroid (efidroid.org) runs Tiano on top of LK, using LK’s platform support for drivers.
- rwmj 8y agoedk2.aarch is a 2 MB binary, which — while I'm sure it's bigger than uboot — isn't exactly big compared to any modern SD card. I'd be interested to know what the memory footprint is like. I don't have an easy way to measure it.
- andreiw 8y agoIf you run the “mmap” command in UEFI shell, and count the memory regions marked as Runtime Code and Runtime Data, that will give you the total resident (after booting OS) memory footprint. Note that these numbers will also include Arm Trusted Firmware and firmware tables.
- pritambaral 8y agoNot for regular purposes of booting Raspbian, or just a standard Linux kernel(+initramfs). In fact, even u-boot is not needed to boot Linux, because the RPi firmware is designed to boot Linux. FreeBSD uses u-boot because otherwise it'd have to implement Linux's conventions for booting, and it's just simpler to chainload via u-boot since u-boot already implements that.
- andreiw 8y agoRaspberriPiPkg can’t boot Raspbian today, since the latter is 32-bit. Can boot stock 64-bit SUSE and Ubuntu, though.
- pritambaral 8y agoMy point was, for booting Raspbian, this is not needed.