summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Maw <jonathan.maw@codethink.co.uk>2013-06-03 11:20:32 +0100
committerJonathan Maw <jonathan.maw@codethink.co.uk>2013-06-03 11:20:32 +0100
commitebf5d416ebc2f5a33db00cb82298f0afbacc0a82 (patch)
tree9479aadef13f640d57d5c273d7b509544f2d3364
parent842bc07427e782f6d5d230c5196edaf118040deb (diff)
downloadgenivi-initial-setup-ebf5d416ebc2f5a33db00cb82298f0afbacc0a82.tar.gz
Add ARM setup instructions
-rw-r--r--building-and-testing118
1 files changed, 118 insertions, 0 deletions
diff --git a/building-and-testing b/building-and-testing
new file mode 100644
index 0000000..173992b
--- /dev/null
+++ b/building-and-testing
@@ -0,0 +1,118 @@
+h3. Baserock GENIVI Baseline for ARMv7-versatile
+
+h4. Download a prebuilt ARMv7 Versatile image
+
+*Note: This step is to be executed on an x86 host machine that has QEMU with ARM emulation support, and 'tap' installed*
+
+If all you want to do is boot the system, you'll need to download
+
+* [the genivi baseline system rootfs|http://download.baserock.org/baserock/baserock-8-genivi-baseline-armv7-versatile.img.gz] and
+* [the kernel zImage|http://download.baserock.org/baserock/baserock-8-genivi-baseline-armv7-versatile.zImage]
+
+
+h4. Setting up am ARMv7-versatile development system
+
+*Note: This step is to be executed on an x86 host machine that has QEMU with ARM emulation support, and 'tap' installed*
+
+_In order to create a Baserock development VM, you'll need about 35GB of free space on your host. It makes sense to start in a new, empty directory._
+
+h5. 1. Download and extract the development image
+
+Download the kernel and rootfs for the GENIVI devel system
+
+* [genivi devel system rootfs|http://download.baserock.org/baserock/baserock-8-genivi-devel-armv7-versatile.img.gz]
+* [kernel zImage|http://download.baserock.org/baserock/baserock-8-genivi-devel-armv7-versatile.zImage]
+
+e.g.:
+
+{code}
+wget http://download.baserock.org/baserock/baserock-8-genivi-devel-armv7-versatile.img.gz
+wget http://download.baserock.org/baserock/baserock-8-genivi-devel-armv7-versatile.zImage
+{code}
+
+h5. 2. Extract the rootfs
+
+{code}
+gunzip -c baserock-8-genivi-devel-armv7-versatile.img.gz > baserock-8-genivi-devel-armv7-versatile.img
+{code}
+
+h5. 3. Clone the script to boot the .img files
+
+{code}
+git clone git://trove.baserock.org/baserock/baserock/genivi-initial-setup
+{code}
+
+
+h5. 4. Use the script to boot your image
+
+{code}
+cd genivi-initial-setup
+./run-built-arm-image.sh ../baserock-8-genivi-devel-armv7-versatile.zImage ../baserock-8-genivi-devel-armv7-versatile.img
+{code}
+
+After this, you should see a QEMU window open and boot the ARM Baserock development image.
+
+h4. Building the ARMv7-versatile baseline
+
+*Note: For this step you need to work within the development VM. Boot it and log in (username: root, no password) and perform this step in the VM*
+
+h5. 1. Check out a system branch
+
+{code}
+git config --global user.name '<YOUR-NAME>'
+git config --global user.email '<YOUR-EMAIL>'
+morph init /src/workspace
+cd /src/workspace
+morph checkout baserock:baserock/morphs baserock/release/baserock-8
+cd baserock/release/baserock-8/baserock\:baserock/morphs
+{code}
+
+h5. 2. Build the system
+
+{code}
+morph build genivi-baseline-system-armv7-versatile
+{code}
+
+h4. Testing the ARMv7-versatile baseline
+
+To use the built system, it must first be turned into a useful format by _deploying_ it.
+
+h5. 1. Deploy the rootfs
+
+{code}
+morph deploy --no-git-update rawdisk genivi-baseline-system-armv7-versatile genivi-baseline-system.img DISK_SIZE=4G
+{code}
+
+_Note: We add --no-git-update because we know there won't be any new changes, so we can save the time it would take to check for changes_
+
+h5. 2. Copy the rootfs to your host machine
+
+After it has been deployed, you can copy it out of your virtual machine. The simplest way would be with scp:
+
+{code}
+scp genivi-devel-system.img <USER>@<HOST-SYSTEM>:<PATH-TO-ROOTFS.img>
+{code}
+
+h5. 3. Copy the kernel to your host machine
+
+The built kernel can be found by performing:
+
+{code}
+ls -t /src/cache/artifacts/*kernel | head -1
+{code}
+
+Copy that file out however is most convenient, e.g. with scp:
+
+{code}
+scp `ls -t /src/cache/artifacts/*kernel | head -1` <USER>@<HOST-SYSTEM>:<PATH-TO-KERNEL.zImage>
+{code}
+
+h5. 4. Boot your built system
+
+*Note: This step is to be executed on an x86 host machine that has QEMU with ARM emulation support, and 'tap' installed*
+
+Boot the new system in the exact same way as the old one:
+
+{code}
+genivi-initial-setup/run-built-arm-image.sh <PATH-TO-KERNEL.zImage> <PATH-TO-ROOTFS.img>
+{code}