From ebf5d416ebc2f5a33db00cb82298f0afbacc0a82 Mon Sep 17 00:00:00 2001 From: Jonathan Maw Date: Mon, 3 Jun 2013 11:20:32 +0100 Subject: Add ARM setup instructions --- building-and-testing | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 building-and-testing 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 '' +git config --global user.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 @: +{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` @: +{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 +{code} -- cgit v1.2.1