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
# 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
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