eprigorodov / mkosxinstallusb

Linux shell script that creates USB flash drive booting OS X installer
Apache License 2.0
45 stars 10 forks source link

High Sierra #1

Open JonnyTech opened 6 years ago

JonnyTech commented 6 years ago

I know that the readme states:

High Sierra installers are not supported yet,

But do you know of a manual way of creating the bootable USB?

eprigorodov commented 6 years ago

On another Mac, you can just run createinstallmedia: https://support.apple.com/en-us/HT201372. I did that and got bootable HS installer USB.

Do you mean "true" manual way which can be reproduced on Linux?

JonnyTech commented 6 years ago

Do you mean "true" manual way which can be reproduced on Linux?

Thanks for that - yes, I want to create it with Linux - is it possible?

eprigorodov commented 6 years ago

Here is one guide: http://www.insanelymac.com/forum/topic/329828-making-a-bootable-high-sierra-usb-installer-entirely-from-scratch-in-windows-or-linux-mint-without-access-to-mac-or-app-store-installerapp/#entry2538638. Cannot confirm if that works or not.

JonnyTech commented 6 years ago

Good find - thank you very much! Will you be integrating it into this repo?

eprigorodov commented 6 years ago

Not directly. Look at the last step in the guide: it does not produce a working installer USB, but rather a base system disk. User should boot it and then manually launch unattended install utility. I planned to return to High Sierra issue once it becomes "works without problems" stable.

Informatic commented 6 years ago

It does, in fact, produce a working installer. That part is about a situation, where someone wasn't able to resize HFS partition and copy InstallESD.dmg over.

tl;dr it seems like since HS base system is a separate download package (BaseSystem.dmg), and InstallESD.dmg has to be copied, together with some other files, into /Install macOS*.app/SharedSupport.

I patched mkosxinstallusb to work with new installer format. I'm testing the resulting drive right now...

Informatic commented 6 years ago

Everything seems to work fine on Qemu-KVM for me.

Here's a patched version: https://git.io/fN2Vd

This now expects BaseSystem.dmg as second argument (instead of InstallESD.dmg), and also expects all files below to exist in the same directory.

Here are sha1sums files I tested it on:

951f7938d1c4013a0fe1aa95f3f8df43bb61a9da  BaseSystem.dmg
457be98dff9bada9202b37b77f54d632871fe767  InstallESD.dmg
7e19eef59bd9e280dcc7307df0260dc1c11adf17  AppleDiagnostics.chunklist
44cc79987b1c92bfaf4d74cf0a86b7666c95ef1b  BaseSystem.chunklist
9c1b3f02e9069228e17eef9ae20ba5f0925ae12d  InstallInfo.plist (unpatched)
17d611d5d54c1c49d13bea3859dc4bca6e52a115  InstallESDDmg.pkg (original)

(InstallESD.dmg in my case was one extracted from InstallESDDmg.pkg using 7z x, but I think, it might work with original one, as per above guide; also InstallInfo.plist has to be patched as per guide above as well)

Quick tool to list download URLs of a specific product: https://git.io/fN2wn

eprigorodov commented 6 years ago

Hi Piotr,

Thanks a lot for the research. I am on vacation now and have limited access to the internet, installer images and linux boxes. I will return on 15 August and will try to incorporate your patch.

Thank you, Evgeny

On Mon, 30 Jul 2018, 10:11 Piotr Dobrowolski notifications@github.com wrote:

Everything seems to work fine on Qemu-KVM for me.

Here's a patched version: https://git.io/fN2Vd

This now expects BaseSystem.dmg as last argument, and also expects all files below to exist in the same directory:

Here are sha1sums files I tested it on:

951f7938d1c4013a0fe1aa95f3f8df43bb61a9da BaseSystem.dmg 457be98dff9bada9202b37b77f54d632871fe767 InstallESD.dmg 7e19eef59bd9e280dcc7307df0260dc1c11adf17 AppleDiagnostics.chunklist 44cc79987b1c92bfaf4d74cf0a86b7666c95ef1b BaseSystem.chunklist 9c1b3f02e9069228e17eef9ae20ba5f0925ae12d InstallInfo.plist (unpatched) 17d611d5d54c1c49d13bea3859dc4bca6e52a115 InstallESDDmg.pkg (original)

(InstallESD.dmg in my case was one extracted from InstallESDDmg.pkg using 7z x, but I think, it might work with original one, as per above guide; also InstallInfo.plist has to be patched as per guide above as well)

Quick tool to list download URLs of a specific product: https://git.io/fN2wn

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/eprigorodov/mkosxinstallusb/issues/1#issuecomment-408782689, or mute the thread https://github.com/notifications/unsubscribe-auth/AQhOfa6WRTI69B0sreWcpQNxnTjEvmXKks5uLr_FgaJpZM4QsZSk .

Informatic commented 6 years ago

I've updated mkosxinstallusb to also properly modify InstallInfo.plist (in target directory) and directly use downloaded InstallESDDmg.pkg file. So far seems to work fine.

I've updated python script to provide URLs for proper product ID as well (previous one was exclusive to some MBP and wasn't supported by some software/drivers)

f727e62965a20663fa6a9483c2db67cbb528b3bb  AppleDiagnostics.chunklist
451e2255a4144b7ff8e2d21f2d0c54a85b7af3c8  AppleDiagnostics.dmg
3fe67d2a54b977c7ec8ff3e5fe659f4e379eb7c2  BaseSystem.chunklist
6b7522d7f78b93441ecd7dee73430af9b07b3744  BaseSystem.dmg
69159caf25666ea1c5d466e158e075d947f6a9ee  InstallESDDmg.pkg
6531b413243ee1591fa97dc4d478492e387f9c11  InstallInfo.plist

protip:

wget -i <(python3 download-software.py | sort | egrep 'InstallESDDmg.pkg|BaseSystem|AppleDiagnostics|InstallInfo')

Also - it might be better to only extract HFS partition from BaseSystem using dmg2img -p 4, as this will drop the dependency on kpartx and (rather flaky) use of /dev/loop*.

SteveRogers2308 commented 6 years ago

@Informatic sir i have used your script for high sierra. there is just one thing missing in script. line no 139 is mkdir "$app_path" it should be mkdir -p "$app_path"

everything else is perfect. also download-software.py has default version should be changed to 091-95774. this is 10.13.6 latest. thanks for the script.

Informatic commented 6 years ago

@SteveRogers2308 hey! That might've changed in 10.13.6, by any chance? I'm pretty sure it worked for me when I tested it before. Anyways, I've updated my gists above. Thank you!

Informatic commented 5 years ago

Update, after having to redo it myself today: my patched mkosxinstallusb takes BaseSystem.dmg as file argument, not InstallESDDmg.pkg. I've updated (most of) the usage notes in my gist.

integralfx commented 4 years ago

@Informatic I used your script to create a bootable USB, but my MacBook Pro (Mid-2012) doesn't show it as a disk when holding Alt.

I've tried resetting the PRAM but nothing seems to work.

Any ideas?