Installing Angstrom on a Hard Disk
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.
Download the latest Angstrom HDD image from here. Please note that this hdd image is different from a sd card image.
Download the script that will write this image to the external storage media from here. In our case, a USB flash drive.
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.
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" .
Make the script that we downloaded earlier, executable, by typing the command below in the terminal:
chmod a+x mkefdisk.sh
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
If the process completed, successfully, you should get a similar message as shown below:
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.
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)
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.