Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Cannot install without ensuring the file system is read-write" when trying to install on a USB drive #158

Closed
jonasrk opened this issue May 4, 2020 · 8 comments
Labels
invalid This doesn't seem right

Comments

@jonasrk
Copy link

jonasrk commented May 4, 2020

Hi friends,

I'm on a MacBook and want to use r5115 to install on a USB Installer drive. It fails with "Cannot install without ensuring the file system is read-write" I'm assuming because it can't get full access to my MacBooks drive.

It should only need full access to the USB drive, which it has, or am I missing something?

@asava asava added the duplicate This issue or pull request already exists label May 5, 2020
@asava
Copy link
Contributor

asava commented May 5, 2020

Duplicate of #22 ?

@jonasrk
Copy link
Author

jonasrk commented May 5, 2020

@asava I read through #22 and #6 entirely, however I think it's not a duplicate. Those two issues were mainly about updating on a Hacky.

My issue here is about creating a first USB installation drive on Mac hardware. This is currently not possible for me, because of the crash described above. Since all we want here is to flash the USB drive, this should work without disabling SIP or getting full root access to my Mac SSD.

Please also note the comment #22 (comment) and the number of upvotes it received.

@asava , can you remove the duplicate label so we can start working on fixing this issue? :)

@asava asava removed the duplicate This issue or pull request already exists label May 5, 2020
@vectorsigma72
Copy link
Contributor

vectorsigma72 commented May 5, 2020

@vectorsigma72

Hi guys, this should be tagged as invalid (as I already tried to explain why multiple times) and i'm going to explain why again:

  1. In Catalina (and newer) the root file system becomes read only.
  2. The package is just an archive and not a program (as always).
  3. A package is handled by /System/Library/CoreServices/Installer.app, and we can't do nothing.
  4. Installer.app knows when you are potentially trying to install to /, ready to deny anything will desecrate your Mac (or your Hack).
  5. Clover package can potentially install somethings to / (like preferences, rc scripts, the pref panel and/or just the EFI directory), even if your will is to install to another drive.
  6. In Catalina Installer.app knows 1., 4. and 5. and prevent the installer to run it, even if you want to install on a USB pen drive (no matter what). The workaround is to make the root filesystem read/write before chosing the target volume and allow any volume to be chosen, and is what the package does with a java script when it ask if you want to make "/" read write.

If you don't want to make the root filesystem read/write (which is temporary until next reboot, at least in Catalina (don't know for future OSes)), in any cases, there is no way to continue the installation. No matter if you run from a real Mac and even if you want to install to an external drive only: the package has no brain, and you will have no chances... conscious or not.

To avoid this kind of issue I created Clover.app which can mount ESP partitions without creating a fake volume mount point (like the package do with the sysmlink to the ESP) and which doesn't install anything to protected paths. Use it.
Alternatives: continue to open issues on github :-) without chances.

We should left this issue always opened to prevent again users open newer ones.

@vectorsigma72 vectorsigma72 added the invalid This doesn't seem right label May 5, 2020
@vectorsigma72 vectorsigma72 pinned this issue May 5, 2020
@vectorsigma72 vectorsigma72 unpinned this issue May 5, 2020
@dokuruharsha
Copy link

HI ,

I am new here so please bear with me

I am having the same issue @jonasrk was having

To give a background, I am trying to build my 1st hackintosh and I have ran into the issue.

I am using Macbook pro with MacOS Catalina 10.15.4. I have downloaded and copied OS files to my flash drive. When i tried to download and install Clover installer (Clover_v2.5k_r5103.pkg
) i am seeing the error "Cannot install without ensuring the file system is read-write".

After reading the above comments by @vectorsigma72 and related Issues (#22 and #6 ), I understand that MacOS Catalina have read only access to root filesystem inorder to help prevent the accidental overwriting of critical operating system files and requires write access. The steps are not very clear for me in the above comments, could anyone please provide clear steps, so that i can install clover on my flashdrive?

PS : I am not a geek and new to apple ecosystem.

Really appreciate any comments

Thanks
Harsha

@dokuruharsha
Copy link

HI All,

I have revisited the comments on #6 . And the below comment from @gomsoup worked like a charm

  1. restart your mac
  2. press command + r until appear Apple's logo
  3. Select your account and enter password
  4. go to menubar-utility-terminal
  5. type this command - " csrutil disable "

However my issue is now resolved, for information purposes i would like to know if this is the only way to give edit access to rootfile system ?

Any comments are appreciated

Thanks
Harsha

@vectorsigma72
Copy link
Contributor

vectorsigma72 commented May 20, 2020

Hi @dokuruharsha, maybe you lost the "Clover.app” part? It is a complete replacement for the package installer designed to work with Catalina without making filesystems read/write or play with SIP...

@dokuruharsha
Copy link

Hi @vectorsigma72 ,

Thank you for taking time to reply my query. That is helpful.

I have installed Clover configurator and downloaded the bootloader Package to make my MacOSX bootable drive sucessfully

@rcknr
Copy link

rcknr commented Jul 31, 2020

I used the following workaround:

  1. Download Clover bootloader package (e.g. Clover_r5120.pkg)
  2. Extract the package: pkgutil --expand Clover_r5120.pkg CloverPkg
  3. Edit CloverPkg/Distribution: find checkFileSystemIsWritable() function and add return writable; after var writable = true;
  4. Create new package with modified file: pkgutil --flatten CloverPkg Clover_r5120_mod.pkg
  5. Install the modified package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

6 participants