Cubox-i: Setup Guide (requires another Arch system)

This forum is for supported devices using an ARMv7 Freescale SoC.

Cubox-i: Setup Guide (requires another Arch system)

Postby dhead666 » Mon Jan 20, 2014 8:21 am

Edit: This is outdated (old uboot), see the official guide for Cubox-i on Arch Linux Arm

I wasn't happy with the rootfs from Solidrun wiki and the installation guide so here's a quick how to make your own Cubox-i rootfs and install it on the SD card.
Because we use SPL no changes are needed for the different Cubox-i models.
I tested this from another Armv7 device (Samsung Chromebook) but this should work the same from an x86-64 (or any other architecture).

Create the work folder
Code: Select all
# mkdir -f /tmp/workdir/alarm
# mkdir -f /tmp/workdir/boot
# cd /tmp/workdir

Connect your sd card and find the device:
Code: Select all
# dmesg|tail

From here till the end we will assume that the device is /dev/sdX

Create the partitions and format them.
We will leave enough space before the first partition for writing the SPL and uBoot
Code: Select all
# fdisk /dev/sdX
# o (purge the partition table)

Create the boot partition
Code: Select all
# n (new partition)
# p (default, primary)
# 1
# 2048 (default, start at sector 2048 that will leave 1MB of free space before the first partition)
# +15M (more than enough space)
# t (change the partition id to fat16)
# 6

Create the root partition
Code: Select all
# n
# p
# 2
# Enter
# Enter

Write and exit
Code: Select all
# w

Download uBoot and SPL (from Rabeeh's Dropbox, one of SolidRun engineers)
Code: Select all
# wget
# wget

Write the SPL and uBoot to the SD card
Code: Select all
# dd if=SPL of=/dev/sdX bs=512 seek=2
# dd if=u-boot.img of=/dev/sdX bs=1K seek=42

Create the filesystems
Code: Select all
# mkfs.vfat /dev/sdX1
# mkfs.ext4 /dev/sdX2

Code: Select all
# mount /dev/sdX1 boot
# mount /dev/sdX2 alarm

Download and extract the rootfs
Code: Select all
# cd alarm
# wget  (although I prefer axel, for ex' "# axel -a -n 5")
# tar -xvf ArchLinuxARM-imx6-latest.tar.gz
# rm ArchLinuxARM-imx6-latest.tar.gz

Remove the Nitrogen6X kernel package
Code: Select all
# pacman -R -r ./ --arch armv7h linux-imx6

Remove unneeded boot scripts
Code: Select all
# rm 6*

Install the Cubox-i kernel package
Visit one of the Arch Linux Arm mirrors and get the link for the latest Cubox-i kernel.
Code: Select all
# wget
# pacman -U -r ./ --arch armv7h linux-imx6-cubox-*-armv7h.pkg.tar.xz
# rm linux-imx6-cubox-*-armv7h.pkg.tar.xz

Copy the uImage to the boot paratition
Code: Select all
# cp boot/uImage ../boot/

Edit fstab
Code: Select all
# nano etc/fstab

Enter the following line:
/dev/mmcblk0p1 /boot vfat defaults,noatime 0 0

Save and Exit

Sync and umount
Code: Select all
# sync
# cd ..
# umount alarm boot

You can now remove the workdir
Code: Select all
# cd ..
# rm -r /tmp/workdir

That's it you're done, connect the sd card to your device and power it.

For more information about the Cubox-i please visit Solidrun's Forums and Wiki.
I recommend also to read the following: ... mmingBoard
Pogoplug Series 4 - Network Storage and Music Server: NFS/TVHeadend
Cubox-i2 - Applications Server: Lighttpd/CherryMusic/HTPCManager/Transmission/Couchpotato/SickBeard/OpenVPN
Samsung Chromebook: Chroach in ChromeOS
Posts: 116
Joined: Sat Aug 11, 2012 10:25 pm

Return to Freescale

Who is online

Users browsing this forum: No registered users and 3 guests