UDOO boot from sata

From eLinux.org
Revision as of 06:23, 24 October 2013 by Ags131 (talk | contribs) (Added notes on Pure SATA booting and SD requirement)
Jump to: navigation, search

This guide will show you how to boot your UDOO from an attached SATA drive with the help of a small SD card. NOTE: It is currently not possible to boot without an SD card, it is hoped that this feature will be added in the future.

Prerequisites

  • A SATA drive
  • A SD card
  • A spare linux PC (There are alternatives)
  • A Micro USB cable such as one for charging a smart phone

This guide also assumes you have a working linux install for UDOO.

Preparing the drive

You may partition and format the drive however you want, the current builds of uboot support up to ext3 I believe, newer builds may support ext4. I will be using a drive of a single ext3 partition as an example. There are several methods of preparing the SATA drive, some are listed below.

Using an existing Linux system

Connect your SD and SATA drive to a linux system. I'm using a USB SATA adapter and mounted it and the sd at /sd and /usb just for clarity, but this is upto you. Adjust commands appropriately.

 # cp -rvp /sd/* /usb/

This will copy your SD filesystem to the SATA disk.

Unmount both. Once that is complete, connect the SATA disk to the UDOO and reinsert the SD card.

Extracting a FS tarball

You may use the filesystem tarball from the binaries tab on udoo.org or use your own. Place this tarball on the SATA disk. You can transfer this over the network or wget the file straight onto it.

run the following commands (Assuming /dev/sda1 is mounted at /mnt)

 # cd /mnt
 # tar xvzf tarball_you_just_grabbed.tar

Prepare U-Boot

You will need to connect the UDOO to a PC with a micro USB cable. Then open a serial terminal to the new COM port on your PC Reset the udoo and press any key over serial when prompted to cancel the autoboot. Now run the following commands to set the boot device

 setenv root root=/dev/sda1
 saveenv

If you do not want it to keep the change upon reboot omit the saveenv line. If you need to revert it to the SD card again, simply use /dev/mmcblk0p1

 setenv root root=/dev/mmcblk0p1

Now run the following to continue booting

 boot

Done!

You should now be booting into the system on the SATA drive. If all goes well you can safely remove almost everything on the SD card. If you do, make sure to leave /boot as U-Boot still loads it.

TODO

Add instructions on a full SATA only boot. (Currently Impossible due to current uboot, hopefully this will be made possible in a future update)