Build your own LininoOS and LininoIO

If you want to customize linino by adding or removing some components, you must build your own image from the source code.

The linino source code repository is a git repository hosted on github servers. To you use it you must install git on your computer.

The first step is to clone the linino repository:

This will create the directory linino_distro with the linino source code.

 
 
cd linino_distro
 
 

On linino_distro repository we have mainly 2 official released branches: master and lininoIO. So checkout the branch you need to build using the commands:

 
 
git checkout -b lininoIO origin/lininoIO
 
 

To update linino to the last OpenWrt release you have to do the following commands:

 
 
./scripts/feeds update -a
./scripts/feeds install -a
 
 

The first command will update packages and lists of feeds. The second command will install packages.  Both commands use the option -a that means to apply the command on all packages.

After update and install, reset the linino default configuration:

 
 
git checkout -- .config
make oldconfig
 
 

Now, you are ready to configure linino. You should use the pseudo graphical configuration to choose which components to include in your system:

 
 
make menuconfig
 
 

You can also customize the Linux kernel configuration with the following command:

 
 
make kernel_menuconfig
 
 

When your configuration is done, the last step is to build the system:

 
 
make
 
 

The first build is very very long, it can take more than 2 hours. On multicore machine you can use the make's option -jto speed up the building procedure.

If you want to see what is going on during the building procedure, or you want to see an error detail, you can use the environment variable V

 
 
make V=s
 
 

When the compilation is over, you will find the system images in the bin/ar71xx directory:

 
 
ls bin/ar71xx
md5sums
openwrt-ar71xx-generic-linino-caldata.bin
openwrt-ar71xx-generic-linino-chowchow-16M-jffs2-sysupgrade.bin
openwrt-ar71xx-generic-linino-chowchow-16M-kernel.bin
openwrt-ar71xx-generic-linino-chowchow-16M-rootfs-jffs2.bin
openwrt-ar71xx-generic-linino-chowchow-16M-rootfs-squashfs.bin
openwrt-ar71xx-generic-linino-chowchow-16M-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-linino-freedog-16M-jffs2-sysupgrade.bin
openwrt-ar71xx-generic-linino-freedog-16M-kernel.bin
openwrt-ar71xx-generic-linino-freedog-16M-rootfs-jffs2.bin
openwrt-ar71xx-generic-linino-freedog-16M-rootfs-squashfs.bin
openwrt-ar71xx-generic-linino-freedog-16M-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-linino-one-16M-250k-jffs2-sysupgrade.bin
openwrt-ar71xx-generic-linino-one-16M-250k-kernel.bin
openwrt-ar71xx-generic-linino-one-16M-250k-rootfs-jffs2.bin
openwrt-ar71xx-generic-linino-one-16M-250k-rootfs-squashfs.bin
openwrt-ar71xx-generic-linino-one-16M-250k-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-linino-one-16M-jffs2-sysupgrade.bin
openwrt-ar71xx-generic-linino-one-16M-kernel.bin
openwrt-ar71xx-generic-linino-one-16M-rootfs-jffs2.bin
openwrt-ar71xx-generic-linino-one-16M-rootfs-squashfs.bin
openwrt-ar71xx-generic-linino-one-16M-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-linino-u-boot.bin
openwrt-ar71xx-generic-linino-yun-16M-250k-jffs2-sysupgrade.bin
openwrt-ar71xx-generic-linino-yun-16M-250k-kernel.bin
openwrt-ar71xx-generic-linino-yun-16M-250k-rootfs-jffs2.bin
openwrt-ar71xx-generic-linino-yun-16M-250k-rootfs-squashfs.bin
openwrt-ar71xx-generic-linino-yun-16M-250k-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-linino-yun-16M-jffs2-sysupgrade.bin
openwrt-ar71xx-generic-linino-yun-16M-kernel.bin
openwrt-ar71xx-generic-linino-yun-16M-rootfs-jffs2.bin
openwrt-ar71xx-generic-linino-yun-16M-rootfs-squashfs.bin
openwrt-ar71xx-generic-linino-yun-16M-squashfs-sysupgrade.bin
openwrt-ar71xx-generic-rootfs.tar.gz
openwrt-ar71xx-generic-root.jffs2-128k
openwrt-ar71xx-generic-root.jffs2-256k
openwrt-ar71xx-generic-root.jffs2-64k
openwrt-ar71xx-generic-root.squashfs
openwrt-ar71xx-generic-root.squashfs-64k
openwrt-ar71xx-generic-uImage-gzip.bin
openwrt-ar71xx-generic-uImage-lzma.bin
openwrt-ar71xx-generic-vmlinux.bin
openwrt-ar71xx-generic-vmlinux.elf
openwrt-ar71xx-generic-vmlinux.gz
openwrt-ar71xx-generic-vmlinux.lzma
openwrt-ar71xx-generic-vmlinux-lzma.elf
packages
 
 

You are ready to flash your own image on your board. Please read the following pages about flashing procedure:

How to update SPI flash from u-boot