-
Notifications
You must be signed in to change notification settings - Fork 138
Enable build on aarch64 #145
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
base: master
Are you sure you want to change the base?
Conversation
|
I'll try building this on a rpi4. Will it work with 14.0-releng? |
Makefile
Outdated
| SCRIPTS?= mdinit mfsbsd interfaces packages | ||
| BOOTMODULES?= acpi ahci | ||
| .if defined(LOADER_4TH) | ||
| .if ${TARGET} == aarch64 |
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.
Is the only change here not to include device.hints?
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.
Yes, that and also loader_4th and loader_lua - reworked logic around that now.
Makefile
Outdated
| @echo -n "Creating EFI boot image ..." | ||
| ${_v}${MKDIR} -p ${WRKDIR}/efiroot/EFI/BOOT | ||
| ${_v}${CP} ${WRKDIR}/cdboot/${EFILOADER} ${WRKDIR}/efiroot/EFI/BOOT/BOOTX64.efi | ||
| . if ${TARGET} == aarch64 |
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.
Here we also should use a variable for the bootfile instead of the complex if-else forking.
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.
Make sesne, added EFIBOOT for that.
| ${TIME} makefs -B little ${TMPIMG} ${FSPROTO} | ||
| if [ -f ${EFIIMG} ]; then | ||
| ${TIME} dd if=${TMPIMG} of=/dev/${unit}p3 bs=128k | ||
| if [ `uname -m` = 'arm64' ]; then |
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 is strange, the build should be host-independent, only target should impact any changres.
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.
For aarch64, there's different layout of partitions and there's no need for installing bootcode - I tried to make my changes in that way, they won't touch the existing logic, but feel free to propose/change it any way you feel it should be.
|
There is some issue if ISO will be build: Installing roothack ... done need also the aarch64. can someone fix it? |
Hi. Made the change to build ISO based on release scripts, if you could check if that's ok and it boot, thanks :) |


Small changes that enable build on aarch64 based machines.
Tested with 13.2 under qemu for ex.
qemu-system-aarch64 -drive format=raw,file=mfsbsd-13.2-RELEASE-aarch64.img -m 2048M -cpu cortex-a57 -M virt -bios edk2-aarch64-code.fd