You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+14-16
Original file line number
Diff line number
Diff line change
@@ -16,22 +16,21 @@ You can build from the included source by running `cargo build --release` (if yo
16
16
-h print help/usage message then exit
17
17
18
18
-o x.y.z select OpenCore version number to use e.g. `-o 0.7.4`
19
-
- without this option octool will make a quick guess as to which version to use based on the INPUT config.plist, if no INPUT config.plist is provided, octool will default to the latest version of OpenCore
19
+
- without this option octool will make a quick guess as to which version to use based on the INPUT config.plist, if no INPUT config.plist is provided, octool will default to the latest OpenCore version
20
20
21
21
-v print octool version information and booted OpenCore version if the var is in NVRAM then exit
22
22
23
23
octool takes a path to a `config.plist` to use if desired.
24
-
If you run octool with no path provided `./octool` will first look for a `config.plist` in the `INPUT` folder, if it doesn't find one there it will use the corresponding`OpenCorePkg/Docs/Sample.plist` file.
24
+
If you run octool with no path provided `./octool` will look for `config.plist` in the `INPUT` folder, if it doesn't find it there it will use the `OpenCorePkg/Docs/Sample.plist` file.
25
25
26
26
## Here's a rundown of the current process octool uses. ##
27
27
28
28
At startup, octool checks for a local copy of [the builds branch of the Dortania/build-repo](https://github.com/dortania/build-repo/tree/builds) so it will know the urls and hashes of the prebuilt binary resources. Thank you [dhinakg](https://github.com/dhinakg), [hieplpvip](https://github.com/hieplpvip), and [khronokernel](https://github.com/khronokernel).
29
-
- If it finds it locally it updates it if needed
30
-
- If it doesn't find it locally octool downloads the `build-repo` into the `tool_config_files` folder.
29
+
- It will update or download it to the `build-repo` into the `tool_config_files` folder as needed.
31
30
32
31
Next, octool does the same thing for [the master branch of the Acidanthera OpenCorePkg source files](https://github.com/acidanthera/OpenCorePkg), thanks to the [people of Acidanthera](https://github.com/acidanthera), in order to have the corresponding Sample.plist and Configuration.tex files, etc. for the version of OpenCore that you are building. They will be placed into the `resources` folder along with the corresponding binaries from the Dortania builds. This will allow `octool` to use Acidanthera tools while building the EFI, such as the ocvalitate and CreateVault tools. Thanks, again [dhinakg](https://github.com/dhinakg).
33
32
34
-
As a last step, octool will run the input config.plist through ocvalitade, display any errors, and give you the option to quit or continue.
33
+
Lastly, octool will run the input config.plist through ocvalitade and give you the option to quit or continue.
35
34
If you continue you then enter the config.plist editor...
36
35
```
37
36
Navigation: arrow keys or some standard vi keys
@@ -67,29 +66,29 @@ Usage:
67
66
68
67
'G' `go` (capital G) - make an OUTPUT/EFI/OC folder from the config.plist
69
68
- if `OpenCanopy.efi` is enabled it will copy the OcBinaryData Resources to `OUTPUT/EFI/OC/Resources`
70
-
- if Misc->Security->Vault is set to Basic or Secure, octool will compute the required files and sign the `OpenCore.efi` if needed
71
-
-right now, octool will ignore resources that it doesn't know unless they are placed in the INPUT folder, it will print out a warning, but it will not make a change to the config.plist for the unknown resource
69
+
- if `Misc > Security > Vault` is set to `Basic` or `Secure`, octool will compute the required files and sign the `OpenCore.efi` if needed
70
+
- octool will ignore resources that it doesn't know unless they are placed in the INPUT folder, it will print out a warning, but it will not make a change to the config.plist for the unknown resource
72
71
- any file placed in the `INPUT` folder will take priority and will be used for the `OUTPUT/EFI`, even if a more recent version of that resource is available elsewhere. This is good for using a specific version of a kext, for example, or for using a specific SSDT or USBMap
73
72
- lastly, it will again validate the `OUTPUT/EFI/OC/config.plist` file with ocvalidate
74
73
75
74
'i' show `info` of highlighted item.
76
75
- If item is resource such as a kext or driver, octool will show the source of the file it will place in the `OUTPUT/EFI` folder.
77
-
-If the highlighted item is a field of the config.plist, octool will show the description and info from the corresponding [Acidanthera](https://github.com/acidanthera)`Configuration.tex` file.
76
+
-Otherwise, octool will show the description and info from the corresponding [Acidanthera](https://github.com/acidanthera)`Configuration.tex` file.
78
77
79
78
'K' `Key` - capital K - edit the name of the highlighted key
80
79
81
-
'M' `merge` - capital M - will add missing fields to the `config.plist`if they are in the `Sample.plist` without changing any existing fields.
82
-
- this command, coupled with its companion Purge command (capital P) will update a config.plist when any OpenCore plist format changes occur
80
+
'M' `merge` - capital M - will add missing fields to the `config.plist`from the `Sample.plist` without changing any existing fields.
81
+
- this command, coupled with its companion Purge command (capital P) will update a config.plist when OpenCore plist format changes occur
83
82
84
83
'n' `next` - jump to the next found item if more than one occurance was found
85
84
86
-
'P' `purge` - Capital P - removes fields from the config.plist that are not in the Sample.plist
87
-
- this command, coupled with it's companion merge command (capital M) will update a config.plist when any OpenCore changes occur
85
+
'P' `purge` - Capital P - removes fields from the `config.plist` that are not in the `Sample.plist`
86
+
- this command, coupled with it's companion merge command (capital M) will update a config.plist when OpenCore plst format changes occur
88
87
89
88
'p' `paste` - places the last deleted or modified etc. item into the plist (for those familiar with vi commands)
90
89
- if pasting into a dictionary, `octool` will append `-copy` to the pasted item
91
90
92
-
'q' `quit` - if unsaved changes were made to the `config.plist` octool will show a warning and allow changes to be saved or ignored
91
+
'q' `quit` - if unsaved changes were made to the `config.plist` octool will show a warning so changes can be saved
93
92
94
93
'r' `reset` - if a single item is selected, reset its value to the same as the `Sample.plist` value
95
94
- if a section is highlighted, reset the whole section to the same as the section in the `Sample.plist`
@@ -99,7 +98,7 @@ Usage:
99
98
- the saved file will be checked with `ocvalidate` for any errors
100
99
101
100
'V' `Version` - Capital V - change the version of OpenCore that will be checked against and used in the `OUTPUT` EFI
102
-
- if 'V' is used while a resource is highlighted, you can change the version of that specific resource
101
+
-or, if 'V' is used while a resource is highlighted, you can change the version of that specific resource
103
102
104
103
'ctrl-x' `cut` - remove the highlighted field or section from the plist
105
104
@@ -114,7 +113,7 @@ Usage:
114
113
-`build-repo` folder - contains the `config.json` file from the Dortania builds repo with url, version, hash, date created, etc. info for the parent resources. octool will download this from Dortania if it doesn't exist
115
114
-`other.json` - contains a list of additional parent resources not included in the Dortania `build--repo`, octool will create this if it doesn't exist
116
115
117
-
`INPUT` folder - place `config.plist` here along with other files to be included in the `OUTPUTEFI`, such as custom SSDT files, custom Drivers, custom OpenCanopy themes, etc.
116
+
`INPUT` folder - place your `config.plist` here along with other files to be included in the `OUTPUT/EFI`, such as custom SSDT files, custom Drivers, custom OpenCanopy themes, etc.
118
117
-`octool` will not overwrite the input config.plist on save, instead it will save a version called `modified_config.plist` in this folder so the original `config.plist` can still be used if needed
119
118
-`octool` will also automatically save a config.plist titled `last_built_config.plist` when the build command is run for easy reference to a copy of the config.plist that is in the OUTPUT/EFI folder
120
119
@@ -124,6 +123,5 @@ Usage:
124
123
125
124
## To Do: ##
126
125
- change tool configuration from inside tool, the configuration file `tool_config_files/octool_config.json` contains vars to set up octool, for example the language versions of the audio files for OpenCanopy for e.g. `en`
127
-
- add option to use IA32 versions instead of assuming X64
128
126
- keep the highlighted item on screen while reading long info from the Configuration.tex so the user can edit the field while also reading the info
129
127
- fix some style formatting of the info screens so underline, bold, etc. looks better when it crosses multiple lines
0 commit comments