Build: replace mtools with fatshell.
EFI System Partition was the last remaining holdout for mtools usage. Change-Id: I988f82a2f4318f2f90ec1efb80f7ff5c8908aff7 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4140 Reviewed-by: Alex von Gluck IV <[email protected]>
This commit is contained in:
committed by
Alex von Gluck IV
parent
f5ec8e8c2d
commit
977a873ab2
+18
-8
@@ -1671,9 +1671,11 @@ rule BuildEfiSystemPartition image : efiLoader
|
|||||||
{
|
{
|
||||||
local macVolumeIcon = [ FDirName
|
local macVolumeIcon = [ FDirName
|
||||||
$(HAIKU_TOP) data artwork VolumeIcon.icns ] ;
|
$(HAIKU_TOP) data artwork VolumeIcon.icns ] ;
|
||||||
|
local fatshell = <build>fat_shell ;
|
||||||
|
|
||||||
Depends $(image) : $(efiLoader) ;
|
Depends $(image) : $(efiLoader) ;
|
||||||
Depends $(image) : $(macVolumeIcon) ;
|
Depends $(image) : $(macVolumeIcon) ;
|
||||||
|
Depends $(image) : $(fatshell) ;
|
||||||
|
|
||||||
switch $(TARGET_ARCH) {
|
switch $(TARGET_ARCH) {
|
||||||
case x86_64 :
|
case x86_64 :
|
||||||
@@ -1690,18 +1692,26 @@ rule BuildEfiSystemPartition image : efiLoader
|
|||||||
Exit "Error: Unknown EFI architecture!" ;
|
Exit "Error: Unknown EFI architecture!" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
EFIICON on $(image) = $(macVolumeIcon) ;
|
BuildEfiSystemPartition1 $(image) : $(fatshell) $(macVolumeIcon) $(efiLoader) ;
|
||||||
|
|
||||||
BuildEfiSystemPartition1 $(image) : $(efiLoader) ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# out : fatshell volumeIcon loader
|
||||||
actions BuildEfiSystemPartition1
|
actions BuildEfiSystemPartition1
|
||||||
{
|
{
|
||||||
$(RM) $(<)
|
$(RM) $(<)
|
||||||
|
|
||||||
|
export $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
|
||||||
|
|
||||||
dd if=/dev/zero of=$(<) bs=1024 count=2880
|
dd if=/dev/zero of=$(<) bs=1024 count=2880
|
||||||
mformat -i $(<) -f 2880
|
|
||||||
mmd -D s -i $(<) ::/EFI
|
FATFS="$(2[1])"
|
||||||
mmd -D s -i $(<) ::/EFI/BOOT
|
EFIICON="$(2[2])"
|
||||||
mcopy -D o -i $(<) $(EFIICON) ::/.VolumeIcon.icns
|
LOADER="$(2[3])"
|
||||||
mcopy -D o -i $(<) $(>) ::/EFI/BOOT/$(EFINAME)
|
|
||||||
|
${FATFS} --initialize "$(<)" 'Haiku ESP'
|
||||||
|
echo "mkdir myfs/EFI" | ${FATFS} $(<)
|
||||||
|
echo "mkdir myfs/EFI/BOOT" | ${FATFS} $(<)
|
||||||
|
echo "cp :${LOADER} myfs/EFI/BOOT/$(EFINAME)" | ${FATFS} $(<)
|
||||||
|
echo "cp :${EFIICON} myfs/.VolumeIcon.icns" | ${FATFS} $(<)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user