update build guide examples
This commit is contained in:
parent
3a2ff1824a
commit
ddf349f8e0
@ -420,9 +420,9 @@ git submodule update --init --recursive
|
||||
|
||||
<pre>source script/envsetup.sh</pre>
|
||||
|
||||
<p>Select the desired build target (<code>aosp_crosshatch</code> is the Pixel 3 XL):</p>
|
||||
<p>Select the desired build target (<code>aosp_sunfish</code> is the Pixel 4a):</p>
|
||||
|
||||
<pre>choosecombo release aosp_crosshatch user</pre>
|
||||
<pre>choosecombo release aosp_sunfish user</pre>
|
||||
|
||||
<p>For a development build, you may want to replace <code>user</code> with
|
||||
<code>userdebug</code> in order to have better debugging support. Production builds
|
||||
@ -560,11 +560,11 @@ mv vendor/android-prepare-vendor/DEVICE/BUILD_ID/vendor/google_devices/* vendor/
|
||||
<p>The encryption passphrase for all the keys generated for a device needs to
|
||||
match for compatibility with the GrapheneOS scripts.</p>
|
||||
|
||||
<p>To generate keys for crosshatch (you should use unique keys per device
|
||||
<p>To generate keys for sunfish (you should use unique keys per device
|
||||
variant):</p>
|
||||
|
||||
<pre>mkdir -p keys/crosshatch
|
||||
cd keys/crosshatch
|
||||
<pre>mkdir -p keys/sunfish
|
||||
cd keys/sunfish
|
||||
../../development/tools/make_key releasekey '/CN=GrapheneOS/'
|
||||
../../development/tools/make_key platform '/CN=GrapheneOS/'
|
||||
../../development/tools/make_key shared '/CN=GrapheneOS/'
|
||||
@ -579,7 +579,7 @@ cd ../..</pre>
|
||||
|
||||
<p>Generate a signify key for signing factory images:</p>
|
||||
|
||||
<pre>signify -G -n -p keys/crosshatch/factory.pub -s keys/crosshatch/factory.sec</pre>
|
||||
<pre>signify -G -n -p keys/sunfish/factory.pub -s keys/sunfish/factory.sec</pre>
|
||||
|
||||
<p>Remove the <code>-n</code> switch to set a passphrase. The <code>signify</code>
|
||||
tool doesn't provide a way to change the passphrase without generating a new key, so
|
||||
@ -594,7 +594,7 @@ cd ../..</pre>
|
||||
<p>You can (re-)encrypt your signing keys using the <code>encrypt_keys</code> script,
|
||||
which will prompt for the old passphrase (if any) and new passphrase:</p>
|
||||
|
||||
<pre>script/encrypt_keys.sh keys/crosshatch</pre>
|
||||
<pre>script/encrypt_keys.sh keys/sunfish</pre>
|
||||
|
||||
<p>The <code>script/decrypt_keys.sh</code> script can be used to remove encryption,
|
||||
which is not recommended. The script exists primarily for internal usage to decrypt
|
||||
@ -636,10 +636,10 @@ cd ../..</pre>
|
||||
|
||||
<p>Generate a signed release build with the release.sh script:</p>
|
||||
|
||||
<pre>script/release.sh crosshatch</pre>
|
||||
<pre>script/release.sh sunfish</pre>
|
||||
|
||||
<p>The factory images and update package will be in
|
||||
<code>out/release-crosshatch-$BUILD_NUMBER</code>. The update zip performs a full OS
|
||||
<code>out/release-sunfish-$BUILD_NUMBER</code>. The update zip performs a full OS
|
||||
installation so it can be used to update from any previous version. More efficient
|
||||
incremental updates are used for official over-the-air GrapheneOS updates and can be
|
||||
generated by keeping around past signed <code>target_files</code> zips and generating
|
||||
@ -682,28 +682,34 @@ cd ../..</pre>
|
||||
delta updates by passing the device, source version build number and target version
|
||||
build number. For example:</p>
|
||||
|
||||
<pre>script/generate_delta.sh crosshatch 2019.09.25.00 2019.10.07.21</pre>
|
||||
<pre>script/generate_delta.sh sunfish 2020.12.12.03 2021.01.05.03</pre>
|
||||
|
||||
<p>The script assumes that the releases are organized in the following directory
|
||||
structure:</p>
|
||||
|
||||
<pre>releases
|
||||
├── 2019.09.25.00
|
||||
│ └── release-crosshatch-2019.09.25.00
|
||||
│ ├── crosshatch-factory-2019.09.25.00.zip
|
||||
│ ├── crosshatch-factory-2019.09.25.00.zip.sig
|
||||
│ ├── crosshatch-img-2019.09.25.00.zip
|
||||
│ ├── crosshatch-ota_update-2019.09.25.00.zip
|
||||
│ ├── crosshatch-target_files-2019.09.25.00.zip
|
||||
│ └── crosshatch-testing
|
||||
└── 2019.10.07.21
|
||||
└── release-crosshatch-2019.10.07.21
|
||||
├── crosshatch-factory-2019.10.07.21.zip
|
||||
├── crosshatch-factory-2019.10.07.21.zip.sig
|
||||
├── crosshatch-img-2019.10.07.21.zip
|
||||
├── crosshatch-ota_update-2019.10.07.21.zip
|
||||
├── crosshatch-target_files-2019.10.07.21.zip
|
||||
└── crosshatch-testing</pre>
|
||||
├── 2020.12.12.03
|
||||
│ └── release-sunfish-2020.12.12.03
|
||||
│ ├── otatools
|
||||
│ ├── sunfish-beta
|
||||
│ ├── sunfish-factory-2020.12.12.03.zip
|
||||
│ ├── sunfish-factory-2020.12.12.03.zip.sig
|
||||
│ ├── sunfish-img-2020.12.12.03.zip
|
||||
│ ├── sunfish-ota_update-2020.12.12.03.zip
|
||||
│ ├── sunfish-stable
|
||||
│ ├── sunfish-target_files-2020.12.12.03.zip
|
||||
│ └── sunfish-testing
|
||||
└── 2021.01.05.03
|
||||
└── release-sunfish-2021.01.05.03
|
||||
├── otatools
|
||||
├── sunfish-beta
|
||||
├── sunfish-factory-2021.01.05.03.zip
|
||||
├── sunfish-factory-2021.01.05.03.zip.sig
|
||||
├── sunfish-img-2021.01.05.03.zip
|
||||
├── sunfish-ota_update-2021.01.05.03.zip
|
||||
├── sunfish-stable
|
||||
├── sunfish-target_files-2021.01.05.03.zip
|
||||
└── sunfish-testing</pre>
|
||||
|
||||
<p>Incremental updates are uploaded alongside the update packages and update metadata
|
||||
on the static web server used as an update server. The update client will
|
||||
|
Loading…
x
Reference in New Issue
Block a user