-
Notifications
You must be signed in to change notification settings - Fork 25
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 intomain from
Conversation
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.
@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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh! That's cool. That looks super easy!
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the make rules you mentioned? Could you give me some detailed example?
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.