-
Notifications
You must be signed in to change notification settings - Fork 205
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
Alternative for boot1.efifat? #250
Comments
It’s being worked on for 22.1-RC. Shared code already exists. |
That's great news! I am actually trying to build an image for my RPi CM4 based on 22.1.b1. Just noticed that there is a release script in |
The necessary code was already added here Lines 1118 to 1153 in c6184a4
If you want you can try to give it a go in the arm script. I still have to verify the new method works in the amd64 images as well before I attempt to convert arm but if you can beat me to it that would be perfectly fine :) |
Unfortunately, I didn't have time to adjust the code, but I figured out what has to be done :)
Instead we can just copy the efi file (with the adjusted file name) to its right location. Should have a little more time this week and am hoping to finish it by the end of the week. I will do a PR once I am done and will make sure it's backwards compatible with the current version. |
@efetropy not sure what you talk about as the code already exist and I linked to it in my previous post. |
I guess what I wrote is a little bit missleading. To clarify, I just wanted to get rid of the line in the In The ARM script can be adjusted accordingly so that we don't need
All in all thank you for the comments @fichtner ! UPDATE: Managed to cross compile for arm64 on an amd64 machine. Building base and kernel worked without issues. Haven't built the other packages yet, but I guess they should also work without an issue. I adjusted the script for testing purposes and only included base and kernel. Voila, the image is built with the correct partitions. Tried to boot up on my arm device. EFI works fine, yet I need to figure out why I am getting pernel panics :') |
Well I meant that setup_efiboot() function already builds the required efifat file, but the arm script isn't using it yet. The loader.efi is properly linked to the used loader (and we use LUA now, yes). Nice to hear that cross compile still works. :) |
It indeed works with some small changes to the device config. I used a device config named Lines 3 to 16 in fdddb70
That was not enough to compile the kernel as it was looking for a kernel config file named Lines 252 to 255 in fdddb70
Commenting out that line allowed me to compile the kernel without issues. Compiling xtools also worked (haven't tested packages due to time contraints). I mentioned kernel panics in my previous post. It was due to a bogus line in I noticed a very odd problem though. If I mount the created image in a FreeBSD 13 host, I can see the correct partitions, e.g.: FREE SPACE ~ 1M Writing the image with I can't tell whether this is a bug or a feature under linux (or rather the packages used). Btw., I also downloaded the official FreeBSD 13 image for the device I used and guess what? Both on FreeBSD and Linux the correct partitions are shown – go figure :D All in all, I am happy that everything worked out in the end and can't wait to try it out on my new device which will arrive soon :) |
With FreeBSD 13
boot1.efifat
is no longer built and thus not available (also stated in recent commits). In thearm.sh
build script we have the following line underarm_install_efi()
:DEV_EFI=$(mdconfig -a -t vnode -f ${STAGEDIR}/boot/boot1.efifat)
I guess we need a different approach in that case and eventually have to handroll our own efi image.
I wonder if an approach such as (see
dvd.sh
):dd if=/dev/zero of=${STAGEDIR}/efiboot.img bs=4k count=200
would work. Any suggestions or a possible fix?
The text was updated successfully, but these errors were encountered: