-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
uboot: Init ubootLibretechAC, using buildUBootMesonGXL #119371
Conversation
ssia Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This patch brings Hardkernel Odroid C2 and Odroid C4 firmware. - https://wiki.odroid.com/odroid-c2/software/building_u-boot - https://wiki.odroid.com/odroid-c4/software/building_u-boot Signed-off-by: Anton Arapov <anton@deadbeef.mx>
Odroid C4: Cortex-A55 CPU, Mali-G31 GPU. More data: https://wiki.odroid.com/odroid-c4/ Signed-off-by: Anton Arapov <anton@deadbeef.mx>
Retire dependency on Armbian provided board blobs. Use official hardkernel's ones instead. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
u-boot 2021.01 was released, required patches to run hardkernel's boards are no longer needed as they made the release. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This solves repo pinpointing to particular commit number, thus prevents failing builds when the repos are updated. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
an open alternative to aml_encrypt_g12a and aml_encrypt_g12b. Proprietary tool is not available for aarch64 architecture, which is a show stopper for building u-boot images for the boards like Odroid C4. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This makes aarch64 builds possible. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
as per review request Signed-off-by: Anton Arapov <anton@deadbeef.mx>
postPatch should be used because prePatch breaks patches put in patches. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
…] instead https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This is somwhat closer to what other U-Boot builds produce. The end-user will need to flash the first 442 bytes in the MBR, but that's what "sd_fusing.sh" did... mostly... This removes the "sd_fusing.sh" script, but it wasn't good anyway, as it only worked when CWD was the directory it was in, and forced sudo usage. This was verified to produce the same exact binaries in these conditions: Before this change: ``` $ cd result/ $ ./sd_fusing.sh .../test.img ``` After this change: ``` dd if=result/bl1.bin.hardkernel of=test.img conv=fsync,notrunc bs=1 count=442 dd if=result/u-boot.img of=test.img conv=fsync,notrunc bs=512 seek=1 ``` So it is assumed this change is 1:1 compatible in the end.
|
||
stdenv.mkDerivation { | ||
pname = "amlogic-firmware"; | ||
version = "2021-01-29"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
version = "2021-01-29"; | |
version = "unstable-2021-01-29"; |
This is intended to provide a common source for boot firmware for U-Boot builds for Amlogic boards.
The intent here is to reduce the sprawl of different mismatched sources of truth with Amlogic board packaging. Note that **this produces a different output** compared to before. Though I cannot test, the output looks right.
- Make more deterministic with libfaketime - Remove reliance on buildPackages (by using nativeBuildInputs) - Provide firmware blobs via an attribute This is the first step into making the build more generic. This produces *generally* identical builds. The build differs only in the same way that the previous build differed using `--check` on its already non-deterministic output.
Otherwise I fear the generic names may be shadowed by something else in the environment.
The intent here is to reduce the sprawl of different mismatched sources of truth with Amlogic board packaging. Note that **this produces a different output** compared to before. Though I cannot test, the output looks right.
544914b
to
f02c05e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This boots on my ODROID-C2 and the code looks good to me.
I marked this as stale due to inactivity. → More info |
I guess I can refresh this PR at some point by removing the untested parts, and preparing a new PR with them for when someone can test in the future. So yes, it's stale, but still desirable. |
I marked this as stale due to inactivity. → More info |
Closing in favour of Tow-Boot... and the vendor Platform Firmware. I won't get back to this change set. Time for some lore: this set of changes, making |
This adds a firmware for the "La Frite" SBC from Libre Computer.
Though, I will say: the firmware files from upstream are as supported and as good as these.
This is because the vendor (Libre Computer) uses mainline U-Boot to build their firmware files. Adding support for the La Frite SBC was done mainly as an exercise to provide buildUBootMesonGXL to help other users introduce GXL Amlogic boards.
This builds on top of a WIP branch built on top of #101454. The idea being to exercise the new Amlogic U-Boot build infra with a board I can test with.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)Additionally: