How to Install Ubuntu on HDD (or SSD of USB) at Odroid-HC2



  Environment
    Device : Odroid-HC2
    OS : Ubuntu-20.04
    Root Partition :   mmcblk1p2 ==> sda1




※ System on MicroSD is very Slow. If you want Faster System, you can Install System on HDD(or SSD of USB) by following the Steps.

※ Device that is not Supported booting from HDD or SSD or USB has same procedure


1. Re-partitioning HDD


1) Check Partition

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            925M     0  925M   0% /dev
tmpfs           200M  3.6M  196M   2% /run
/dev/mmcblk1p2   30G  4.9G   25G  17% /
...
/dev/mmcblk1p1  128M   23M  106M  18% /media/boot
tmpfs           200M  8.0K  200M   1% /run/user/121
tmpfs           200M  4.0K  200M   1% /run/user/1001

2) Re-Partitioning HDD

$sudo fdisk -l
...
Disk /dev/sda: 298.9 GiB, 320072933376 bytes, 625142448 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FA88429A-0C8A-3D4E-90A8-CDB019307B6C
$ sudo fdisk /dev/sda
Command (m for help): g
Created a new GPT disklabel (GUID: 200F0D86-C2B4-CB4A-BD51-E9F766D736FE).

Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-625142414, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-625142414, default 625142414): +100G

Created a new partition 1 of type 'Linux filesystem' and of size 100 GiB.
Partition #1 contains a vfat signature.

Do you want to remove the signature? [Y]es/[N]o: y

The signature will be removed by a write command.

Command (m for help): p
Disk /dev/sda: 298.9 GiB, 320072933376 bytes, 625142448 sectors
Disk model:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 200F0D86-C2B4-CB4A-BD51-E9F766D736FE

Device     Start       End   Sectors  Size Type
/dev/sda1   2048 209717247 209715200  100G Linux filesystem

Filesystem/RAID signature on partition 1 will be wiped.

Command (m for help): wq
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

※ The above is a 100GB sda1 created for work after initializing the HDD.

※ Proceed according to your Situation


2. Format as an EXT4 and Mount


1) Format HDD(or SSD or USB) Partition to EXT4
$ sudo mkfs.ext4 /dev/sda1
2) Mount HDD(or SSD or USB) Partition
$ sudo mkdir -p /media/sys
$ sudo mount /dev/sda1 /media/sys
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            925M     0  925M   0% /dev
tmpfs           200M  3.6M  196M   2% /run
/dev/mmcblk1p2   30G  4.9G   25G  17% /
...
/dev/mmcblk1p1  128M   23M  106M  18% /media/boot
tmpfs           200M  8.0K  200M   1% /run/user/121
tmpfs           200M  4.0K  200M   1% /run/user/1001
/dev/sda1        98G   61M   93G   1% /media/sys

3. Modify Setup files


1) Check UUID
$ sudo lsblk -f
NAME        FSTYPE   LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINT
...
sda
`-sda1      ext4            eed45733-3551-4b98-b081-bf7aa29490d1   92.9G     0% /media/sys
mmcblk1
|-mmcblk1p1 vfat     boot   52AA-6867                             105.4M    17% /media/boot
`-mmcblk1p2 ext4     rootfs e139ce78-9841-40fe-8823-96a304a09859   24.3G    17% /
2) Modify boot.ini

Change root UUID from mmcblk1p2 to sda1

$ sudo cp /media/boot/boot.ini /media/boot/boot.ini.orig
$ sudo nano /media/boot/boot.ini
Change Configuration
# Boot Args
setenv bootargs "console=tty1 console=ttySAC2,115200n8 root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro fsck.repair=yes net.ifnames=0 ${videoconfig} ${hdmi_phy_control} ${hid_quirks} smsc95xx.macaddr=${macaddr} ${external_watchdog}"
==>
# Boot Args
setenv bootargs "console=tty1 console=ttySAC2,115200n8 root=UUID=eed45733-3551-4b98-b081-bf7aa29490d1 rootwait ro fsck.repair=yes net.ifnames=0 ${videoconfig} ${hdmi_phy_control} ${hid_quirks} smsc95xx.macaddr=${macaddr} ${external_watchdog}"
3) Modify fstab

Change root from mmcblk1p2 to sda1

$ sudo cp /etc/fstab /etc/fstab.orig
$ sudo nano /etc/fstab
Change Configuration
UUID=e139ce78-9841-40fe-8823-96a304a09859 / ext4 errors=remount-ro,noatime 0 1
LABEL=boot /media/boot vfat defaults 0 1
==>
#UUID=e139ce78-9841-40fe-8823-96a304a09859 / ext4 errors=remount-ro,noatime 0 1
LABEL=boot /media/boot vfat defaults 0 1
/dev/sda1 / ext4 defaults,noatime 0 1

4. Copy the root partition


$ sudo rsync -axv / /media/sys/

5. Check Root Partition


1) Reset System
2) Check Root Partition
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            925M     0  925M   0% /dev
tmpfs           200M  3.6M  196M   2% /run
/dev/sda1        98G  5.8G   88G   7% /
...
/dev/mmcblk1p1  128M   23M  106M  18% /media/boot
tmpfs           200M  8.0K  200M   1% /run/user/121
tmpfs           200M  4.0K  200M   1% /run/user/1001