这篇文章介绍如何构建一个完整基于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