Skip to content
Kaiwan N Billimoria edited this page Oct 7, 2016 · 17 revisions

SEALs - "Simple Embedded Arm Linux system"

Custom kernel + root filesystem for an "embedded" QEMU/ARM-32 Linux system.

How to use this project:

Steps:

  1. Familiarize yourself with the embedded Linux build environment, prerequisites (GNU toolchain), etc. (read through the links provided below).
    (And do glance through the 'Home' wiki page first).

  2. Install all required components before starting to use these scripts:

Please read the 'HOWTO Install all required components for SEALS' wiki page for details.

  • x86-to-ARM toolchain (pl see download links below) _ (remember to change the PATH env variable to point to the toolchain bin/ folder)_
  • busybox middleware component
  • QEMU (particularly, qemu-system-arm)
  • mkfs.ext4
  • libncurses5-dev package
  • make (binutils)

You can use your distro's package manager software to install all packages (typically apt-get / dpkg on Debian/Ubuntu/Mint or yum on Fedora).

3. The build configuration script
Name: build.config

To help the developer configure the project environment, the build scripts parse in and use a configuration script. This lets you (the developer/user) easily change things like the paths to the toolchain, busybox source, images folder, etc. Also, the ARM ISA to build against (choice is currently between the ARMv5 and ARMv7), the Linux kernel source tree location, etc.

4. The SEALs - "Simple Embedded Arm Linux system" - build script:

build_QEMU_ARM_sdcard.sh : the SEALS main build script. ARMv7 ARM Linux kernel, enhanced root filesystem: dynamic busybox, shared libraries, init & etc files/scripts, device nodes, etc. We now use an ext4 filesystem, formatted upon a non-volatile SDcard as the root filesystem! ** Use this script by default**

[UPDATE: Older scripts, 1_build* and 3_build* now retired from use. Just use the above build_QEMU_ARM_sdcard.sh script. ]

Resources / Links
Please refer these links for detailed info; in fact, the scripts were developed using these resources extensively!

Kernel / embedded :
"Compile Linux kernel 3.2 for ARM and emulate with QEMU" by Balau
"Busybox for ARM on QEMU" by Balau

Many thanks to Balau for the knowledge and inspiration! :)

-Kaiwan N Billimoria
Em: kaiwan-at-kaiwantech-dot-com
Web: kaiwantech.in

Clone this wiki locally