Skip to content

molejar/emLinux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enablement for Embedded Linux Development

This repository contains a set of automatization scripts for:

  • generating virtual machine with Linux OS (debian or ubuntu)
  • compiling toolchain, u-boot and kernel
  • building rootfs for different Linux distributions like debian, ubuntu, ...
  • creating or extracting bootable SD Card image

Motivation

Building a bootable SD-Card image with Debian based embedded Linux OS for i.MX platform is too complex task. This project is trying to decrease its complexity and make the process much easier and user friendly.

Installation

In Debian based Linux distributions just install the package emlinux-tools_x.x.x_all.deb from release section.

   $ wget --quiet https://github.com/molejar/emLinux/releases/download/x.x.x/emlinux-tools_x.x.x_all.deb
   $ sudo dpkg -i emlinux-tools_x.x.x_all.deb

Replace x.x.x with the version number of last release !

In Windows OS you will need to use the Virtual Machine. I have created a Vagrant script which will do all the work for you. Just download the emlinux-vm_x.x.x.zip and extract it into your disk. Then continue reading here: Virtual Machine Builder

Usage

The following picture describes general usage of this automatization scripts. As you can see from picture, every script covers a specific role in image build process and is accessible as standard shell command.

Embedded Linux Tools

All Implemented commands:

  • build_toolchain - Prepare toolchain for bootloader and kernel building
  • build_barebox - Build BareBox Bootloader (replacement of U-Boot)
  • build_uboot - Build U-Boot Bootloader from sources in git repo
  • build_kernel - Build Linux Kernel from sources in git repo
  • build_rootfs - Build minimal RootFS based on Debian packages
  • build_image - Create SD Card image from uboot, kernel and rootfs

With argument -h or -? you can print the command usage. Read Wiki page for more details.

For embedded Linux development under Windows OS read Step-By_step tutorial.

GPU and VPU support

Description for GPU and VPU is here

Development

Clone this repository into your local disk (running Linux OS).

   $ git clone https://github.com/molejar/emLinux.git
   $ cd emLinux

In Debian based Linux distributions install all dependencies and execute install.sh script.

   $ sudo apt-get install build-essential, u-boot-tools, device-tree-compiler, qemu-user-static
   $ sudo apt-get install binfmt-support, debootstrap, binutils, parted, realpath, git, lzop, gzip, zip

   $ sudo ./install.sh

In other Linux distributions use Virtual Machine Builder.

   $ vagrant up
   $ ...

TODO

Usefull Links