这篇文章介绍如何构建一个完整基于ARM的Ubuntu系统。
    由于改文章当初写的时候是发表在国外产品论坛上面,故保留了
    
     原文内容
    
    。
   
    使用到的硬件平台:
    
     Geekbox
    
   
补充说明:
虽然Geekbox是基于8核64Bits Cortex-A53 ARMV8架构的CPU,该方法构建的时候采用了向下兼容的32Bits的ARMV7架构。因此,该方法适用于Cortex-A7/A9/A15/A17/A12架构的ARM处理器。
In this guide, we will describe how to build an ubuntu system for Geekbox from scratch.
   Different ways to achieve it:
   
   1. Build the whole system in host PC with Chroot(emulator)
   
   Link: TBD
   
   2. Build in a removable media device, such as: SDCard or UDisk
   
   Link: TBD
   
   3. Build in the target device directly
   
   Link: current article
   
    Before starting
   
   
   Carry on the following questions before you start your work:
   
   1. Q: armhf vs arm64
   
   A: Google for the answer
   2. Q: Ubuntu vs Lubuntu/Kubuntu
   
   A: Google for the answer
   3. Q: What is included in an ubuntu system?
   
   A: Bootloader & ramfs(kernel + initrd) & rootfs
   4. Q: how to manage your ubuntu projects
   
   A: Continue current reading and think about your own manage mothod.
    
     Preparations
    
   
   1. Create the working directories
   
$ install -d ~/project/geekbox/ubuntu/{linux,initrd,rootfs,prebuilts,archives/{ubuntu-core,debs,hwpacks},images,utils,scripts}
$ cd ~/project/geekbox/ubuntu
   2. Download the bootloader source code
   
$ git clone https://github.com/geekboxzone/lollipop_u-boot u-boot
   3. Download the linux kernel source code
   
$ git clone https://github.com/geekboxzone/lollipop_kernel -b ubuntu linux
   4. Download the toolchain
   
$ git clone https://github.com/geekboxzone/lollipop_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9.git prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/Note the full path of “prebuilts/gcc/linux-x86/arm/arm-eabi-4.6”, just to keep Makefile@linux happy
   5. Download the initrd
   
$ git clone https://github.com/gouwa/initrd.git initrd
   6. Download the hardware packages for Geekbox
   
$ git clone https://github.com/geekboxzone/ubuntu_h 
