Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Difference between revisions of "Rock/Linux Mainline"

(Linux Mainline: Update Status and Build instructions)
(Linux Mainline: Update to version 3.18-rc3)
Line 1: Line 1:
= Linux Kernel 3.17 =
+
= Linux Kernel 3.18-rc3 =
  
 
== Status ==
 
== Status ==
Line 7: Line 7:
 
* SPI
 
* SPI
 
* I2C
 
* I2C
* GPIOs / LEDs
+
* GPIOs / LEDs / IR
 +
* PWM
 
* USB
 
* USB
 
* SD/MMC
 
* SD/MMC
 
* Ethernet
 
* Ethernet
 +
* Wifi
  
  
 
What remains to be done:
 
What remains to be done:
 
* DRM Display driver / LCD controller
 
* DRM Display driver / LCD controller
* HDMI / TV OUT drivers
+
* HDMI drivers (ITE66121 / RK616)
 +
* TV OUT drivers (RK1000)
 
* NAND flash support
 
* NAND flash support
 +
* Bluetooth support (rtl8723au_bt)
  
== Download ==
+
== Requirements ==
  
Get '''linux-next''' kernel tree, default config and initramfs.cpio.
+
Ubuntu 14.10 / GCC 4.9+ (GCC 4.8 is not supported)
  
  git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
+
sudo apt-get install git build-essential gcc-arm-linux-gnueabihf lzop libncurses5-dev libssl-dev bc
 +
 
 +
== Get the source code ==
 +
 
 +
Get '''linux-next''' kernel tree (stable branch), default config and updated device-tree.
 +
 
 +
  git clone -b stable --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
 
  cd linux-next
 
  cd linux-next
  
  wget http://www.sntech.de/rockchip/rockchip_defconfig -O arch/arm/configs/rockchip_defconfig
+
  wget http://rockchip.fr/radxa/linux/rockchip_defconfig -O arch/arm/configs/rockchip_defconfig
  wget http://www.sntech.de/rockchip/initramfs.cpio
+
  wget http://rockchip.fr/radxa/linux/rk3188-radxarock.dts -O arch/arm/boot/dts/rk3188-radxarock.dts
  
 
== Build kernel ==
 
== Build kernel ==
Line 49: Line 59:
 
Create the '''boot.img''' using mkbootimg (Rockchip version).
 
Create the '''boot.img''' using mkbootimg (Rockchip version).
  
  mkbootimg --kernel zImage-dtb --ramdisk initramfs.cpio -o boot.img
+
  mkbootimg --kernel zImage-dtb --ramdisk /dev/null -o boot.img
  
== Flash boot image ==
+
== Flash parameter and boot image ==
  
Flash boot.img using either '''rkflashtool''' or '''upgrade_tool''':
+
Get a parameter file from http://dl.radxa.com/rock/images/parameter
  
 +
wget http://dl.radxa.com/rock/images/parameter/parameter_linux_sd
 +
 +
Flash parameter and boot.img using [https://github.com/linux-rockchip/rkflashtool '''rkflashtool''']
 +
 +
rkflashtool P < parameter_linux_sd
 
  rkflashtool w boot < boot.img
 
  rkflashtool w boot < boot.img
 
  rkflashtool b
 
  rkflashtool b
  
upgrade_tool di -b boot.img
+
= Notes =
  upgrade_tool rd
+
 
 +
== Install Rootfs in first partition of SD card ==
 +
 
 +
Your rootfs should be in ext4 format. It will be loaded from '''/dev/mmcblk0p1''' by default.
 +
 
 +
== Wireless ==
 +
 
 +
The Realtek wifi chipsets require firmwares to be installed in '''/lib/firmware/rtlwifi'''
 +
 
 +
You can get them by installing the '''linux-firmware''' package from your Linux distribution
 +
  sudo apt-get install linux-firmware
 +
 
 +
or download them from here: http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/rtlwifi

Revision as of 14:16, 9 November 2014

Linux Kernel 3.18-rc3

Status

What currently works in Linux mainline:

  • UART
  • SPI
  • I2C
  • GPIOs / LEDs / IR
  • PWM
  • USB
  • SD/MMC
  • Ethernet
  • Wifi


What remains to be done:

  • DRM Display driver / LCD controller
  • HDMI drivers (ITE66121 / RK616)
  • TV OUT drivers (RK1000)
  • NAND flash support
  • Bluetooth support (rtl8723au_bt)

Requirements

Ubuntu 14.10 / GCC 4.9+ (GCC 4.8 is not supported)

sudo apt-get install git build-essential gcc-arm-linux-gnueabihf lzop libncurses5-dev libssl-dev bc

Get the source code

Get linux-next kernel tree (stable branch), default config and updated device-tree.

git clone -b stable --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
cd linux-next
wget http://rockchip.fr/radxa/linux/rockchip_defconfig -O arch/arm/configs/rockchip_defconfig
wget http://rockchip.fr/radxa/linux/rk3188-radxarock.dts -O arch/arm/boot/dts/rk3188-radxarock.dts

Build kernel

We have to build two files:

  • zImage (the kernel)
  • rk3188-radxarock.dtb (the device tree blob)


export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
make rockchip_defconfig
make -j8 zImage dtbs

Create boot image

We need to append the device tree blob to zImage (CONFIG_ARM_APPENDED_DTB option) until we can use U-Boot device tree support.

cat arch/arm/boot/zImage arch/arm/boot/dts/rk3188-radxarock.dtb > zImage-dtb

Create the boot.img using mkbootimg (Rockchip version).

mkbootimg --kernel zImage-dtb --ramdisk /dev/null -o boot.img

Flash parameter and boot image

Get a parameter file from http://dl.radxa.com/rock/images/parameter

wget http://dl.radxa.com/rock/images/parameter/parameter_linux_sd

Flash parameter and boot.img using rkflashtool

rkflashtool P < parameter_linux_sd
rkflashtool w boot < boot.img
rkflashtool b

Notes

Install Rootfs in first partition of SD card

Your rootfs should be in ext4 format. It will be loaded from /dev/mmcblk0p1 by default.

Wireless

The Realtek wifi chipsets require firmwares to be installed in /lib/firmware/rtlwifi

You can get them by installing the linux-firmware package from your Linux distribution

sudo apt-get install linux-firmware

or download them from here: http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/rtlwifi