Difference between revisions of "ODROID-XU4 Installation"

From Funtoo
Jump to navigation Jump to search
(Created page with "This page documents a procedure you can use to install Funtoo Linux on the ODROID XU4. We assume that you have purchased the ODROID XU4 with an EMMC image containing Ubuntu. T...")
 
Line 7: Line 7:
The first thing you will want to do is to attach your Linux EMMC module to an ODROID EMMC to MicroSD adapter. Then, using a device such as a USB MicroSD card reader, attach the EMMC module to an existing Linux system (it doesn't need to be an ARM system -- it can be an x86 system) where you would like to store the Ubuntu backup. The filesystem we want to back up is located on the ''second'' partition of the drive:
The first thing you will want to do is to attach your Linux EMMC module to an ODROID EMMC to MicroSD adapter. Then, using a device such as a USB MicroSD card reader, attach the EMMC module to an existing Linux system (it doesn't need to be an ARM system -- it can be an x86 system) where you would like to store the Ubuntu backup. The filesystem we want to back up is located on the ''second'' partition of the drive:


{{code|body=
{{console|body=
# ##i##install -d /mnt/ubuntu
# ##i##install -d /mnt/ubuntu
# ##i##mount /dev/sdc2 /mnt/ubuntu -o ro
# ##i##mount /dev/sdc2 /mnt/ubuntu -o ro
Line 16: Line 16:
You will also want to back up the {{f|lib/firmware}} and {{f|lib/modules}} directories from the Ubuntu image, for easy access, as well as the {{f|etc/fstab}} file. We will end up putting these on the new Funtoo root filesystem to ensure that things boot correctly. Do this as follows:
You will also want to back up the {{f|lib/firmware}} and {{f|lib/modules}} directories from the Ubuntu image, for easy access, as well as the {{f|etc/fstab}} file. We will end up putting these on the new Funtoo root filesystem to ensure that things boot correctly. Do this as follows:


{{code|body=
{{console|body=
# ##i##install -d /root/ubuntu-backup
# ##i##install -d /root/ubuntu-backup
# ##i##cp -a /mnt/ubuntu/lib/modules /root/ubuntu-backup/
# ##i##cp -a /mnt/ubuntu/lib/modules /root/ubuntu-backup/
Line 29: Line 29:
To create a new root filesystem for Funtoo, you will perform the following steps:
To create a new root filesystem for Funtoo, you will perform the following steps:


{{code|body=
{{console|body=
# ##i##umount /mnt/ubuntu
# ##i##umount /mnt/ubuntu
# ##i##mkfs.ext4 /dev/sdc2
# ##i##mkfs.ext4 /dev/sdc2
Line 41: Line 41:
Now, time to mount the new filesystem, download a Funtoo stage3, and extract it to our new filesystem:
Now, time to mount the new filesystem, download a Funtoo stage3, and extract it to our new filesystem:


{{code|body=
{{console|body=
# ##i##install -d /mnt/funtoo
# ##i##install -d /mnt/funtoo
# ##i##mount /dev/sdc2 /mnt/funtoo
# ##i##mount /dev/sdc2 /mnt/funtoo
Line 55: Line 55:
To get the ODROID XU4 boot-ready, we will need to copy back the {{f|firmware}} and {{f|modules}} directories, and set up the {{f|etc/fstab}} file. We'll do this as follows:
To get the ODROID XU4 boot-ready, we will need to copy back the {{f|firmware}} and {{f|modules}} directories, and set up the {{f|etc/fstab}} file. We'll do this as follows:


{{code|body=
{{console|body=
# ##i##cp /root/ubuntu-backup/etc/fstab /mnt/funtoo/etc
# ##i##cp /root/ubuntu-backup/etc/fstab /mnt/funtoo/etc
# ##i##cp -a /root/ubuntu-backup/firmware /mnt/funtoo/lib
# ##i##cp -a /root/ubuntu-backup/firmware /mnt/funtoo/lib
Line 63: Line 63:
Now, let's edit the {{f|fstab}} file and ensure it's set up correctly:
Now, let's edit the {{f|fstab}} file and ensure it's set up correctly:


{{code|body=
{{console|body=
# ##i##vim /mnt/funtoo/etc/fstab
# ##i##vim /mnt/funtoo/etc/fstab
}}
}}
Line 82: Line 82:
We've completed sufficient steps to prepare the root filesystem for boot. Now, we need to make a minor tweak to the ''boot'' filesystem on the EMMC card. Let's mount our boot filesystem:
We've completed sufficient steps to prepare the root filesystem for boot. Now, we need to make a minor tweak to the ''boot'' filesystem on the EMMC card. Let's mount our boot filesystem:


{{code|body=
{{console|body=
# ##i##umount /mnt/funtoo
# ##i##umount /mnt/funtoo
# ##i##install -d /mnt/boot
# ##i##install -d /mnt/boot

Revision as of 22:42, January 13, 2017

This page documents a procedure you can use to install Funtoo Linux on the ODROID XU4. We assume that you have purchased the ODROID XU4 with an EMMC image containing Ubuntu. This guide will show you how to back up the Ubuntu image and then replace it with a Funtoo Linux image.

   Note

These installation docs work even if you don't have another ARM system. You can use an existing x86 Linux system for the steps below.

Backing Up Ubuntu

The first thing you will want to do is to attach your Linux EMMC module to an ODROID EMMC to MicroSD adapter. Then, using a device such as a USB MicroSD card reader, attach the EMMC module to an existing Linux system (it doesn't need to be an ARM system -- it can be an x86 system) where you would like to store the Ubuntu backup. The filesystem we want to back up is located on the second partition of the drive:

root # install -d /mnt/ubuntu
root # mount /dev/sdc2 /mnt/ubuntu -o ro
root # cd /root
root # tar czvf ubuntu-backup.tar.gz -C /mnt/ubuntu

You will also want to back up the lib/firmware and lib/modules directories from the Ubuntu image, for easy access, as well as the etc/fstab file. We will end up putting these on the new Funtoo root filesystem to ensure that things boot correctly. Do this as follows:

root # install -d /root/ubuntu-backup
root # cp -a /mnt/ubuntu/lib/modules /root/ubuntu-backup/
root # cp -a /mnt/ubuntu/lib/firmware /root/ubuntu-backup/
root # cp /mnt/ubuntu/etc/fstab /root/ubuntu-backup/

You are now ready to recreate the ext4 filesystem to wipe it clean.

Create New Root Filesystem

To create a new root filesystem for Funtoo, you will perform the following steps:

root # umount /mnt/ubuntu
root # mkfs.ext4 /dev/sdc2
root # e2label /dev/sdc2 rootfs

The e2label command associates the label "rootfs" with the root filesystem, which will come in handy later. Now, we will want to mount our filesystem so we can start installing Funtoo.

Mount and Install

Now, time to mount the new filesystem, download a Funtoo stage3, and extract it to our new filesystem:

root # install -d /mnt/funtoo
root # mount /dev/sdc2 /mnt/funtoo
root # cd /mnt/funtoo
root # wget http://build.funtoo.org/funtoo-current/arm-32bit/odroid-xu4/stage3-latest.tar.xz
root # tar xjpvf stage3-latest.tar.xz

Installation is almost complete! But we have a few more finishing touches before the system is bootable.

Getting Funtoo Boot-Ready

To get the ODROID XU4 boot-ready, we will need to copy back the firmware and modules directories, and set up the etc/fstab file. We'll do this as follows:

root # cp /root/ubuntu-backup/etc/fstab /mnt/funtoo/etc
root # cp -a /root/ubuntu-backup/firmware /mnt/funtoo/lib
root # cp -a /root/ubuntu-backup/modules /mnt/funtoo/lib

Now, let's edit the fstab file and ensure it's set up correctly:

root # vim /mnt/funtoo/etc/fstab

You'll want the file to look like this:

   
LABEL=rootfs / ext4 errors=remount-ro,noatime 0 1
LABEL=boot /boot vfat noauto 0 1

Setting Root Password

Now, we need to set the root password on the ODROID Funtoo image. If you are on an x86 system, you can't just chroot into /mnt/funtoo since all the binaries are ARM, not x86. So to do this, you will edit the /etc/shadow on your local system and /mnt/funtoo/etc/shadow. Then copy the line starting with root from the former to the latter file. This will copy the password set on your local Linux system to your ODROID.

Setting Boot Options

We've completed sufficient steps to prepare the root filesystem for boot. Now, we need to make a minor tweak to the boot filesystem on the EMMC card. Let's mount our boot filesystem:

root # umount /mnt/funtoo
root # install -d /mnt/boot
root # mount /dev/sdc1 /mnt/boot
root # vim /mnt/boot/boot.ini

We will now change the line near the top starting with setenv bootrootfs so it looks exactly like this:

   
setenv bootrootfs "console=tty1 consoleblank=0 root=LABEL=rootfs rootwait ro fsck.repair=yes net.ifnames=0"

Now, we can unmount the boot filesystem, detach our USB MicroSD card reader, and attach our EMMC card to a powered-down ODROID:

Template:Code

Final Steps

Next, you will want to hook the ODROID, EMMC installed, up to an HDMI monitor and a functioning ethernet cable. Power up the ODROID. You should see Funtoo Linux boot and you should be able to login with your other system's root password. You can now continue Funtoo Linux setup according to the Funtoo Linux Installation Guide.