aboutsummaryrefslogtreecommitdiffstats
path: root/README.hardware
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2014-04-09 15:41:32 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-09 22:30:27 +0100
commit1f42d829feb62271211e3d9afd5b21f9c1e2307d (patch)
treec0fce97c4dc17957874bdb9e27d01ff0e945092e /README.hardware
parent046a9ea30356daf4f3f8f4ddfc5b57fcfd85a27f (diff)
downloadopenembedded-core-contrib-1f42d829feb62271211e3d9afd5b21f9c1e2307d.tar.gz
edgerouter: clarify diskboot instructions
There was some missing details in how to boot from the edgerouter USB storage. With this update, we have the information required to boot from either the vfat, or ext3 partition. [YOCTO #6113] (From meta-yocto rev: ed2eba333d13cc544648169d06bc47c7e2bbb3f2) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'README.hardware')
-rw-r--r--README.hardware99
1 files changed, 85 insertions, 14 deletions
diff --git a/README.hardware b/README.hardware
index 7d2b0f8801..68e1dd2f89 100644
--- a/README.hardware
+++ b/README.hardware
@@ -291,13 +291,85 @@ Load the kernel, and boot the system as follows:
--- Booting from USB root ---
-NOTE: Since the USB disk is inside the edgerouter box, it's inconvenient to
- plug and unplug the USB disk. So in the following instructions it is
- assumed that you have already booted the device from NFS. Additionally,
- since vmlinux is not contained in core-image-xxx by default, it is
- necessary to copy it to the USB disk separately.
+To boot from the USB disk, you either need to remove it from the edgerouter
+box and populate it from another computer, or use a previously booted NFS
+image and populate from the edgerouter itself.
+
+Type 1: Mounted USB disk
+------------------------
+
+To boot from the USB disk there are two available partitions on the factory
+USB storage. The rest of this guide assumes that these partitions are left
+intact. If you change the partition scheme, you must update your boot method
+appropriately.
+
+The standard partitions are:
+
+ - 1: vfat partition containing factory kernels
+ - 2: ext3 partition for the root filesystem.
+
+You can place the kernel on either partition 1, or partition 2, but the roofs
+must go on partition 2 (due to its size).
+
+Note: If you place the kernel on the ext3 partition, you must re-create the
+ ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and
+ cannot read the partition otherwise.
+
+Steps:
+
+ 1. Remove the USB disk from the edgerouter and insert it into a computer
+ that has access to your build artifacts.
+
+ 2. Copy the kernel image to the USB storage (assuming discovered as 'sdb' on
+ the development machine):
+
+ 2a) if booting from vfat
+
+ # mount /dev/sdb1 /mnt
+ # cp tmp/deploy/images/edgerouter/vmlinux /mnt
+ # umount /mnt
+
+ 2b) if booting from ext3
+
+ # mkfs.ext3 -I 128 /dev/sdb2
+ # mount /dev/sdb2 /mnt
+ # mkdir /mnt/boot
+ # cp tmp/deploy/images/edgerouter/vmlinux /mnt/boot
+ # umount /mnt
+
+ 3. Extract the rootfs to the USB storage ext3 partition
+
+ # mount /dev/sdb2 /mnt
+ # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /mnt
+ # umount /mnt
+
+ 4. Reboot the board and press a key on the terminal when prompted to get to the U-Boot
+ command line:
+
+ 5. Load the kernel and boot:
+
+ 5a) vfat boot
+
+ => fatload usb 0:1 $loadaddr vmlinux
+
+ 5b) ext3 boot
+
+ => ext2load usb 0:2 $loadaddr boot/vmlinux
+
+ => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)
+
+
+Type 2: NFS
+-----------
+
+Note: If you place the kernel on the ext3 partition, you must re-create the
+ ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and
+ cannot read the partition otherwise.
+
+ These boot instructions assume that you have recreated the ext3 filesystem with
+ 128 byte inodes, you have an updated uboot or you are running and image capable
+ of making the filesystem on the board itself.
-Load the kernel, and boot the system as follows:
1. Boot from NFS root
@@ -309,11 +381,11 @@ Load the kernel, and boot the system as follows:
and then,
- # mount /dev/sda2 /media/sda2
- # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2
- # cp vmlinux /media/sda2/boot/vmlinux
- # umount /media/sda2
- # reboot
+ # mount /dev/sda2 /media/sda2
+ # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2
+ # cp vmlinux /media/sda2/boot/vmlinux
+ # umount /media/sda2
+ # reboot
3. Reboot the board and press a key on the terminal when prompted to get to the U-Boot
command line:
@@ -322,6 +394,5 @@ Load the kernel, and boot the system as follows:
4. Load the kernel and boot:
- => ext2load usb 0:2 $loadaddr boot/vmlinux
- => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)
-
+ => ext2load usb 0:2 $loadaddr boot/vmlinux
+ => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)