PINE64
Booting from NVME - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: ROCKPRO64 (https://forum.pine64.org/forumdisplay.php?fid=98)
+--- Forum: Linux on RockPro64 (https://forum.pine64.org/forumdisplay.php?fid=101)
+--- Thread: Booting from NVME (/showthread.php?tid=9828)

Pages: 1 2


Booting from NVME - ilovegentoo - 05-11-2020

Hi all,

I finally bit the bullet and ordered a Intel 660p 512GB NVME SSD for testing my RockPro64 on it.
I downloaded the latest Ayufan Debian Buster build from https://github.com/ayufan-rock64/linux-build/releases/download/0.10.12/buster-minimal-rockpro64-0.10.12-1184-arm64.img.xz

I originally installed it on an SD card, then decided to copy it over to an USB stick (supposedly faster).

After that I again copied it over to the NVME drive.

The script I used for the migration is:
Code:
#!/bin/bash

# Parameters
source="/dev/disk/by-id/usb-Samsung_Flash_Drive_xxxxxxxxxxxxxxxx-0:0"
destination="/dev/disk/by-id/nvme-INTEL_xxxxxxxxxxxxxxxxxxxxxxxxx"
partitions=(1 2 3 4 5 6 7)
backupFolder="./backup"
rootid=7 # Root ID partition number

# Generate timestamp
timestamp=$(date +%Y%m%d%H%M)

# Create folder if not exist
mkdir -p $backupFolder

# Save GPT disks
sgdisk --backup=$backupFolder/$(basename $source)_$timestamp.sgdisk $source
sgdisk --backup=$backupFolder/$(basename $destination)_$timestamp.sgdisk $destination

# Copy $source layout to $dest and regenerate GUIDs
sgdisk --replicate=$destination $source
sgdisk -G $destination

# Clone partitions
for partition in "${partitions[@]}"; do
   echo "Clone partition $source-part$partition -> $destination-part$partition"
   dd if=$source-part$partition of=$destination-part$partition bs=1M status=progress
   echo "Cloned partition finished!"
done

# Must be done manually for now ...
#yes "-1MiB" | parted $destination resizepart $rootid
#e2fsck $destination-part$rootid
#resize2fs $destination-part$rootid

I then included the following modules and regenerated the initramfs:

cat /etc/initramfs-tools/modules
Code:
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
pcie_rockchip_host
phy_rockchip_pcie
nvme


update-initramfs -k all -u


I cannot book from NVME at the present moment. The onboard red LED stays lighted up.
If I put back the USB stick it boots normally.

Is there something I am forgetting ? Thank you


RE: Booting from NVME - tophneal - 05-11-2020

(05-11-2020, 11:59 AM)ilovegentoo Wrote: Hi all,

I finally bit the bullet and ordered a Intel 660p 512GB NVME SSD for testing my RockPro64 on it.
I downloaded the latest Ayufan Debian Buster build from https://github.com/ayufan-rock64/linux-build/releases/download/0.10.12/buster-minimal-rockpro64-0.10.12-1184-arm64.img.xz

I originally installed it on an SD card, then decided to copy it over to an USB stick (supposedly faster).

After that I again copied it over to the NVME drive.

The script I used for the migration is:
Code:
#!/bin/bash

# Parameters
source="/dev/disk/by-id/usb-Samsung_Flash_Drive_xxxxxxxxxxxxxxxx-0:0"
destination="/dev/disk/by-id/nvme-INTEL_xxxxxxxxxxxxxxxxxxxxxxxxx"
partitions=(1 2 3 4 5 6 7)
backupFolder="./backup"
rootid=7 # Root ID partition number

# Generate timestamp
timestamp=$(date +%Y%m%d%H%M)

# Create folder if not exist
mkdir -p $backupFolder

# Save GPT disks
sgdisk --backup=$backupFolder/$(basename $source)_$timestamp.sgdisk $source
sgdisk --backup=$backupFolder/$(basename $destination)_$timestamp.sgdisk $destination

# Copy $source layout to $dest and regenerate GUIDs
sgdisk --replicate=$destination $source
sgdisk -G $destination

# Clone partitions
for partition in "${partitions[@]}"; do
   echo "Clone partition $source-part$partition -> $destination-part$partition"
   dd if=$source-part$partition of=$destination-part$partition bs=1M status=progress
   echo "Cloned partition finished!"
done

# Must be done manually for now ...
#yes "-1MiB" | parted $destination resizepart $rootid
#e2fsck $destination-part$rootid
#resize2fs $destination-part$rootid

I then included the following modules and regenerated the initramfs:

cat /etc/initramfs-tools/modules
Code:
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
pcie_rockchip_host
phy_rockchip_pcie
nvme


update-initramfs -k all -u


I cannot book from NVME at the present moment. The onboard red LED stays lighted up.
If I put back the USB stick it boots normally.

Is there something I am forgetting ? Thank you

Did you flash a bootloader to the SPI?


RE: Booting from NVME - khaosgrille - 05-12-2020

(05-11-2020, 01:08 PM)tophneal Wrote:
(05-11-2020, 11:59 AM)ilovegentoo Wrote: Hi all,

I finally bit the bullet and ordered a Intel 660p 512GB NVME SSD for testing my RockPro64 on it.
I downloaded the latest Ayufan Debian Buster build from https://github.com/ayufan-rock64/linux-build/releases/download/0.10.12/buster-minimal-rockpro64-0.10.12-1184-arm64.img.xz

I originally installed it on an SD card, then decided to copy it over to an USB stick (supposedly faster).

After that I again copied it over to the NVME drive.

The script I used for the migration is:
Code:
#!/bin/bash

# Parameters
source="/dev/disk/by-id/usb-Samsung_Flash_Drive_xxxxxxxxxxxxxxxx-0:0"
destination="/dev/disk/by-id/nvme-INTEL_xxxxxxxxxxxxxxxxxxxxxxxxx"
partitions=(1 2 3 4 5 6 7)
backupFolder="./backup"
rootid=7 # Root ID partition number

# Generate timestamp
timestamp=$(date +%Y%m%d%H%M)

# Create folder if not exist
mkdir -p $backupFolder

# Save GPT disks
sgdisk --backup=$backupFolder/$(basename $source)_$timestamp.sgdisk $source
sgdisk --backup=$backupFolder/$(basename $destination)_$timestamp.sgdisk $destination

# Copy $source layout to $dest and regenerate GUIDs
sgdisk --replicate=$destination $source
sgdisk -G $destination

# Clone partitions
for partition in "${partitions[@]}"; do
   echo "Clone partition $source-part$partition -> $destination-part$partition"
   dd if=$source-part$partition of=$destination-part$partition bs=1M status=progress
   echo "Cloned partition finished!"
done

# Must be done manually for now ...
#yes "-1MiB" | parted $destination resizepart $rootid
#e2fsck $destination-part$rootid
#resize2fs $destination-part$rootid

I then included the following modules and regenerated the initramfs:

cat /etc/initramfs-tools/modules
Code:
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
pcie_rockchip_host
phy_rockchip_pcie
nvme


update-initramfs -k all -u


I cannot book from NVME at the present moment. The onboard red LED stays lighted up.
If I put back the USB stick it boots normally.

Is there something I am forgetting ? Thank you

Did you flash a bootloader to the SPI?

i had some problems with nvme ssd too. i can confirm lenovo ssds are not working while samsung ssds are working fine with the same setup. can u get an error from the boot process with the graphical uboot/serial port


RE: Booting from NVME - ilovegentoo - 05-13-2020

(05-11-2020, 01:08 PM)tophneal Wrote:
(05-11-2020, 11:59 AM)ilovegentoo Wrote: Hi all,

I finally bit the bullet and ordered a Intel 660p 512GB NVME SSD for testing my RockPro64 on it.
I downloaded the latest Ayufan Debian Buster build from https://github.com/ayufan-rock64/linux-build/releases/download/0.10.12/buster-minimal-rockpro64-0.10.12-1184-arm64.img.xz

I originally installed it on an SD card, then decided to copy it over to an USB stick (supposedly faster).

After that I again copied it over to the NVME drive.

The script I used for the migration is:
Code:
#!/bin/bash

# Parameters
source="/dev/disk/by-id/usb-Samsung_Flash_Drive_xxxxxxxxxxxxxxxx-0:0"
destination="/dev/disk/by-id/nvme-INTEL_xxxxxxxxxxxxxxxxxxxxxxxxx"
partitions=(1 2 3 4 5 6 7)
backupFolder="./backup"
rootid=7 # Root ID partition number

# Generate timestamp
timestamp=$(date +%Y%m%d%H%M)

# Create folder if not exist
mkdir -p $backupFolder

# Save GPT disks
sgdisk --backup=$backupFolder/$(basename $source)_$timestamp.sgdisk $source
sgdisk --backup=$backupFolder/$(basename $destination)_$timestamp.sgdisk $destination

# Copy $source layout to $dest and regenerate GUIDs
sgdisk --replicate=$destination $source
sgdisk -G $destination

# Clone partitions
for partition in "${partitions[@]}"; do
   echo "Clone partition $source-part$partition -> $destination-part$partition"
   dd if=$source-part$partition of=$destination-part$partition bs=1M status=progress
   echo "Cloned partition finished!"
done

# Must be done manually for now ...
#yes "-1MiB" | parted $destination resizepart $rootid
#e2fsck $destination-part$rootid
#resize2fs $destination-part$rootid

I then included the following modules and regenerated the initramfs:

cat /etc/initramfs-tools/modules
Code:
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
pcie_rockchip_host
phy_rockchip_pcie
nvme


update-initramfs -k all -u


I cannot book from NVME at the present moment. The onboard red LED stays lighted up.
If I put back the USB stick it boots normally.

Is there something I am forgetting ? Thank you

Did you flash a bootloader to the SPI?

Thank you for your message, @tophneal. Sorry for the late reply. Unfortunately I didn't get any new post notification even though I'm subscribed.

I got the u-boot-flash-spi-rockpro64.img.xz tool from https://github.com/ayufan-rock64/linux-u-boot/releases following the instructions from https://github.com/ayufan-rock64/linux-build/blob/master/recipes/flash-spi.md. I flashed to microSD card and booted. Then I got this white LED flashing about once per second, which should be a sign that the flash has been successful.
Rebooted but I see absolutely nothing. Heck HDMI doesn't appear to work, my screen complains about no input being present Sad .

(05-12-2020, 07:30 AM)khaosgrille Wrote:
(05-11-2020, 01:08 PM)tophneal Wrote:
(05-11-2020, 11:59 AM)ilovegentoo Wrote: Hi all,

I finally bit the bullet and ordered a Intel 660p 512GB NVME SSD for testing my RockPro64 on it.
I downloaded the latest Ayufan Debian Buster build from https://github.com/ayufan-rock64/linux-build/releases/download/0.10.12/buster-minimal-rockpro64-0.10.12-1184-arm64.img.xz

I originally installed it on an SD card, then decided to copy it over to an USB stick (supposedly faster).

After that I again copied it over to the NVME drive.

The script I used for the migration is:
Code:
#!/bin/bash

# Parameters
source="/dev/disk/by-id/usb-Samsung_Flash_Drive_xxxxxxxxxxxxxxxx-0:0"
destination="/dev/disk/by-id/nvme-INTEL_xxxxxxxxxxxxxxxxxxxxxxxxx"
partitions=(1 2 3 4 5 6 7)
backupFolder="./backup"
rootid=7 # Root ID partition number

# Generate timestamp
timestamp=$(date +%Y%m%d%H%M)

# Create folder if not exist
mkdir -p $backupFolder

# Save GPT disks
sgdisk --backup=$backupFolder/$(basename $source)_$timestamp.sgdisk $source
sgdisk --backup=$backupFolder/$(basename $destination)_$timestamp.sgdisk $destination

# Copy $source layout to $dest and regenerate GUIDs
sgdisk --replicate=$destination $source
sgdisk -G $destination

# Clone partitions
for partition in "${partitions[@]}"; do
   echo "Clone partition $source-part$partition -> $destination-part$partition"
   dd if=$source-part$partition of=$destination-part$partition bs=1M status=progress
   echo "Cloned partition finished!"
done

# Must be done manually for now ...
#yes "-1MiB" | parted $destination resizepart $rootid
#e2fsck $destination-part$rootid
#resize2fs $destination-part$rootid

I then included the following modules and regenerated the initramfs:

cat /etc/initramfs-tools/modules
Code:
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
pcie_rockchip_host
phy_rockchip_pcie
nvme


update-initramfs -k all -u


I cannot book from NVME at the present moment. The onboard red LED stays lighted up.
If I put back the USB stick it boots normally.

Is there something I am forgetting ? Thank you

Did you flash a bootloader to the SPI?

i had some problems with nvme ssd too. i can confirm lenovo ssds are not working while samsung ssds are working fine with the same setup. can u get an error from the boot process with the graphical uboot/serial port

Thank you for your message, @khaosgrille. What do you mean exactly? For some weird reason HDMI doesn't output anything .... Is that what you mean by "graphical uboot"? And what about the serial port?

Usually the only thing I (can) do is watch the DHCP server for seeing the leased IP address and then trying to ping and connect over SSH. Not very practical though Sad .


RE: Booting from NVME - tophneal - 05-13-2020

(05-13-2020, 05:18 AM)ilovegentoo Wrote: Thank you for your message, @khaosgrille. What do you mean exactly? For some weird reason HDMI doesn't output anything .... Is that what you mean by "graphical uboot"? And what about the serial port?

Usually the only thing I (can) do is watch the DHCP server for seeing the leased IP address and then trying to ping and connect over SSH. Not very practical though Sad .

I think what they mean is using the UART cable, you can view u-boot's menu when booting the RP64. It won't appear over HDMi, bc u-boot lacks those drivers.


RE: Booting from NVME - ilovegentoo - 05-13-2020

(05-13-2020, 06:29 AM)tophneal Wrote:
(05-13-2020, 05:18 AM)ilovegentoo Wrote: Thank you for your message, @khaosgrille. What do you mean exactly? For some weird reason HDMI doesn't output anything .... Is that what you mean by "graphical uboot"? And what about the serial port?

Usually the only thing I (can) do is watch the DHCP server for seeing the leased IP address and then trying to ping and connect over SSH. Not very practical though Sad .

I think what they mean is using the UART cable, you can view u-boot's menu when booting the RP64. It won't appear over HDMi, bc u-boot lacks those drivers.

But I guess this UART cable was optional, right? I didn't order anything besides the RockPro64, Heatsink, Power Supply and enclosure. Or is it some kind of standard cable you can buy about anywhere?


RE: Booting from NVME - tophneal - 05-14-2020

It is sold as an optional accessory, correct. You can also get a generic UART cable (of the right type, there are several) from a number of retailers. Take a look at the wiki page for the board to make sure you purchase the correct cable.


RE: Booting from NVME - Bullet64 - 05-19-2020

This u-boot frpm ayifan will have output on HDMI.

https://github.com/ayufan-rock64/linux-mainline-u-boot/releases


RE: Booting from NVME - ilovegentoo - 05-19-2020

(05-19-2020, 02:25 AM)Bullet64 Wrote: This u-boot frpm ayifan will have output on HDMI.

https://github.com/ayufan-rock64/linux-mainline-u-boot/releases

Do you mean that I have to install the *.deb package ?

Right now I only used the u-boot-flash-spi-rockpro64.img.xz file. I didn't use the u-boot-erase-spi-rockpro64.img.xz [/url]because I believed that the "erase" feature is already included in the "flash" image. Or did I miss something?[url=https://github.com/ayufan-rock64/linux-mainline-u-boot/releases/download/2020.01-ayufan-2014-gff2cdd38/u-boot-flash-spi-rockpro64.img.xz]


RE: Booting from NVME - rrowles2000 - 05-08-2021

Any update on this i have exacly the same issue