Jump to content

Zenith432

Zenith432

Member Since 21 Jun 2009
Offline Last Active Jul 11 2015 03:41 PM
*****

Topics I've Started

exFAT Volume Boot Record for Chameleon

26 November 2014 - 04:23 PM

I made a stage 1 boot record for booting Chameleon off an exFAT partition.
It's called boot1x.
Analog of boot1h or boot1f32.
 
Also made an program 'boot1-install' that can install the stage 1 boot loader for all three file systems
boot1f32 -> FAT32
boot1h -> HFS+
boot1x -> exFAT
 
So far, installing boot1h on HFS+ can be done trivially with dd.
Installing boot1f32 can be done with a shell script boot1f32-install.sh (though the script doesn't always recognize a proper FAT32 boot record.)
However, installing an exFAT boot record requires a companion program because it needs to compute a checksum of the exFAT VBR.  So I made a program to install all three types of boot records.  It is similar to fdisk440 that installs boot0/boot0hfs on MBR.
 
Files included:
sources for boot1x.s, boot0xg.s and boot1-install.c.
binaries for boot1x, boot1xalt, boot1f32, boot1h, boot0xg and boot1-install.
 
For Using exFAT under MBR
Install Chameleon's boot0 on MBR using fdisk440.
Set the exFAT partition as active (can be done with fdisk440 as well).
install boot1x or boot1xalt on exFAT partition using boot1-install.
Copy Chameleon's 2nd stage boot to /boot on the exFAT partition.

For Using exFAT under GPT
Install Chameleon's boot0 (or boot0xg) on protective MBR using fdisk440.
install boot1x or boot1xalt on exFAT partition using boot1-install.
Copy Chameleon's 2nd stage boot to /boot on the exFAT partition.

boot0xg is a modified version of boot0 such that when searching GPT it looks for exFAT or FAT32
partitions marked as "Microsoft basic data" type. The normal boot0 looks for EFI System Partition
formatted as FAT32.

 

As of r2507, Chameleon's boot0 has been replaced by boot0xg.  boot0xg has all features of previous boot0 +
recognize exFAT on MBR marked active + recognize exFAT+FAT32 on GPT typed as "Microsoft basic data".

 

As of r2516, Chameleon's boot2 supports reading configuration files from an exFAT partition.

boot1xalt is an alternate variant of boot1x that waits 2 seconds for a keypress of a single digit X.
If a digit is pressed, it loads /bootX instead of boot.  This feature may be used for selecting
one of multiple stage-2 boot loaders.

Enjoy.

 

Changelog

  • 1.0.5 - See description in post #44.
  • 1.0.4 - Incorporated Micky1979's force umount option -u (post #38), Use xcrun in Makefile to find build tools.
  • 1.0.3 - Beefed up boot0xg, see post #19.
  • 1.0.2 - Added boot0xg and Readme.txt.
  • 1.0.1 - Fixed crash with CFStringGetCStringPtr in boot1-install.
  • 1.0 - Original.
© 2015 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy