summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Harkin <ryan.harkin@linaro.org>2015-01-23 17:18:21 +0000
committerRyan Harkin <ryan.harkin@linaro.org>2015-01-23 17:18:21 +0000
commit2576b7f86d49c9995a1e9ebce9a72c674c109b95 (patch)
treed24c5647eb4d886a8937933d1c9798015a7295c0
parent6bbb8432c2bd2853dd3fadffaa5aaa66a9104a01 (diff)
15.01: update UEFI boot instructions
Change-Id: I0b62b24b1adb33f687b93be279644890df495eb9 Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
-rw-r--r--members/arm/android/images/armv8-android-juno-lsk/HOWTO_install.txt128
-rw-r--r--members/arm/openembedded/juno-lsk/INSTALL.textile135
2 files changed, 58 insertions, 205 deletions
diff --git a/members/arm/android/images/armv8-android-juno-lsk/HOWTO_install.txt b/members/arm/android/images/armv8-android-juno-lsk/HOWTO_install.txt
index 0ef5122..274c7a4 100644
--- a/members/arm/android/images/armv8-android-juno-lsk/HOWTO_install.txt
+++ b/members/arm/android/images/armv8-android-juno-lsk/HOWTO_install.txt
@@ -177,25 +177,6 @@ bc. [1] Add Boot Device Entry
[6] Set Boot Timeout
[7] Return to main menu
Choice: 1
-[1] Firmware Volume (0 MB)
-[2] Firmware Volume (0 MB)
-[3] NOR Flash (63 MB)
-[4] VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
-[5] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
-[6] PXE on MAC Address: 00:02:F7:00:57:DD
-[7] TFTP on MAC Address: 00:02:F7:00:57:DD
-Select the Boot Device:
-
-As you will see in the example above, there is no partition named "boot" available to the user. If this happens, press the @ESC@ key to exit the "Select the Boot Device" option and return to the Boot Menu. From the Boot Menu, please select option 1 again. The example below shows how this looked on our test system, your results may differ:
-
-bc. [1] Add Boot Device Entry
-[2] Update Boot Device Entry
-[3] Remove Boot Device Entry
-[4] Reorder Boot Device Entries
-[5] Update FDT path
-[6] Set Boot Timeout
-[7] Return to main menu
-Choice: 1
[1] Firmware Volume (4068 MB)
[2] Firmware Volume (4068 MB)
[3] NOR Flash (63 MB)
@@ -207,45 +188,14 @@ Choice: 1
[9] TFTP on MAC Address: 00:02:F7:00:57:DD
Select the Boot Device:
-As you will see, the menu option @"boot"@ has now appeared, allowing us to select the partition named "boot" on the USB drive. In the example above, the partition named "boot" is option 4. Your system may show a different option for the partition named boot on your USB drive. Please examine the menu and choose the appropriate option.
-
-Once you have choosen the Boot Device, you will be prompted for the configuration of that Boot Device.
-
-The first quesion will ask for the file path of the kernel, thus:
-
-bc. File path of the EFI Application or the kernel:
-
-When configuring a system to boot Android, you enter the file path of the kernel as "kernel" without the quotes and followed by the enter key, for this is the filename of the kernel in the boot partition on the USB drive.
-
-Next you will be prompted if the kernel has Flattened Device Tree support:
-
-bc. Has FDT support? [y/n]
-
-The answer is yes, so please press the "y" key followed by enter. Next you will be asked if you wish to configure an "initrd" for your system:
-
-bc. Add an initrd: [y/n]
-
-The answer is yes, so please press the "y" key followed by enter. Next you will be asked for the file path of the initrd on your USB drive:
-
-bc. File path of the initrd:
-
-The file is called "ramdisk.img", so please type "ramdisk.img" without the quotes, followed by the enter key.
-
-After this you will be asked to supply the arguments required to boot the kernel:
-
-bc. Arguments to pass to the binary:
-
-Please note, copy and paste does not work well over the serial terminal. The user is advised to type the commandline arguments by hand, character at a time, followed by the enter key. The commandline used is shown below:
-
-bc. console=ttyAMA0,115200 earlyprintk=pl011,0x7ff80000 root=/dev/ram0 verbose debug selinux=0
-
-Finally, after entering the commandline, the final question is simply asking for a title that will appear in the Boot Menu:
-
-bc. Description for this new Entry:
+At this point you select the first of the "Firmware Volume" options from the list. In the example above, this is option 1, so press the 1 key and press enter:
-You may enter a simple string of alphanumberic characters use to represent the name of this Boot Device. On our example system, we chose to type the string "Linux on USB", without the quotes, followed by pressing the enter key.
+bc. File path of the EFI Application or the kernel: Shell.efi
+Is your application an OS loader? [y/n] y
+Arguments to pass to the EFI Application:
+Description for this new Entry: Run Shell on boot
-After entering the description string, you will then be returned to the boot menu:
+Once the new entry is saved, you return to the main menu by pressing the 7 key followed by enter:
bc. [1] Add Boot Device Entry
[2] Update Boot Device Entry
@@ -254,64 +204,38 @@ bc. [1] Add Boot Device Entry
[5] Update FDT path
[6] Set Boot Timeout
[7] Return to main menu
+Choice:7
-It may take a long time, perhaps over a minute for UEFI to save the Boot Device Entry.
+From the main menu, you select option 1 to run the EFI Shell:
-After you have configured the Boot Device Entry, next you must configure the Flattened Device Tree (FDT) path. You do this by selecting the option "Update FDT path" by pressing the 5 key and pressing enter. As with the Add Boot Device Entry option, next you will be presented with a list of Boot Devices that can host the FDT file. On our test system, the list looked like this:
+bc. [1] Run Shell on boot
+[2] Shell
+[3] Boot Manager
+Choice:1
-bc. [1] Firmware Volume (4068 MB)
-[2] Firmware Volume (4068 MB)
-[3] NOR Flash (63 MB)
-[4] boot (131 MB)
-[5] sdcard (13585 MB)
-[6] VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
-[7] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
-[8] PXE on MAC Address: 00:02:F7:00:57:DD
-[9] TFTP on MAC Address: 00:02:F7:00:57:DD
+Once the EFI Shell is running, you will see a countdown. Press the ESC key to abort this countdown. Then, at the "Shell>" prompt, you can launch the kernel from the commandline, by typing the following command:
-Choose the option that corresponds to the partition named "boot" on your system. In the example above, this is option 4. Enter the option number and press the enter key. You will then be prompted for the file path for the FDT file:
+bc. kernel dtb=juno.dtb initrd=ramdisk.img console=ttyAMA0,115200 selinux=0
-bc. File path of the FDT blob:
+You should see output similar to the following:
-At this prompt, type the filename "juno.dtb" and press the enter key. The system may take some time to save the configuration. After which, you will be returned to the Boot Menu:
+bc. EFI stub: Booting Linux Kernel...
+[ 0.000000] Initializing cgroup subsys cpu
+[ 0.000000] Linux version 3.10.63.0-1-linaro-lt-vexpress64 (buildslave@x86-64-07) (gcc version 4.9.1 20140529 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.08 - Linaro GCC 4.9-2014.08) ) #1ubuntu1~ci+150108070554 SMP Thu Jan 8 07:06:44 UTC 2015
+[ 0.000000] CPU: AArch64 Processor [410fd030] revision 0
+[ 0.000000] Machine: Juno
-bc. [1] Add Boot Device Entry
-[2] Update Boot Device Entry
-[3] Remove Boot Device Entry
-[4] Reorder Boot Device Entries
-[5] Update FDT path
-[6] Set Boot Timeout
-[7] Return to main menu
-
-At this point, we have completed our configuration and we can return to the main menu by selecting option 7 "Return to main menu". To select option 7, press the 7 key and press enter.
-
-Once you are back at the main menu, you will see that the selection of Boot Devices has now changed. On our test system, the selection looked like this:
-
-bc. [1] Linux on USB
-[2] Shell
-[3] Boot Manager
-Start:
+One important part of the output is the Linux version, shown above as 3.10.55-05826-g893bc6c. It is critical that you ensure you are booting Linux version 3.10.55-05826-g893bc6c. If you are not, it may be that you have mis-cofigured your system and you should revise your configuration by repeating the steps above.
-Where option 1, "Linux on USB" was the Boot Device Entry that we created by following the instructions above.
-You should now choose this option to boot from your USB drive. When booting, you will see output similar to this:
+h2. Automating the EFI Shell boot command
-bc. [1] Linux on USB
-[2] Shell
-[3] Boot Manager
-Start: 1
- PEI 217 ms
- DXE 48 ms
- BDS 3086 ms
-Total Time = 3352 ms
-[ 0.000000] Initializing cgroup subsys cpu
-[ 0.000000] Linux version 3.10.55-05826-g893bc6c (jenkins-build@ip-10-40-95-198) (gcc version 4.9.x-google 20140827 (prerelease) (GCC) ) #1 SMP Sat Oct 25 17:59:15 UTC 2014
-[ 0.000000] CPU: AArch64 Processor [410fd030] revision 0
-[ 0.000000] Machine: Juno
+You can create a file in the boot partition of your disk image called /boot/EFI/startup.nsh. This is an EFI Shell script where you can place the command you use to launch the kernel. For example, I inserted my USB stick into my host Ubuntu maching, mounted the boot partition and did the following:
-One important part of the output is the Linux version, shown above as 3.10.55-05826-g893bc6c. It is critical that you ensure you are booting Linux version 3.10.55-05826-g893bc6c. If you are not, it may be that you have mis-cofigured your system and you should revise your configuration by repeating the steps above.
+bc. mkdir -p <mount point of boot partition>/EFI/boot
+echo "kernel dtb=juno.dtb initrd=ramdisk.img console=ttyAMA0,115200 selinux=0" > <mount point of boot partition>/EFI/boot/startup.nsh
-note: it is normal for the BDS to show a excessively long time to load the images. This is a known intermittent bug. It did not take such a long time to load.
+Then I unmounted the boot partition and inserted the USB drive into the Juno board. From this point on, the board will boot directly into the kernel without intervention from the user.
h2. Restoring the default UEFI configuration
diff --git a/members/arm/openembedded/juno-lsk/INSTALL.textile b/members/arm/openembedded/juno-lsk/INSTALL.textile
index 4fadf95..c19e40c 100644
--- a/members/arm/openembedded/juno-lsk/INSTALL.textile
+++ b/members/arm/openembedded/juno-lsk/INSTALL.textile
@@ -182,70 +182,25 @@ bc. [1] Add Boot Device Entry
[6] Set Boot Timeout
[7] Return to main menu
Choice: 1
-[1] Firmware Volume (0 MB)
-[2] Firmware Volume (0 MB)
-[3] NOR Flash (63 MB)
-[4] VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
-[5] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
-[6] PXE on MAC Address: 00:02:F7:00:57:DD
-[7] TFTP on MAC Address: 00:02:F7:00:57:DD
-Select the Boot Device:
-
-As you will see in the example above, there is no partition named "boot" available to the user. If this happens, press the @ESC@ key to exit the "Select the Boot Device" option and return to the Boot Menu. From the Boot Menu, please select option 1 again. The example below shows how this looked on our test system, your results may differ:
-
-bc. [1] Add Boot Device Entry
-[2] Update Boot Device Entry
-[3] Remove Boot Device Entry
-[4] Reorder Boot Device Entries
-[5] Update FDT path
-[6] Set Boot Timeout
-[7] Return to main menu
-Choice: 1
[1] Firmware Volume (4068 MB)
[2] Firmware Volume (4068 MB)
[3] NOR Flash (63 MB)
-[4] boot (67 MB)
-[5] VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
-[6] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
-[7] PXE on MAC Address: 00:02:F7:00:57:DD
-[8] TFTP on MAC Address: 00:02:F7:00:57:DD
+[4] boot (131 MB)
+[5] sdcard (13585 MB)
+[6] VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
+[7] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
+[8] PXE on MAC Address: 00:02:F7:00:57:DD
+[9] TFTP on MAC Address: 00:02:F7:00:57:DD
Select the Boot Device:
-As you will see, the menu option @"boot"@ has now appeared, allowing us to select the partition named "boot" on the USB drive. In the example above, the partition named "boot" is option 4. Your system may show a different option for the partition named boot on your USB drive. Please examine the menu and choose the appropriate option.
-
-Once you have choosen the Boot Device, you will be prompted for the configuration of that Boot Device.
-
-The first quesion will ask for the file path of the kernel, thus:
-
-bc. File path of the EFI Application or the kernel:
-
-When configuring a system to boot OpenEmbedded, you enter the file path of the kernel as "Image" without the quotes and followed by the enter key, for this is the filename of the kernel in the boot partition on the USB drive.
-
-Next you will be prompted if the kernel has Flattened Device Tree support:
-
-bc. Has FDT support? [y/n]
-
-The answer is yes, so please press the "y" key followed by enter. Next you will be asked if you wish to configure an "initrd" for your system:
-
-bc. Add an initrd: [y/n]
-
-The answer is no, so please press the "n" key followed by enter.
-
-After this you will be asked to supply the arguments required to boot the kernel:
-
-bc. Arguments to pass to the binary:
-
-Please note, copy and paste does not work well over the serial terminal. The user is advised to type the commandline arguments by hand, character at a time, followed by the enter key. The commandline used is shown below:
-
-bc. console=ttyAMA0,115200 rootwait root=/dev/sda2
-
-Finally, after entering the commandline, the final question is simply asking for a title that will appear in the Boot Menu:
-
-bc. Description for this new Entry:
+At this point you select the first of the "Firmware Volume" options from the list. In the example above, this is option 1, so press the 1 key and press enter:
-You may enter a simple string of alphanumberic characters use to represent the name of this Boot Device. On our example system, we chose to type the string "Linux on USB", without the quotes, followed by pressing the enter key.
+bc. File path of the EFI Application or the kernel: Shell.efi
+Is your application an OS loader? [y/n] y
+Arguments to pass to the EFI Application:
+Description for this new Entry: Run Shell on boot
-After entering the description string, you will then be returned to the boot menu:
+Once the new entry is saved, you return to the main menu by pressing the 7 key followed by enter:
bc. [1] Add Boot Device Entry
[2] Update Boot Device Entry
@@ -254,64 +209,38 @@ bc. [1] Add Boot Device Entry
[5] Update FDT path
[6] Set Boot Timeout
[7] Return to main menu
+Choice:7
-It may take a long time, perhaps over a minute for UEFI to save the Boot Device Entry.
+From the main menu, you select option 1 to run the EFI Shell:
-After you have configured the Boot Device Entry, next you must configure the Flattened Device Tree (FDT) path. You do this by selecting the option "Update FDT path" by pressing the 5 key and pressing enter. As with the Add Boot Device Entry option, next you will be presented with a list of Boot Devices that can host the FDT file. On our test system, the list looked like this:
-
-bc. [1] Firmware Volume (4068 MB)
-[2] Firmware Volume (4068 MB)
-[3] NOR Flash (63 MB)
-[4] boot (67 MB)
-[5] VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
-[6] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
-[7] PXE on MAC Address: 00:02:F7:00:57:DD
-[8] TFTP on MAC Address: 00:02:F7:00:57:DD
-
-Choose the option that corresponds to the partition named "boot" on your system. In the example above, this is option 4. Enter the option number and press the enter key. You will then be prompted for the file path for the FDT file:
-
-bc. File path of the FDT blob:
-
-At this prompt, type the filename "juno\juno.dtb" and press the enter key. Please note, the string contains a Windows style backslash, not a Unix style forward slash. The system may take some time to save the configuration. After which, you will be returned to the Boot Menu:
-
-bc. [1] Add Boot Device Entry
-[2] Update Boot Device Entry
-[3] Remove Boot Device Entry
-[4] Reorder Boot Device Entries
-[5] Update FDT path
-[6] Set Boot Timeout
-[7] Return to main menu
-
-At this point, we have completed our configuration and we can return to the main menu by selecting option 7 "Return to main menu". To select option 7, press the 7 key and press enter.
-
-Once you are back at the main menu, you will see that the selection of Boot Devices has now changed. On our test system, the selection looked like this:
-
-bc. [1] Linux on USB
+bc. [1] Run Shell on boot
[2] Shell
[3] Boot Manager
-Start:
+Choice:1
-Where option 1, "Linux on USB" was the Boot Device Entry that we created by following the instructions above.
+Once the EFI Shell is running, you will see a countdown. Press the ESC key to abort this countdown. Then, at the "Shell>" prompt, you can launch the kernel from the commandline, by typing the following command:
-You should now choose this option to boot from your USB drive. When booting, you will see output similar to this:
+bc. Image dtb=juno/juno.dtb console=ttyAMA0,115200 rootwait root=/dev/sda2
-bc. [1] Linux on USB
-[2] Shell
-[3] Boot Manager
-Start: 1
- PEI 217 ms
- DXE 48 ms
- BDS 368934797873 ms
- BDS 3650 ms
-Total Time = 368934801789 ms
+You should see output similar to the following:
+
+bc. EFI stub: Booting Linux Kernel...
[ 0.000000] Initializing cgroup subsys cpu
-[ 0.000000] Linux version 3.10.55.0-1-linaro-lt-vexpress64 (buildslave@x86-64-07) (gcc version 4.8.3 20140401 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2014.04 - Linaro GCC 4.8-2014.04) ) #1ubuntu1~ci+141022094025 SMP Wed Oct 22 09:41:06 UTC 2014
+[ 0.000000] Linux version 3.10.63.0-1-linaro-lt-vexpress64 (buildslave@x86-64-07) (gcc version 4.9.1 20140529 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.08 - Linaro GCC 4.9-2014.08) ) #1ubuntu1~ci+150108070554 SMP Thu Jan 8 07:06:44 UTC 2015
[ 0.000000] CPU: AArch64 Processor [410fd030] revision 0
[ 0.000000] Machine: Juno
-One important part of the output is the Linux version, shown above as 3.10.55.0-1-linaro-lt-vexpress64. It is critical that you ensure you are booting Linux version 3.10.55.0-1-linaro-lt-vexpress64. If you are not, it may be that you have mis-cofigured your system and you should revise your configuration by repeating the steps above.
+One important part of the output is the Linux version, shown above as 3.10.55-05826-g893bc6c. It is critical that you ensure you are booting Linux version 3.10.55-05826-g893bc6c. If you are not, it may be that you have mis-cofigured your system and you should revise your configuration by repeating the steps above.
+
+
+h2. Automating the EFI Shell boot command
+
+You can create a file in the boot partition of your disk image called /boot/EFI/startup.nsh. This is an EFI Shell script where you can place the command you use to launch the kernel. For example, I inserted my USB stick into my host Ubuntu maching, mounted the boot partition and did the following:
+
+bc. mkdir -p <mount point of boot partition>/EFI/boot
+echo "Image dtb=juno/juno.dtb console=ttyAMA0,115200 rootwait root=/dev/sda2" > <mount point of boot partition>/EFI/boot/startup.nsh
-note: it is normal for the BDS to show a excessively long time to load the images. This is a known intermittent bug. It did not take such a long time to load.
+Then I unmounted the boot partition and inserted the USB drive into the Juno board. From this point on, the board will boot directly into the kernel without intervention from the user.
h2. Restoring the default UEFI configuration