Lesson 1 Introduction to Mac world without cost
Boot any hackintosh installer , do not start the install process but fire up a terminal using utilities/terminal : you are in a real
mac terminal as if you had a genuine mac hardware with reduced commands as in any recovery boot.
All common standard bash commands you know with Linux apply here too ! and particularly the famous Mac 's disk management including
various Mac's way packaging are in your hands now.
Let's start examples as demo ;
1 hdiutil and diskutil are the most important to know .Type in the terminal
a diskutil list will display all the disks on your system
b df -h display those mounted disks [ use mount to see ]
c hdiutil --help you need time to really appreciate the power of hdiutil
2 disk utility If you are not at ease with commandline ,close terminal and fire up "Disk utility" . This is a GUI subset of
hdiutil commands . Play around , it takes a bit of time to appropriate its power too ! Mac is not yet your world .
3 Plug in a usb stick ; observe its appearance in disk utility as an external drive ,internal refers to hdd ar ssd inside your
laptop you can try playing with partitioning, create file image from drive or from folder ...
..Try figuring what to be done with hdiutil to obtain the same result ,you learn a lot.
4 Try then 'diskutil mount disk1s1' or any drive name you saw using 'diskutil list'
then try 'diskutil mount file_image' you created before ; if unsuccessful try then ' hdiutil attach file_image'
diskutil mount suggests a drive is partitioned with formatted filesystems ( hfs+ apfs fat ntfs)
hdiutil attach allows addressing block device not partitioned but with formatted filesystems however.( ex image from folder )
Lesson 2 Understanding hackintosh Installer
Since we are sitting in an installer's terminal we can inspect and try to dissect its anatomy .
"ls /" displays the contents of the Installer's rootfs which is the operating system OSX like the venerable msdos
in 8-bit era !
Inside this rootfs you see "Install MacOS Mojave.app" which is the true Installer for Mac.
Exploring this "Install....app" you reach the ultimate basic elements
"ls /'Install MacOS Mojave.app'/Contents/SharedSupport/" display "BaseSystem.dmg InstallESD.dmg InstallInfo.plist"
plus a few other images important but not essential for understanding.
a BaseSystem.dmg is precisely the compressed image of our rootfs seen earlier without the content of the
SharedSupport folder .
b InstallESD.dmg is the compressed image containing the future rootfs to be installed. (something like
filesystem.squashfs on live linux iso image)
Learn-to-Learn__Lesson__3__On-wandering-on-hdiutil-diskutil
"hdiutil attach" or "diskutil mount" those dmg files will let you have a glimpse of what they contain.
A remark : On any tuto or description on the net people uncompress (7z or dmg2img) BaseSystem.dmg then mount the image to
obtain the filesystem. In Mac you just mount it using hdiutil or diskutil which is quite faster than uncompressing the beast.
It turns out that we can do almost the same in linux thanks to the huge Darling project ,among which there is darling-dmg
binary allowing to use "darling-dmg BaseSystem.dmg mountPoint" : the rootfs appears behind the mountpoint !!!!!
Curiously people continue to say : uncompress using ....etc
On live ubuntu/mint using darling-dmg_x86.deb you do obtain the rootfs to be 'fac simile' on a formatted partition -not clone
of course- use rsync to reproduce !!!!
The ESP partition -the very first small fat partition-not seen here is simply the bootloader part using essentially Clover
- kind of ReFit/Refind efi bootloader- That CLOVER plays an important role when trying to get into booting an installed
hackintosh .
In short clover helps booting into mac bootloader "boot.efi" which then loads the kernel with the rootfs or with kernelcache taken
off BaseSystem.dmg to become the rootfs ; aftewards it starts the installation procedure .
On the mactiti root you will find /private.var/root/logbashhistory of tried commands
Learn-to-learn__4__Experiment-the-impossible--GUID--usb-or-notusb
Everything below is in linux (even in live ubuntu/mint/any)
It is usually admidted by many many people that the drive for hackintosh be partition in Apple way a.k.a GUID type , but not GPT.
It turns out that all my various experimental hackintosh using mojave as well catalina installer built from crashed using uniquely
ubuntu-22.04 run on gpt drive hdd as ssd .Let's do this very simple experiment
(assuming ubuntu installed on sda4 ,grub bootloader installed on ssd-p1 ,all this stuff comes by default with the ubuntu installer)
let's put /efi/clover on sda1 so we don't touch anything done by ubuntu ! as hackintosh bootloader
Using gparted to resize some partition with free storage to have two partitions 16G and 50G
Format them as hfs+ with dubbed easy remembered name
ex: mkfs.hfsplus -v 16G /dev/sdaX and mkfs.hfsplus -v 50G /dev/sdaY
sdaX will be the Installer while sdaY the future installed Mojave for ex.
On sda1 where by default one has fatfs ,let's put clover in
mount /dev/sda1 /mnt ; tar -x EFI.tgz -C /mnt
On sdaX let's install BaseSystem.dmg
darling-dmg BaseSystem.dmg $src ;mount /dev/sdaX $dest ; rsync -avp $src/* $dest/
we have just install mactiti hackintosh on a hdd .
In order to make our system awared of clover , simply add a small menu into grug.cfg
menu 'clover'{chainloader (hd0,gpt1)/efi/clover/CLOVERX64.efi
boot }
or simply run manually : at boot waiting for ubuntu , type c to get grub ,then manually type
what is inside { } ,that starts clover ; just try booting on what is just created the "50G"
If you get the mactiti's mojave installer ,then it means we just kick on hdd installer !
there is no use of usb stick to run the installer. cqfd
Learn-to-learn__5__hackintoshing
The subject is vast and difficult .I only try here to explain what I understand and what I have
done to get a working piece.There are huge material on the net , dug it ,use it as long as you are
in phase with it !!!!!! I assume here you have a free partition sdaY >50GB
To boot the OlarilaMojaveInstaller,on clover menu make sure you choose configOlarila,mark off all
kext except whatevergreen,lilu,and virtualsmc,before fireup the installation disk.
Once booted the Installer thru clover,and obtain the installer image of mojave,before clicking on
start installation,fireup disk utility in order to format the partition sdaY as Jhfs+ .
This is the only requirement since from linux we cannot do it, only hfs+ but missing Journaled filesystem.
then you can fire start installation in choosing of course sdaY.
During this 1st phase,all what is done is to copy the full_installer_"Install MacOS Mojave.app"
to the root of sdaY ,then it reboots .
Be attentive on reboot to restart clover bootloader again otherwise it defaults to ubuntu
(in which case simply reboot and make sure to obtain clover even manually if needed) sdaY is now preselected, click return to accept.
During this second phase the installer uncompress all the packages to be installed
(it takes time ! up to 20-40 minutes) then it reboots
On this last reboot choose configOlarilannh,or confignnh ,or config.Try them all until you succeed.
The installer do certainly package housekeeping .and if you are lucky you obtain the
account creation as with ubuntu installation.
The rest of fine adjust your hackintosh for wifi,sound ..depend a lot on your patience and willing.
Best wish for hackintoshing without usb and mostly important without partitioning a la Mac !!!
( only jhfs+ formatting was necessary)
mactiti fun project by mac_nhaque35 Paris nov 29 2023
Some notes:
Some pkg are available here
mactiti.img darling-dmg_bin.deb EFI.tgz Scripts used to produce in linux hackintoshInstaller
When running inside mactiti if you want to save logHistory of your bash commands and you get readonly filesystem ;no worry
just type
"mount -rw /"
and you are able to do
history>>loghistoryNov29_2023
it will be in /private/var/root/loghistory.
For the rest ....try google. insanelymac_from_2012 !