Installing Angstrom on a Hard Disk

From eLinux.org
Revision as of 00:44, 7 January 2014 by Jayneil (Talk | contribs) (Troubleshooting)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Mlogo.png Back to the MinnowBoard home page


Summary

In most cases, you will boot Angstrom off a microSD card on the MinnowBoard. In this guide, we will see how to boot Angstrom off an external storage device such as USB flash drive, SATA, HDD etc.

Note:- For the purpose of this guide, I am using a 4GB USB flash drive. These instructions can be replicated for any similar external storage device like SATA, HDD(Hard Disk) etc. Also, Ubuntu 12.04 LTS was the reference operating system for these instructions.

Procedure

Step-1:

Download the latest Angstrom HDD image from here. Please note that this hdd image is different from a sd card image.


Step-2:

Download the script that will write this image to the external storage media from here. In our case, a USB flash drive.


Angstrom1.png


Step-3:

Now extract the Angstrom image that you downloaded earlier by right clicking on it and clicking on the 'extract here' option. You should see the resultant image having only a .hddimg extension from the original .xz extension.


Angstrom on a pd.png


Angstrom3.png


Step-4:

Now, identify the disk device filename for the USB flash drive. You can do this by opening the Disk Utility application in Ubuntu and clicking on the flash drive card entry. See the Device field to determine the raw device name of your flash drive. Note that this device name should specify an entire disk device (e.g, /dev/sde), and not an individual disk partition (e.g, /dev/sde1). In my case it is sdb" .


Identify the raw device id of the external flash storage


Step-5:

Make the script that we downloaded earlier, executable, by typing the command below in the terminal:

chmod a+x mkefdisk.sh


Angstrom5.png


Step-5:

Now, we write the image to the flash drive

 sudo ./mkefidisk.sh <DEVICE> <HDDIMG> <TARGET DEVICE> 

In the above command:

  • DEVICE - This is the DEVICE to which you want to write the image to. It is the raw device ID which we found in Step -4.
  • HDDIMG - Name of the hard disk image
  • TARGE DEVICE - The device off which MinnowBoard will boot , i.e., the external storage media which is a USB flash drive in our case. On the MinnowBoard, assuming only one storage device is

attached at boot, a USB or SATA device will be /dev/sda and an SD device will be /dev/mmcblk0 .

So, our command becomes

 sudo ./mkefidisk.sh /dev/sdb Angstrom-development-GNOME-image-eglibc-ipk-v2013.06-minnow-2013.09.10.hddimg /dev/sda


Angstrom6.png

Angstrom8.png


Step-6:

If the process completed, successfully, you should get a similar message as shown below:


Angstrom7.png


Step-7:

Now, remove the flash drive and plug it in the USB port on the MinnowBoard. Make sure that the microSD is removed from the MinnowBoard. Connect the required accessories to the MinnowBoard as documented here and power it on. First boot should take about 60 seconds.


Angstrom9.png


Troubleshooting

If you do not end up getting the Angstrom login screen as shown in the previous section, please try the procedure documented below.

The MinnowBoard EFI firmware supports FastBoot which optimizes the device initialization for a specific boot path. Out of the box, the board will boot from the default bootloader on the SD card. If you modify this card or want to boot from a different device, you will need to reestablish the automatic boot path.

Ensure the devices, and only the devices, you intend to boot from are installed. Select the Shell from the EFI boot menu, or allow it to timeout and start the shell automatically. From within the shell, initialize all the devices with:

> connect -r
> map -r

This will result in a listing of file-systems and block devices similar to the following:

Mapping table
     FS0: Alias(s):HD21a0b:;BLK1:
         PciRoot(0x0)/Pci(0x17,0x0)/Pci(0x0,0x0)/Pci(0x8,0x3)/USB(0x0,0x0)/HD(1,MBR,0x00056299,0x800,0x9000)
    BLK0: Alias(s):
         PciRoot(0x0)/Pci(0x17,0x0)/Pci(0x0,0x0)/Pci(0x8,0x3)/USB(0x0,0x0)
    BLK2: Alias(s):
         PciRoot(0x0)/Pci(0x17,0x0)/Pci(0x0,0x0)/Pci(0x8,0x3)/USB(0x0,0x0)/HD(2,MBR,0x00056299,0x9800,0x70D000)
    BLK3: Alias(s):
         PciRoot(0x0)/Pci(0x17,0x0)/Pci(0x0,0x0)/Pci(0x8,0x3)/USB(0x0,0x0)/HD(3,MBR,0x00056299,0x716800,0x5F000)

Mapping Table

Note that FS0: is a file-system on a USB device. To automatically boot the bootia32.efi bootloader on this device, enter:

> bcfg boot add 0 fs0:\efi\boot\bootia32.efi "Default Boot"
> reset

From now on, so long as that device remains connected and at that path, the firmware will boot it directly, skipping the boot menu and the EFI shell.