Linux : cubieboard 1 & 2 custom kernel for headless server
I updated my cubieboards 1 and 2 kernels a few weeks ago. The goal was to optimize them for headless server (low power and maximum memory).
Priority was : few modules, no GPU, no G2D, minimal embedded set of drivers (basically usb, gpio, ethernet, sdcard).
Everything run fine since several weeks (24/7), so I decided to share these kernels as well as associated modules: it may interest some peopole.
I took the source at http://www.danand.de/index.php/2014-07/linux-3-4-97-for-allwinner-a20-boards/
I also provide headless server optimized Script.bin files. They mainly put dram clock to 480 Mhz and disable anything not needed (hdmi, mali GPU, etc.)
Beware that kernel boot arguments have been forced at compile time to the following :
1 2 |
console=ttyS0,115200 sunxi_g2d_mem_reserve=0 sunxi_ve_mem_reserve=0 sunxi_fb_mem_reserve=0 sunxi_no_mali_mem_reserv e root=/dev/mmcblk0p2 rootwait rootfstype=ext4 |
Below are compilation flags I used (see https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html)
cubiboard 2 (cb2)
1 |
export CFLAGS="-mthumb -march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4 -mcpu=cortex-a7 -mtune=cortex-a7 -O3 -funroll-loop -funsafe-math-optimizations" |
cubieboard 1 (cb)
1 |
export CFLAGS="-mthumb -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3 -mcpu=cortex-a8 -mtune=cortex-a8 -O3 -funroll-loop" |