Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

R1 boot from SATA problem and solution with kernel upgrade

Featured Replies

I'm using vanilla Ubuntu Xenial 16.04 from http://www.armbian.com/lamobo-r1/

When I follow the forum posts for copying everything to the SATA drive and updating /etc/fstab and /boot/boot.cmd the system boots as expected to the SATA drive. 

The problem I have is I get prompted to upgrade it on boot using apt-get upgrade. This also upgrades the kernel version from 4.6.2 to 4.6.3.

Because I have moved the system from the SD card to the SATA drive the new kernel doesn't load, only the old kernel with missing modules which causes problems.

When the kernel updates it updates the SATA drive /boot directory but the device uses the sd card /boot directory so things get screwed up.

I followed and read all the forum posts I could find on booting from the SATA drive and couldn't any reference to this so I'm not sure I missed something.

Anyway my solution was to remove the /boot directory from the SATA drive and symlink it from the /boot directory on the SD card and it all appears to work and the new kernel now shows up when I run uname -r . The correct modules now load with the updated kernel too.

 

Get the drive assignments

fdisk -l

Change below to match drives

SDCARD='mmcblk0p1'
SATA='sda1'

Create the temp directories

mkdir /tmp/1 /tmp/target
mount /dev/$SDCARD /tmp/1
mount /dev/$SATA /tmp/target

Modify the fstab and bootcmd files to match

sed -i -e "s/$SDCARD/$SATA/g" /tmp/1/etc/fstab
sed -i -e "s/$SDCARD/$SATA/g" /tmp/1/boot/boot.cmd
mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

Set the sdcard to auto mount in /tmp/boot

echo "/dev/$SDCARD /tmp/boot/ ext4 defaults 0 1" >> /tmp/1/etc/fstab

Copy all the files across to the sata drive

(cd /tmp/1; tar --backup -c *) |tar -C /tmp/target -xv

Remove the boot directory from the sata drive and symlink it to the sdcard boot directory

rm -Rf /tmp/target/boot
ln -s /tmp/boot/boot/ /tmp/target/boot
sync

Then reboot

reboot

 

  • Author

Manually moved to sata. I've only just started looking at this and don't know what your nand-sata-installer is.

  • Author

Thanks I've found your script on github and will try that once I finish what I'm experimenting with. :)

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.