SIP requirements for startosinstall –volume <path>

Did you know that there are specific SIP (System Integrity Protection) requirements for startosinstall so that you can use all of its arguments?

Some of you may think that this is bollocks, but hold on. Not so fast. Go the the High Sierra (Beta) app folder and cd into the Contents/Resources directory. Then enter:

./startosinstall --usage

You may get the following output:

Usage: startosinstall

Arguments
--applicationpath, a path to copy of the OS installer application to start the install with.
--license, prints the user license agreement only.
--agreetolicense, agree to license the license you printed with --license.
--rebootdelay, how long to delay the reboot at the end of preparing. This delay is in seconds and has a maximum of 300 (5 minutes).
--pidtosignal, Specify a PID to which to send SIGUSR1 upon completion of the prepare phase. To bypass "rebootdelay" send SIGUSR1 back to startosinstall.
--converttoapfs, specify either YES or NO on if you wish to convert to APFS.
--installpackage, the path of a package to install after the OS installation is complete; this option can be specified multiple times.
--usage, prints this message.

Example: startosinstall --converttoapfs YES

Or this output:

Usage: startosinstall --volume <target volume path>

Arguments
--applicationpath, a path to copy of the OS installer application to start the install with.
--license, prints the user license agreement only.
--agreetolicense, agree to license the license you printed with --license.
--rebootdelay, how long to delay the reboot at the end of preparing. This delay is in seconds and has a maximum of 300 (5 minutes).
--pidtosignal, Specify a PID to which to send SIGUSR1 upon completion of the prepare phase. To bypass "rebootdelay" send SIGUSR1 back to startosinstall.
--converttoapfs, specify either YES or NO on if you wish to convert to APFS.
--installpackage, the path of a package to install after the OS installation is complete; this option can be specified multiple times.
--usage, prints this message.
--volume, path to the target volume.

Example: startosinstall --volume /Volumes/Target --converttoapfs YES

You see. That’s not the same output, and it depends on your SIP settings. And here is why.

Now. Some of you may have SIP partly or completely disabled, and will not notice the difference. Unlike me. I run my Mac/Hack with SIP fully enabled. That is why I get the first output, and thus I have change the SIP settings before I can use the –volume argument, because startosinstall requires – at least – either CSR_ALLOW_UNRESTRICTED_NVRAM/0x40/64 or CSR_ALLOW_ANY_RECOVERY_OS/0x100/256. Without one of these, the –volume argument won’t be supported.

Please note that this SIP requirement was first introduced in a Beta of Sierra 10.12.4, and I ran into it before, but the only reference I had were my own notes. Not exactly rocket science, but it is something that I wanted to share with you 😉

Advertisements

9 thoughts on “SIP requirements for startosinstall –volume <path>

  1. I have used SIP fully enabled until Sierra following your guide. But in HighSierra (10.13) I can’t because it doesn’t allow me to load AppleHDA.kext with custom codec and neither it loads from /Extra/Extension as it only loads from /S/L/E.

  2. I got success on AppleALC but I had to inject it using Clover. The Piker’s method of injecting from /Extra/Extensions did not work for AppleALC and Lilu

    • Lilu.kext and AppleALC.kext do work from the prelinkedkernel, at least for me, but I also let RevoBoot load the required 3th party kexts from: /Extra/Extensions. That works for me as well. Hassle free.

    • Use LiluFriend.kext?

      Edit: To be honest. I didn’t even knew what PinConfig.kext is. Never used it myself.

      Edit-2: Ok. It turns out to be a plugin. AppleALC.kext is working for me, from /Extra/Extensions with the PinConfig.kext plugin, so I think that it should work for you as well.

  3. After looking through the Info.plist I think it has some dependancy with AppleHDA.kext. I think that is the problem for me. As AppleHDA.kext is in /S/L/E it can’t link with it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s