Contribute
Register

How to build your own iMac Pro [Successful Build/Extended Guide]

Status
Not open for further replies.
the \ is only needed in the command line to represent the space in the gui.... no need for the slash there... as @kgp is an easy fix for the problem, rename the folder with no spaces

@vulgo , @shael, @mgregrs , @PedroJSkywalker and anybody else involved in this folder naming discourse :lol:

There is a very "sophisticated" trick, which one can be applied when using the terminal with unix commands...

Imagine you want to change within the terminal to the directory /Volumes/LACIE SHARE/. What one normally would do is the following:

Just type into the terminal:

Code:
cd /Vo

and press the Tabulator button marked in red in the figure below.

IMG_9681.png

By this unix will automatically complete the missing path, as long it exists...

Code:
cd /Volumes/

Now add

Code:
cd /Volumes/LA
and press once more the tabulator button.

Unix will correctly complete the path, as implemented (even with the appropriate backlash symbols for likely persistent spaces in the folder and file naming):

Code:
cd /Volumes/LACIE\ SHARE/

The same trick can be applied e.g. for listening (ls), copying (cp), moving (mv) or removing (rm) folders and files... ;)

This trick also provides guarantee that the path added to your e.g. ls, cp, mv, rm commands is correct and exists.

If you provide a wrong start path like:

Code:
cd /VO


Now another add-on. Imagine you would have three folders called:

1.) /Volumes
2.) /Volture
3.) /Voltage

By Typing,

Code:
cd /Vo

nothing would happen when pressing the Tabulator keyboard button, as you have a yet not clearly defined folder/file-path to 3 different directories starting with "/Vo"

Not even adding an "l" would suffice in achieving the full folder/file path

Code:
cd /Vol

while adding an additional u

Code:
cd /Volu
would complete and now clearly define the file path to /Volumes/ after pressing the Tabulator button

Code:
cd /Volumes/

To access /Volture or /Voltage, the initial file path has to correspondingly implement:

Code:
cd /Voltu
or

Code:
cd /Volta

and unix will automatically complete

Code:
cd /Volture/
or

Code:
cd /Voltage/

after pressing the Tabulator keyboard button.

These, just some basic examples how to use the unix command line language in more "sophisticated" but much simplified way ;)
 
Last edited:
@vulgo , @shael, @mgregrs , @PedroJSkywalker and anybody else involved in this folder naming discourse :lol:

There is a very "sophisticated" trick, which one can be applied when using the terminal with unix commands...

Imagine you want to change within the terminal to the directory /Volumes/LACIE SHARE/. What one normally would do is the following:

Just type into the terminal:

Code:
cd /Vo

and press the Tabulator button marked in red in the figure below.

View attachment 307568

By this unix will automatically complete the missing path, as long it exists...

Code:
cd /Volumes/

Now add

Code:
cd /Volumes/LA
and press once more the tabulator button.

Unix will correctly complete the path, as implemented (even with the appropriate backlash symbols for likely persistent spaces in the folder and file naming):

Code:
cd /Volumes/LACIE\ SHARE/

The same trick can be applied e.g. for listening (ls), copying (cp), moving (mv) or removing (rm) folders and files... ;)

This trick also provides guarantee that the path added to your e.g. ls, cp, mv, rm commands is correct and exists.

If you provide a wrong start path like:

Code:
cd /VO

and you press the Tabulator button, nothing would happen, as the directory /VOLUMES/ does not exist and is named /Volumes/ in reality.


Very Cool! you could also drag the folder you want into the terminal window and it will generate the correct path to that folder.
 
(even with the appropriate backlash symbols for likely persistent spaces in the folder and file naming)
When "quoting" the path (and all characters are being interpreted literally) the slashes are omitted and where appropriate the closing quote is produced automatically...
cd "/Volumes/M -> TAB! -> cd "/Volumes/Macintosh HD"
Tab will also perform parameter expansion e.g. tilde home directory ~ and * globbing to a safe absolute path
cd "~/Down -> TAB! -> cd "/Users/Home/Downloads"
or
cd "~/*loads -> TAB! -> cd "/Users/Home/Downloads"
 
When "quoting" the path (and all characters are being interpreted literally) the slashes are omitted and where appropriate the closing quote is produced automatically...

Tab will also perform parameter expansion e.g. tilde home directory ~ and * globbing to a safe absolute path

or

in my previous post i was actually going to make mention to this because its similar to windows with the "~" which i guess makes sense since most os's are basically unix.
 
When "quoting" the path (and all characters are being interpreted literally) the slashes are omitted and where appropriate the closing quote is produced automatically...

Tab will also perform parameter expansion e.g. tilde home directory ~ and * globbing to a safe absolute path

or

Yes, which implements that the command

Code:
ls /

listens the content of the root directory

while the command

Code:
ls ~/
will listen the content of /Users/YOUR_USER_NAME

the latter command equals to

Code:
ls ~/*

which will listen all files in the Users home directory

while

Code:
ls ~/Lib

will be completed after pressing the Tabulator to

Code:
ls ~/Library

and show all files and folders in /Users/YOUR_USER_NAME/Library

while

Code:
ls ~/Library/Extensions/NVDA*

would e.g. show all folders and files starting with NVDA in /Users/YOUR_USER_NAME/Library/Extensions/, which are basically the main Nvidia Web Driver files :lol:

Code:
ls ~/Des

+ Tabulator would be completed to

Code:
ls ~/Desktop/

and show all files and folders in /Users/YOUR_USER_NAME/Desktop/.

The same approach can be used with mv, cp, rm etc..

Note that

Code:
cd /Volumes/

will direct you to the specified folder /Volumes, while

Code:
cd ..

would always direct you one level up in the folder hierarchy, e.g. to "/", if you previously changed to /Volumes

The command

Code:
cd

will always direct you to /Users/YOUR_USER_NAME/, which is your home directory. This latter command equals to

Code:
cd ~/
or

Code:
cd /Users/YOUR_USER_NAME/
 
Last edited:
Dear @kgp... :D if I have the same placement of PCI devices and I selected which ACPI patches I activated in clover config
I should only change acpi path if needed which you mentioned X times in guide :p

but for example _SB/PCI0@0/IMEI@160000 seems to be a little weird :p

//edit// ok I think path is OK

View attachment 307524
or maybe I have to change
Device-id and name too... :p ?
View attachment 307523

or I'm totally in wrong way..? :p :p ;)

I'm quite sure you will laugh with that, but without asking, me or someone can
spent weeks or months and still without simple basic details :p
Then, when I will finally done it, I think I will try to make some little video
or something like that (if it will be needed) with simple, not too much sophisticated language for people
who speak/write in English just average... or with translator :)

PS: I will understand if you don't have time or enough patience to reply in this case... :p ;)
PS2: Every hour I reread whole section to try find what I missed or simple understand
details.... which are not so clear yet... :)

//Edit// I'm quite sure now - it was a bad idea :D
I have :crazy::crazy::crazy::crazy: in my head.

Edit2// If path is OK so why it is not showed in PCI proprieties .. :/

EDIT3: I'm SURE it's very easy to do... but without example it's :banghead::crazy:

You are definitely on the right way, man :thumbup: Sounds that you already collected some first basic experience with IOREG and ssdt.aml and ACPI replacement patch application. :clap:

Just go ahead.. I am convinced you will succeed at the end :headbang:
 
Yes, which implements that the command

Code:
ls /

listens the content of the root directory

while the command

Code:
ls ~/
will listen the content of /Users/YOUR_USER_NAME

the latter command equals to

Code:
ls ~/*

which will listen all files in the Users home directory

while

Code:
ls ~/Lib

will be completed after pressing the Tabulator to

Code:
ls ~/Library

and show all files and folders in /Users/YOUR_USER_NAME/Library

while

Code:
ls ~/Library/Extensions/NVDA*

would e.g. show all folders and files starting with NVDA in /Users/YOUR_USER_NAME/Library/Extensions/, which are basically the main Nvidia Web Driver files :lol:

Code:
ls ~/Des

+ Tabulator would be completed to

Code:
ls ~/Desktop/

and show all files and folders in /Users/YOUR_USER_NAME/Desktop/.

The same approach can be used with mv, cp, rm etc..

Note that

Code:
cd /Volumes/

will direct you to the specified folder /Volumes, while

Code:
cd ..

would always direct you one level up in the folder hierarchy, e.g. to "/", if you previously changed to /Volumes

The command

Code:
cd

will always direct you to /Users/YOUR_USER_NAME/, which is your home directory. This latter command equals to

Code:
cd ~/
or

Code:
cd /Users/YOUR_USER_NAME/

OMG, did that take you an hour to write up? lol nice explanation!
 
OMG, did that take you an hour to write up? lol nice explanation!

Just 5 min of my life ;):lol:

Hope that helps others and avoids future questions and errors in this direction ..
 
Well, after flashing an unmodified 1102 BIOS and enabling Pike's xcpm_core_scope_msrs patch there are no longer kernel panics upon wake from sleep! :beachball: uptime close to 72 hours with over 20 sleep/wake cycles - yay!

While this is very nice and I am more than happy to have a perfect setup for my needs and wants, I think it is just weird because I am deviating from the default set in the guide by the venerable @kgp

Namely:
XCPM is only activated with an SSDT
I have to use an unmodified BIOS with the one Pike's patch to avoid KP on wake
I have no KernelPM patch enabled
 
Status
Not open for further replies.
Back
Top