Skip to content

Install Ubuntu Core 14.04 on ARMv7 (ODROID C1)

Uli Middelberg edited this page May 11, 2015 · 19 revisions
sudo mkfs.vfat -n boot /dev/mmcblk0p1 
sudo mkfs.ext4 -O ^has_journal -b 4096 -L rootfs -U e139ce78-9841-40fe-8823-96a304a09859 /dev/mmcblk0p2 
sudo mount /dev/mmcblk0p2 ./rootfs
sudo mkdir -p ./rootfs/media/boot
sudo mount /dev/mmcblk0p1 ./rootfs/media/boot

curl -L http://cdimage.ubuntu.com/ubuntu-core/releases/14.04/release/ubuntu-core-14.04.1-core-armhf.tar.gz | sudo tar --numeric-owner -xpzvf - -C rootfs/

sudo mount -o bind /dev ./rootfs/dev
sudo mount -o bind /dev/pts ./rootfs/dev/pts
sudo mount -t sysfs /sys ./rootfs/sys
sudo mount -t proc /proc ./rootfs/proc
sudo cp /proc/mounts ./rootfs/etc/mtab
sudo chroot ./rootfs

localedef -i en_GB -c -f UTF-8 en_GB.UTF-8
localedef -i de_DE -c -f UTF-8 de_DE.UTF-8
update-locale LANG=en_GB.UTF-8 LC_MESSAGES=POSIX
dpkg-reconfigure tzdata
echo odroid-c1 > /etc/hostname
echo "127.0.0.1       odroid-c localhost" >> /etc/hosts
vi /etc/apt/sources.list
echo "deb http://ports.ubuntu.com/ trusty main restricted universe multiverse" > /etc/apt/sources.list
echo "deb http://ports.ubuntu.com/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://ports.ubuntu.com/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://ports.ubuntu.com/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "nameserver 8.8.8.8" > /etc/resolv.conf

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

apt-get update
apt-get -y upgrade
apt-get -y dist-upgrade
apt-get -y install software-properties-common u-boot-tools isc-dhcp-client ubuntu-minimal ssh
apt-get -y install screen wireless-tools iw curl libncurses5-dev cpufrequtils rcs aptitude make bc lzop man-db ntp usbutils pciutils lsof most sysfsutils linux-firmware linux-firmware-nonfree

apt-get -y install python-software-properties
add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get update
apt-get -y install gcc

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AB19BAC9
echo "deb http://deb.odroid.in/c1/ trusty main" > /etc/apt/sources.list.d/odroid.list
echo "deb http://deb.odroid.in/ trusty main" >> /etc/apt/sources.list.d/odroid.list
apt-get update
apt-get -y install linux-image-c1 bootini
cp /boot/uImage-3.10.65-44 /boot/uImage
cp /boot/uInitrd-3.10.65-44 /boot/uInitrd

rm /sbin/initctl
dpkg-divert --local --rename --remove /sbin/initctl

apt-get clean

# vi /etc/fstab
echo "auto lo" > /etc/network/interfaces.d/lo
echo "iface lo inet loopback" >> /etc/network/interfaces.d/lo
echo "auto eth0" >/etc/network/interfaces.d/eth0
echo "iface eth0 inet dhcp" >>/etc/network/interfaces.d/eth0
echo "start on stopped rc or RUNLEVEL=[12345]" > /etc/init/ttyS0.conf
echo "stop on runlevel [!12345]" >> /etc/init/ttyS0.conf
echo "respawn" >> /etc/init/ttyS0.conf
echo "exec /sbin/getty -L 115200 ttyS0 vt102" >> /etc/init/ttyS0.conf

adduser odroid
usermod -aG adm,cdrom,sudo,plugdev odroid
# get the output of `blkid | fgrep "mmcblk0p2" | cut -f 3 -d ' '` and check UUID=... in /boot/boot.ini
exit

sudo umount ./rootfs/dev/pts
sudo umount ./rootfs/sys
sudo umount ./rootfs/proc
sudo umount ./rootfs/dev
sudo umount ./rootfs/media/boot
sudo umount ./rootfs