freebsd: Document how to build UEFI app on FreeBSD#52
freebsd: Document how to build UEFI app on FreeBSD#52JohnAZoidberg wants to merge 2 commits intomainfrom
Conversation
| gmake -C framework_uefi build/x86_64-unknown-uefi/boot.efi | ||
|
|
||
| # Build QEMU image | ||
| # TODO: Does not work yet, need a replacement for GNU parted |
There was a problem hiding this comment.
@aokblast is there a scripted way to format a disk image on FreeBSD?
On Linux I used GNU parted.
There was a problem hiding this comment.
Hello, we have gpart which is the abbriviate of geom part that enable you to create and add partition. I found a post on stack exchange that have examples about this. Do I answer your question?
There was a problem hiding this comment.
Oh, you are talking about image. We have mkimg which can be used as following pattern (stolen from my previous commit :) )
cfgdirname=$(mktemp -d /tmp/config.XXXXX)
cp ${BASEBITSDIR}/etc/bsdinstall.example ${cfgdirname}
makefs -D -B little -t msdos -o fat_type=16 -o volume_label=CONFIG -o create_size=16m ${2}.config ${cfgdirname}
mkimg -s mbr \
-b ${BASEBITSDIR}/boot/mbr \
-p efi:=${espfilename} \
-p freebsd:-"mkimg -s bsd -b ${BASEBITSDIR}/boot/boot -p freebsd-ufs:=${2}.part" \
-p fat16b:=${2}.config\
There was a problem hiding this comment.
oh! That's cool. That looks super easy!
There was a problem hiding this comment.
Haven't tried, but might be as simple as this:
$(BUILD)/boot.img: $(BUILD)/boot.efi
mkimg -s gpt \
-p efi:=$<
But how can I use different make rules on FreeBSD 🤔
There was a problem hiding this comment.
What is the make rules you mentioned? Could you give me some detailed example?
There was a problem hiding this comment.
Oops, I forget some code segment. You have to create a partition image by mkfs than put file into it by directory. After that, you can use mkimg to create a full disk image. Here is a patch use this feature. You can take a release/amd64/make-memstick.sh as example. Hope I answered your question.
There was a problem hiding this comment.
Done! Now we just need to make sure it uses different commands on linux vs bsd
Signed-off-by: Daniel Schaefer <dhs@frame.work>
Signed-off-by: Daniel Schaefer <dhs@frame.work>
No description provided.