Skip to content
miZy linux kernel 3.4.113+ mod for Orange Pi Zero h2+ / Plus2 h3 and other sunxi boards
C Roff Shell Perl
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
,tmp2
docs
kernel-files
kernel-patches Thu May 16 02:12:11 +07 2019 May 15, 2019
linux-sun8i
old
pics first commit Apr 11, 2017
tools
## hyphop ##
,config
.gitignore Mon May 28 01:23:25 +07 2018 May 27, 2018
.travis.yml
LICENSE
README.md
clear_all
dirs_free
find_changes
kernel-configs
kernel-mizy.squashfs
kernel-mizy.tar.xz Tue Apr 11 10:25:52 ICT 2017 Apr 11, 2017
kernel.tar.xz
kernel_build_all
kernel_build_image
kernel_build_images
kernel_build_modules
kernel_build_modules_install
kernel_build_modules_store Sat May 26 15:59:29 +07 2018 May 26, 2018
kernel_build_packages
kernel_clean_src
kernel_clear_all
kernel_config Sun Jul 23 02:16:27 ICT 2017 Jul 22, 2017
kernel_defconfig
kernel_dirs
kernel_make_help
kernel_menuconfig
kernel_prepare
kernel_prepare_patch_check
kernel_prepare_rt
kernel_prepare_rt2
make_it_easy
mount_overlay_squash
syncit
syncit.conf
umount_overlay

README.md

miZy linux kernel 3.4.113+ mod for Orange Pi Zero and other sunxi boards

Build Status

Features

  • Orange Pi Zero optimized kernel
  • Orange Pi Zero Plus2 h3 device added
  • minimized kernel size, remove unused systems and modules
  • MTD + M25P80 build in kernel - onboard SPI-flash linux boot ready
  • mmc_spi module simple usage mmc/sd cards via spi
  • h2+ onboard WiFi XR819 - xradio_wlan
  • h3+ onboard WiFi AP6212 - dhd
  • h3+ onboard MMC ready
  • exfat kernel module
  • ASIX AX88179_178A USB 3.0/2.0 Gigabit Ethernet Network Adapter kernel module
  • one fex/fdt config for both h2+ h3 boards
  • hdmi + hdmi_audio as module for h3 board
  • build uncompressed kernel + LZMA GZIP LZO NONE compression via mkinitrd packed images
  • any LZMA GZIP LZO XZ initrd compression
  • some systems builded as modules for more flexibility: i2c, audio, ethernet - sunxi_gmac, ir, other
  • easy fast and full automated cross-compilation
  • many other improvements

DEPS

Get Source Prepare and Build

mkdir /tmp/zero_builder
cd /tmp/zero_builder

git clone https://github.com/hyphop/miZy-linux-kernel.git
cd miZy-linux-kernel

./kernel_prepare
# ./kernel_config default 
./kernel_build_all

Custom config

./kernel_prepare light # arg is config file name => kernel-configs/light
./kernel_build_all

Easy make - by one-line command

wget http://raw.githubusercontent.com/hyphop/miZy-linux-kernel/master/make_it_easy -O- | sh -

output kernel

./bin
    Image           - unpacked kernel 
    uImage.gzip     - uboot gzip kernel image
    uImage.lzma     - uboot lzma kernel image, max compression, slow unpack time
    uImage.lzo      - uboot lzo  kernel image, fastest unpack time 
    uImage.none     - uboot none kernel image

output modules

./bin
    modules         - full 
    modules.all     - all in one dir
    modules.links   - all in one dir symlinks

Clear

./kernel_clear_all

kernel build configs

# ... prepare
./kernel_config light
# or 
./kernel_config kernel-configs/light
# ... build

pack kernel, modules, configs, ... and other files by packages

kernel_build_packages default 
# generate packages
find /tmp/miZy.linux.kernel.default
/tmp/miZy.linux.kernel.default
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.md5sum
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.config.gz
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.config
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.modules.full.tar.gz
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.modules.all.tar.gz
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.uImage.none.gz
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.uImage.lzo
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.uImage.lzma
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.uImage.gzip
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.Image.gz
/tmp/miZy.linux.kernel.default/miZy.linux.kernel.default.modules.meta.tar.gz

Example u-boot mkimage packed kernel load script

...
# setenv kernel_file	"/boot/uImage.none"
# setenv kernel_file	"/boot/uImage.lzo"
# setenv kernel_file	"/boot/uImage.gzip"
setenv kernel_file	"/boot/uImage.lzma"
...
load mmc ${mmc_boot_part} ${kernel_addr_r} ${kernel_file}
...
bootm ${kernel_addr_r} ${ramdisk_addr_r}
...

Deps and cross compilation

  • toolchain-arm_cortex-a9+neon_gcc-5.3.0_musl-1.1.15_eabi
  • squashfs, overlayfs | aufs
  • perl, mkimage ( u-boot-tools )
  • lzop, gzip, lzma

its easy and automated by scripts!

Building in vm

safe compilation in vm, https://github.com/hyphop/miZy-builder

Download compiled kernel and modules

https://github.com/hyphop/miZy-linux-kernel/releases

examples

# get kernel
wget https://github.com/hyphop/miZy-linux-kernel/releases/download/light/miZy.linux.kernel.light.uImage.gzip -O uImage.gzip

# get modules
wget https://github.com/hyphop/miZy-linux-kernel/releases/download/light/miZy.linux.kernel.light.modules.all.tar.gz -O /tmp/modules.tar.gz
#
# show modules list
tar -tf /tmp/modules.tar.gz
#
# extract one 
tar -xf /tmp/modules.tar.gz modules.all/sndspdif.ko -O > sndspdif.ko
 
# show config
# curl -L https://github.com/hyphop/miZy-linux-kernel/releases/download/light/miZy.linux.kernel.light.config

miZy

miZy - open source minimalistic tiny fast embedded Linux system, (for sunxi Orange Pi Zero, another sunxi boards maybe work too )

LINKS

;)

miZy

You can’t perform that action at this time.