diff --git a/docs/helios64/install/img/transfer/emmc_00_config_main.png b/docs/helios64/install/img/transfer/emmc_00_config_main.png new file mode 100644 index 0000000..026dfab Binary files /dev/null and b/docs/helios64/install/img/transfer/emmc_00_config_main.png differ diff --git a/docs/helios64/install/img/transfer/emmc_01_config_system.png b/docs/helios64/install/img/transfer/emmc_01_config_system.png new file mode 100644 index 0000000..4679904 Binary files /dev/null and b/docs/helios64/install/img/transfer/emmc_01_config_system.png differ diff --git a/docs/helios64/install/img/transfer/emmc_02_install_main.png b/docs/helios64/install/img/transfer/emmc_02_install_main.png new file mode 100644 index 0000000..1d936b6 Binary files /dev/null and b/docs/helios64/install/img/transfer/emmc_02_install_main.png differ diff --git a/docs/helios64/install/img/transfer/emmc_03_install_erase_confirm.png b/docs/helios64/install/img/transfer/emmc_03_install_erase_confirm.png new file mode 100644 index 0000000..64a7fb9 Binary files /dev/null and b/docs/helios64/install/img/transfer/emmc_03_install_erase_confirm.png differ diff --git a/docs/helios64/install/img/transfer/emmc_04_install_fstype.png b/docs/helios64/install/img/transfer/emmc_04_install_fstype.png new file mode 100644 index 0000000..e88b168 Binary files /dev/null and b/docs/helios64/install/img/transfer/emmc_04_install_fstype.png differ diff --git a/docs/helios64/install/img/transfer/emmc_05_install_transfer.png b/docs/helios64/install/img/transfer/emmc_05_install_transfer.png new file mode 100644 index 0000000..1946dd1 Binary files /dev/null and b/docs/helios64/install/img/transfer/emmc_05_install_transfer.png differ diff --git a/docs/helios64/install/img/transfer/emmc_06_install_poweroff.png b/docs/helios64/install/img/transfer/emmc_06_install_poweroff.png new file mode 100644 index 0000000..2a9d3b3 Binary files /dev/null and b/docs/helios64/install/img/transfer/emmc_06_install_poweroff.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_00_config_main.png b/docs/helios64/install/img/transfer/sata_usb_00_config_main.png new file mode 100644 index 0000000..625d3c3 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_00_config_main.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_01_config_system.png b/docs/helios64/install/img/transfer/sata_usb_01_config_system.png new file mode 100644 index 0000000..92fe9d2 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_01_config_system.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_02_install_main.png b/docs/helios64/install/img/transfer/sata_usb_02_install_main.png new file mode 100644 index 0000000..e6595d8 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_02_install_main.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_03_select_target_sata.png b/docs/helios64/install/img/transfer/sata_usb_03_select_target_sata.png new file mode 100644 index 0000000..9d686c0 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_03_select_target_sata.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_03_select_target_usb.png b/docs/helios64/install/img/transfer/sata_usb_03_select_target_usb.png new file mode 100644 index 0000000..05fc423 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_03_select_target_usb.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_04_install_erase_confirm.png b/docs/helios64/install/img/transfer/sata_usb_04_install_erase_confirm.png new file mode 100644 index 0000000..a21b1b6 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_04_install_erase_confirm.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_05_install_boot_fstype.png b/docs/helios64/install/img/transfer/sata_usb_05_install_boot_fstype.png new file mode 100644 index 0000000..a63f12e Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_05_install_boot_fstype.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_06_install_format_boot.png b/docs/helios64/install/img/transfer/sata_usb_06_install_format_boot.png new file mode 100644 index 0000000..cff8c94 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_06_install_format_boot.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_07_install_system_fstype.png b/docs/helios64/install/img/transfer/sata_usb_07_install_system_fstype.png new file mode 100644 index 0000000..f014c26 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_07_install_system_fstype.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_08_install_format_system.png b/docs/helios64/install/img/transfer/sata_usb_08_install_format_system.png new file mode 100644 index 0000000..4ce5d8b Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_08_install_format_system.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_09_install_transfer.png b/docs/helios64/install/img/transfer/sata_usb_09_install_transfer.png new file mode 100644 index 0000000..93cead2 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_09_install_transfer.png differ diff --git a/docs/helios64/install/img/transfer/sata_usb_10_install_poweroff.png b/docs/helios64/install/img/transfer/sata_usb_10_install_poweroff.png new file mode 100644 index 0000000..70af708 Binary files /dev/null and b/docs/helios64/install/img/transfer/sata_usb_10_install_poweroff.png differ diff --git a/docs/helios64/install/transfer.md b/docs/helios64/install/transfer.md new file mode 100644 index 0000000..ddf699b --- /dev/null +++ b/docs/helios64/install/transfer.md @@ -0,0 +1,286 @@ +Armbian provides a utility called *nand-sata-install* to transfer OS from SD card to other device such as USB, SATA, or NVMe. +The utility can be invoke directly, + +``` +sudo nand-sata-install +``` + +or the recommended way, through *armbian-config* + +``` +sudo armbian-config +``` + +Helios64 support following boot mode + +| Boot Device | System / Rootfs Device | +|-------------|------------------------| +| eMMC | eMMC
SATA Drive
USB Drive| + +Boot device contains bootloader and other boot files such as kernel and DTB. It will be mounted under /boot/. + +!!! Notes + *nand-sata-install* requires the target device already partitioned! + +## System on eMMC + +***Step 1 - Run Armbian Configuration Utility*** + +![emmc step 0](/helios64/install/img/transfer/emmc_00_config_main.png) + +***Step 2 - Select Install Menu*** + +![emmc step 1](/helios64/install/img/transfer/emmc_01_config_system.png) + +***Step 3 - Select Boot from eMMC - system on eMMC*** + +![emmc step 2](/helios64/install/img/transfer/emmc_02_install_main.png) + +***Step 4 - Confirm that the process will erase data on eMMC*** + +![emmc step 3](/helios64/install/img/transfer/emmc_03_install_erase_confirm.png) + +***Step 5 - Select filesystem type for eMMC*** + +![emmc step 4](/helios64/install/img/transfer/emmc_04_install_fstype.png) + +***Step 6 - Wait for transfer process completed*** + +![emmc step 5](/helios64/install/img/transfer/emmc_05_install_transfer.png) + +***Step 7 - Power Off Helios64 if you don't have OMV Installed*** + +**DO NOT** power off if you have installed OMV. There are several OMV files & folders not transferred by *nand-sata-install*. + +Please refer to [After running *nand-sata-install*](#existing-os-has-omv-installed) section before continue to next step. + +![emmc step 6](/helios64/install/img/transfer/emmc_06_install_poweroff.png) + +***Step 8 - Remove Micro SD card and power on the system*** + +***Step 9 - Verify if the system transferred correctly*** + +``` +lsblk + +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +sda 8:0 0 111.8G 0 disk +└─sda1 8:1 0 111.8G 0 part +sdb 8:16 0 111.8G 0 disk +└─sdb1 8:17 0 111.8G 0 part +sdc 8:32 1 28.7G 0 disk +└─sdc1 8:33 1 28.4G 0 part +mmcblk1 179:0 0 14.6G 0 disk +└─mmcblk1p1 179:1 0 14.4G 0 part / +mmcblk1boot0 179:32 0 4M 1 disk +mmcblk1boot1 179:64 0 4M 1 disk +zram0 251:0 0 50M 0 disk /var/log +zram1 251:1 0 1.9G 0 disk [SWAP] +``` + +You should see **mmcblk1p1** has MOUNTPOINT **/** + +## System on USB or SATA (Including M.2 SATA) + +Determine which block device +list block devices + +``` +lsblk + +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +sda 8:0 0 111.8G 0 disk +└─sda1 8:1 0 111.8G 0 part +sdb 8:16 0 111.8G 0 disk +└─sdb1 8:17 0 111.8G 0 part +sdc 8:32 1 28.7G 0 disk +└─sdc1 8:33 1 28.4G 0 part +mmcblk0 179:0 0 14.9G 0 disk +└─mmcblk0p1 179:1 0 14.7G 0 part / +mmcblk1 179:32 0 14.6G 0 disk +└─mmcblk1p1 179:33 0 14.4G 0 part +mmcblk1boot0 179:64 0 4M 1 disk +mmcblk1boot1 179:96 0 4M 1 disk +zram0 251:0 0 50M 0 disk /var/log +zram1 251:1 0 1.9G 0 disk [SWAP] +root@helios64:~# ls -l /sys/block/ +total 0 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 loop0 -> ../devices/virtual/block/loop0 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 loop1 -> ../devices/virtual/block/loop1 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 loop2 -> ../devices/virtual/block/loop2 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 loop3 -> ../devices/virtual/block/loop3 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 loop4 -> ../devices/virtual/block/loop4 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 loop5 -> ../devices/virtual/block/loop5 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 loop6 -> ../devices/virtual/block/loop6 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 loop7 -> ../devices/virtual/block/loop7 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 mmcblk0 -> ../devices/platform/fe320000.mmc/mmc_host/mmc0/mmc0:aaaa/block/mmcblk0 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 mmcblk1 -> ../devices/platform/fe330000.sdhci/mmc_host/mmc1/mmc1:0001/block/mmcblk1 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 mmcblk1boot0 -> ../devices/platform/fe330000.sdhci/mmc_host/mmc1/mmc1:0001/block/mmcblk1/mmcblk1boot0 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 mmcblk1boot1 -> ../devices/platform/fe330000.sdhci/mmc_host/mmc1/mmc1:0001/block/mmcblk1/mmcblk1boot1 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 sda -> ../devices/platform/f8000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/ata1/host0/target0:0:0/0:0:0:0/block/sda +lrwxrwxrwx 1 root root 0 Nov 5 10:13 sdb -> ../devices/platform/f8000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb +lrwxrwxrwx 1 root root 0 Nov 5 10:13 sdc -> ../devices/platform/usb@fe900000/fe900000.usb/xhci-hcd.0.auto/usb2/2-1/2-1.3/2-1.3:1.0/host5/target5:0:0/5:0:0:0/block/sdc +lrwxrwxrwx 1 root root 0 Nov 5 10:13 zram0 -> ../devices/virtual/block/zram0 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 zram1 -> ../devices/virtual/block/zram1 +lrwxrwxrwx 1 root root 0 Nov 5 10:13 zram2 -> ../devices/virtual/block/zram2 +``` + +| Block Device | Physical drive | Remarks | +|--------------|----------------|---------| +| **mmcblk0** | micro SD card | | +| **mmcblk1** | eMMC | | +| **sda** | SATA or M.2 drive connected to Port 1 | *../devices/platform/f8000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/***ata1***/* | +| **sdb** | SATA drive connected to Port 4 | *../devices/platform/f8000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/***ata4***/* | +| **sdc** | USB drive connected to USB Port 3 (Front Panel) | *../devices/platform/usb@fe900000/fe900000.usb/xhci-hcd.0.auto/usb2/2-1/2-1***.3***/* | + + +***Step 1 - Run Armbian Configuration Utility*** + +``` +sudo armbian-config +``` + +![sata step 0](/helios64/install/img/transfer/sata_usb_00_config_main.png) + +***Step 2 - Select Install Menu*** + +![sata step 1](/helios64/install/img/transfer/sata_usb_01_config_system.png) + +***Step 3 - Select Boot from eMMC - system on SATA, USB or NVMe*** + +![sata step 2](/helios64/install/img/transfer/sata_usb_02_install_main.png) + +**Step 4 - Select storage device and partition for rootfs*** + + *SATA drive at port 1 as System drive* + + ![sata step 3a](/helios64/install/img/transfer/sata_usb_03_select_target_sata.png) + +--- + + *USB drive as System drive* + + ![sata step 3b](/helios64/install/img/transfer/sata_usb_03_select_target_usb.png) + + +***Step 5 - Confirm that the process will erase data on eMMC and system partition*** + +![sata step 4](/helios64/install/img/transfer/sata_usb_04_install_erase_confirm.png) + +**Step 6 - Select filesystem type for eMMC*** + +![sata step 5](/helios64/install/img/transfer/sata_usb_05_install_boot_fstype.png) + +Wait until formatting process completed + +![sata step 6](/helios64/install/img/transfer/sata_usb_06_install_format_boot.png) + +***Step 7 - Select filesystem type for system partition*** + +![sata step 7](/helios64/install/img/transfer/sata_usb_07_install_system_fstype.png) + +Wait until formatting process completed + +![sata step 8](/helios64/install/img/transfer/sata_usb_08_install_format_system.png) + +***Step 8 - Wait for transfer process completed*** + +![sata step 9](/helios64/install/img/transfer/sata_usb_09_install_transfer.png) + +***Step 9 - Power Off Helios64 if you don't have OMV Installed*** + +**DO NOT** power off if you have installed OMV. There are several OMV files & folders not transferred by *nand-sata-install*. + +Please refer to [After running *nand-sata-install*](#existing-os-has-omv-installed) section before continue to next step. + +![sata step 10](/helios64/install/img/transfer/sata_usb_10_install_poweroff.png) + +***Step 10 - Remove Micro SD card and power on the system*** + +**Step 11 - Verify if the system transferred correctly*** + +*System on SATA or M.2* + +``` +lsblk + +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +sda 8:0 0 111.8G 0 disk +└─sda1 8:1 0 111.8G 0 part / +sdb 8:16 0 111.8G 0 disk +└─sdb1 8:17 0 111.8G 0 part +sdc 8:32 1 28.7G 0 disk +└─sdc1 8:33 1 28.4G 0 part +mmcblk1 179:0 0 14.6G 0 disk +└─mmcblk1p1 179:1 0 14.4G 0 part /media/mmcboot +mmcblk1boot0 179:32 0 4M 1 disk +mmcblk1boot1 179:64 0 4M 1 disk +zram0 251:0 0 50M 0 disk /var/log +zram1 251:1 0 1.9G 0 disk [SWAP] +``` + +You should see SATA drive at Port 1 has MOUNTPOINT **/** and eMMC has MOUNTPOINT **/media/mmcboot** + +--- + +*System on USB* + +``` +lsblk + +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +sda 8:0 0 111.8G 0 disk +└─sda1 8:1 0 111.8G 0 part +sdb 8:16 0 111.8G 0 disk +└─sdb1 8:17 0 111.8G 0 part +sdc 8:32 1 28.7G 0 disk +└─sdc1 8:33 1 28.4G 0 part / +mmcblk1 179:0 0 14.6G 0 disk +└─mmcblk1p1 179:1 0 14.4G 0 part /media/mmcboot +mmcblk1boot0 179:32 0 4M 1 disk +mmcblk1boot1 179:64 0 4M 1 disk +zram0 251:0 0 50M 0 disk /var/log +zram1 251:1 0 1.9G 0 disk [SWAP] +``` + +You should see USB drive has MOUNTPOINT **/** and eMMC has MOUNTPOINT **/media/mmcboot** + +## Existing OS Has OMV Installed + +Transferring rootfs using *nand-sata-install* will break OMV due to missing files. To prevent this, you need to proceed following section. + +### Preparation before running *nand-sata-install* + +If you have configured NFS share located on SATA drive(s), you might like to prevent the content to be copied over to eMMC. run following command to prevent it + +``` +echo "/export/*" | sudo tee -a /usr/lib/nand-sata-install/exclude.txt +``` + +Lastly, if you're using ZFS, which by default mounts to **/**, make sure to add its mountpoint to **/usr/lib/nand-sata-install/exclude.txt** before running *nand-sata-install* as well. + +### After running *nand-sata-install* + +OMV 5 stores part of its config (**salt** and **pillar** folders) in **/srv/** which are excluded by *nand-sata-install*. + +Before power off the system to finalize the system transfer, we need to mount system partition and copy those folders into it and finally power off the system. + +``` +sudo mkdir -p /mnt/system +sudo mount /dev/sda1 /mnt/system +sudo cp -rf -t /mnt/system/srv/ /srv/salt /srv/pillar +sudo poweroff +``` + +!!! Note + Pay attention to block device of system partition at second command. In this case /dev/sda1 is SATA drive at Port 1. + +Now you can continue to remove the micro SD card and power on the system. + + +## References + +- [Armbian Documentation](https://docs.armbian.com/User-Guide_Getting-Started/#how-to-install-to-emmc-nand-sata-usb) + +- [Tips from antsu at Armbian Forum](https://forum.armbian.com/topic/15431-helios64-support/?do=findComment&comment=110715) + diff --git a/mkdocs.yml b/mkdocs.yml index 1e09172..974e19b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -80,6 +80,7 @@ nav: - eMMC Install : 'helios64/install/emmc.md' - SDcard Install : 'helios64/install/sdcard.md' - First Start : 'helios64/install/first-start.md' + - Transfer Installed OS: 'helios64/install/transfer.md' - Recovery : - Recovery Mode: '/helios64/button/#recovery-button' - Maskrom Mode: 'helios64/maskrom.md'