xref: /openbmc/u-boot/doc/README.odroid (revision c8322be05790efbc0cee7c5fc14ee683f164dde1)
173eca211SPrzemyslaw Marczak U-boot for Odroid X2/U3
273eca211SPrzemyslaw Marczak========================
373eca211SPrzemyslaw Marczak
473eca211SPrzemyslaw Marczak1. Summary
573eca211SPrzemyslaw Marczak==========
673eca211SPrzemyslaw MarczakThis is a quick instruction for setup Odroid boards based on Exynos4412.
773eca211SPrzemyslaw MarczakBoard config: odroid_config
873eca211SPrzemyslaw Marczak
973eca211SPrzemyslaw Marczak2. Supported devices
1073eca211SPrzemyslaw Marczak====================
1173eca211SPrzemyslaw MarczakThis U-BOOT config can be used on two boards:
1273eca211SPrzemyslaw Marczak- Odroid U3
1373eca211SPrzemyslaw Marczak- Odroid X2
1473eca211SPrzemyslaw Marczakwith CPU Exynos 4412 rev 2.0 and 2GB of RAM
1573eca211SPrzemyslaw Marczak
1673eca211SPrzemyslaw Marczak3. Boot sequence
1773eca211SPrzemyslaw Marczak================
1873eca211SPrzemyslaw MarczakiROM->BL1->(BL2 + TrustZone)->U-BOOT
1973eca211SPrzemyslaw Marczak
2073eca211SPrzemyslaw MarczakThis version of U-BOOT doesn't implement SPL but it is required(BL2)
2173eca211SPrzemyslaw Marczakand can be found in "boot.tar.gz" from here:
2273eca211SPrzemyslaw Marczakhttp://dev.odroid.com/projects/4412boot/wiki/FrontPage?action=download&value=boot.tar.gz
2373eca211SPrzemyslaw Marczakor here:
2473eca211SPrzemyslaw Marczakhttp://odroid.in/guides/ubuntu-lfs/boot.tar.gz
2573eca211SPrzemyslaw Marczak
2673eca211SPrzemyslaw Marczak4. Boot media layout
2773eca211SPrzemyslaw Marczak====================
2873eca211SPrzemyslaw MarczakThe table below shows SD/eMMC cards layout for U-boot.
2973eca211SPrzemyslaw MarczakThe block offset is starting from 0 and the block size is 512B.
3073eca211SPrzemyslaw Marczak -------------------------------------
3173eca211SPrzemyslaw Marczak|  Binary   | Block offset| part type |
3273eca211SPrzemyslaw Marczak|   name    | SD   | eMMC |(eMMC only)|
3373eca211SPrzemyslaw Marczak -------------------------------------
3473eca211SPrzemyslaw Marczak| Bl1       | 1    | 0    |  1 (boot) |
3573eca211SPrzemyslaw Marczak| Bl2       | 31   | 30   |  1 (boot) |
3673eca211SPrzemyslaw Marczak| U-boot    | 63   | 62   |  1 (boot) |
3773eca211SPrzemyslaw Marczak| Tzsw      | 2111 | 2110 |  1 (boot) |
3873eca211SPrzemyslaw Marczak| Uboot Env | 2500 | 2500 |  0 (user) |
3973eca211SPrzemyslaw Marczak -------------------------------------
4073eca211SPrzemyslaw Marczak
4173eca211SPrzemyslaw Marczak5. Prepare the SD boot card - with SD card reader
4273eca211SPrzemyslaw Marczak=================================================
4373eca211SPrzemyslaw MarczakTo prepare bootable media you need boot binaries provided by hardkernel.
4473eca211SPrzemyslaw MarczakFile "boot.tar.gz" (link in point 3.) contains:
4573eca211SPrzemyslaw Marczak- E4412_S.bl1.HardKernel.bin
4673eca211SPrzemyslaw Marczak- E4412_S.tzsw.signed.bin
4773eca211SPrzemyslaw Marczak- bl2.signed.bin
4873eca211SPrzemyslaw Marczak- sd_fusing.sh
4973eca211SPrzemyslaw Marczak- u-boot.bin
5073eca211SPrzemyslaw Marczak
5173eca211SPrzemyslaw MarczakThis is all you need to boot this board. But if you want to use your custom
5273eca211SPrzemyslaw Marczaku-boot then you need to change u-boot.bin with your own u-boot binary*
5373eca211SPrzemyslaw Marczakand run the script "sd_fusing.sh" - this script is valid only for SD card.
5473eca211SPrzemyslaw Marczak
5573eca211SPrzemyslaw Marczak*note:
5673eca211SPrzemyslaw MarczakThe proper binary file of current U-boot is u-boot-dtb.bin.
5773eca211SPrzemyslaw Marczak
5873eca211SPrzemyslaw Marczakquick steps for Linux:
5973eca211SPrzemyslaw Marczak- extract boot.tar.gz
6073eca211SPrzemyslaw Marczak- put any SD card into the SD reader
6173eca211SPrzemyslaw Marczak- check the device with "dmesg"
6273eca211SPrzemyslaw Marczak- run ./sd_fusing.sh /dev/sdX - where X is SD card device (but not a partition)
6373eca211SPrzemyslaw MarczakCheck if Hardkernel U-boot is booting, and next do the same with your U-boot.
6473eca211SPrzemyslaw Marczak
6573eca211SPrzemyslaw Marczak6. Prepare the eMMC boot card
6673eca211SPrzemyslaw Marczak   with a eMMC card reader (boot from eMMC card slot)
6773eca211SPrzemyslaw Marczak=====================================================
6873eca211SPrzemyslaw MarczakTo boot the device from the eMMC slot you should use a special card reader
6973eca211SPrzemyslaw Marczakwhich supports eMMC partiion switch. All of the boot binaries are stored
7073eca211SPrzemyslaw Marczakon the eMMC boot partition which is normally hidden.
7173eca211SPrzemyslaw Marczak
7273eca211SPrzemyslaw MarczakThe "sd_fusing.sh" script can be used after updating offsets of binaries
7373eca211SPrzemyslaw Marczakaccording to the table from point 4. Be sure that you are working on the right
7473eca211SPrzemyslaw MarczakeMMC partition - its size is usually very small, about 1-4 MiB.
7573eca211SPrzemyslaw Marczak
7673eca211SPrzemyslaw Marczak7. Prepare the eMMC boot card
7773eca211SPrzemyslaw Marczak   with a SD card reader (boot from SD card slot)
7873eca211SPrzemyslaw Marczak=================================================
7973eca211SPrzemyslaw MarczakIf you have an eMMC->microSD adapter you can prepare the card as in point 5.
8073eca211SPrzemyslaw MarczakBut then the device can boot only from the SD card slot.
8173eca211SPrzemyslaw Marczak
8273eca211SPrzemyslaw Marczak8. Prepare the boot media using Hardkernel U-boot
8373eca211SPrzemyslaw Marczak=================================================
8473eca211SPrzemyslaw MarczakYou can update the U-boot to the custom one if you have an working bootloader
8573eca211SPrzemyslaw Marczakdelivered with the board on a eMMC/SD card. Then follow the steps:
8673eca211SPrzemyslaw Marczak- install the android fastboot tool
8773eca211SPrzemyslaw Marczak- connect a micro usb cable to the board
8873eca211SPrzemyslaw Marczak- on the U-boot prompt, run command: fastboot (as a root)
8973eca211SPrzemyslaw Marczak- on the host, run command: "fastboot flash bootloader u-boot-dtb.bin"
9073eca211SPrzemyslaw Marczak- the custom U-boot should start after the board resets.
9173eca211SPrzemyslaw Marczak
9273eca211SPrzemyslaw Marczak9. Partition layout
9373eca211SPrzemyslaw Marczak====================
9473eca211SPrzemyslaw MarczakDefault U-boot environment is setup for fixed partiion layout.
9573eca211SPrzemyslaw Marczak
9673eca211SPrzemyslaw MarczakPartition table: MSDOS. Disk layout and files as listed in the table below.
9773eca211SPrzemyslaw Marczak ----- ------ ------ ------ -------- ---------------------------------
9873eca211SPrzemyslaw Marczak| Num | Name |  FS  | Size | Offset |         Reguired files          |
9973eca211SPrzemyslaw Marczak|     |      | Type |  MiB |  MiB   |                                 |
10073eca211SPrzemyslaw Marczak ----- ------ ------ ------ -------- ---------------------------------
10173eca211SPrzemyslaw Marczak|  1  | BOOT | fat  |  100 |   2    |  kernel, fdt**                  |
10273eca211SPrzemyslaw Marczak|  2  | ROOT | ext4 |   -  |        |  any Linux system               |
10373eca211SPrzemyslaw Marczak ----- ------ ------ ------ -------- ---------------------------------
10473eca211SPrzemyslaw Marczak
10573eca211SPrzemyslaw Marczak**note:
10673eca211SPrzemyslaw MarczakSupported fdt files are:
10773eca211SPrzemyslaw Marczak- exynos4412-odroidx2.dtb
10873eca211SPrzemyslaw Marczak- exynos4412-odroidu3.dtb
10973eca211SPrzemyslaw Marczak
11073eca211SPrzemyslaw MarczakSupported kernel files are:
11173eca211SPrzemyslaw Marczak- Image.itb
11273eca211SPrzemyslaw Marczak- zImage
11373eca211SPrzemyslaw Marczak- uImage
11473eca211SPrzemyslaw Marczak
11573eca211SPrzemyslaw MarczakThe default environmental variable "dfu_alt_info" is set* for above layout.
11673eca211SPrzemyslaw MarczakEach partition size is just an example, dfu_alt_info tries init two partitions.
11773eca211SPrzemyslaw MarczakThe size of each is not important.
11873eca211SPrzemyslaw Marczak
11973eca211SPrzemyslaw Marczak*note:
12073eca211SPrzemyslaw Marczak$dfu_alt_info is set on a boot time and it is concatenated using two variables:
12173eca211SPrzemyslaw Marczak- $dfu_alt_boot(set dynamically)
12273eca211SPrzemyslaw Marczak- $dfu_alt_system(from current env).
12373eca211SPrzemyslaw Marczak
12473eca211SPrzemyslaw MarczakTo add any changes to dfu_alt_info - please modify $dfu_alt_system only.
12573eca211SPrzemyslaw MarczakChanges are visible after board reset.
12673eca211SPrzemyslaw Marczak
12773eca211SPrzemyslaw Marczak10. The environment and booting the kernel
12873eca211SPrzemyslaw Marczak==========================================
12973eca211SPrzemyslaw MarczakThere are three macros defined in config for various boot options:
13073eca211SPrzemyslaw MarczakTwo for both, kernel with device tree support and also without it:
13173eca211SPrzemyslaw Marczak- boot_uimg - load uImage
13273eca211SPrzemyslaw Marczak- boot_zimg - load zImage
13373eca211SPrzemyslaw MarczakIf proper fdt file exists then it will be automatically loaded,
13473eca211SPrzemyslaw Marczakso for old kernel types, please remove fdt file from boot partition.
13573eca211SPrzemyslaw Marczak
13673eca211SPrzemyslaw MarczakThe third boot option for multi image support (more info: doc/uImage.FIT/)
13773eca211SPrzemyslaw Marczak- boot_fit - for binary file: "Image.itb"
13873eca211SPrzemyslaw Marczak
13973eca211SPrzemyslaw MarczakDefault boot command: "autoboot"
14073eca211SPrzemyslaw MarczakAnd the boot sequence is:
14173eca211SPrzemyslaw Marczak- boot_fit - if "Image.itb" exists
14273eca211SPrzemyslaw Marczak- boot_zimg - if "zImage" exists
14373eca211SPrzemyslaw Marczak- boot_uimg - if "uImage" exists
144*c8322be0SSuriyan Ramasami
145*c8322be0SSuriyan Ramasami11. USB host support
146*c8322be0SSuriyan Ramasami====================
147*c8322be0SSuriyan Ramasami
148*c8322be0SSuriyan RamasamiThe ethernet can be accessed after starting the USB subsystem in U-Boot.
149*c8322be0SSuriyan RamasamiThe adapter does not come with a preconfigured MAC address, and hence it needs
150*c8322be0SSuriyan Ramasamito be set before starting USB.
151*c8322be0SSuriyan Ramasamisetenv usbethaddr 02:DE:AD:BE:EF:FF
152*c8322be0SSuriyan Ramasami
153*c8322be0SSuriyan RamasamiNote that in this example a locally managed MAC address is chosen. Care should
154*c8322be0SSuriyan Ramasamibe taken to make these MAC addresses unique within the same subnet.
155*c8322be0SSuriyan Ramasami
156*c8322be0SSuriyan RamasamiStart the USB subsystem:
157*c8322be0SSuriyan RamasamiOdroid # setenv usbethaddr 02:DE:AD:BE:EF:FF
158*c8322be0SSuriyan RamasamiOdroid # usb start
159*c8322be0SSuriyan Ramasami(Re)start USB...
160*c8322be0SSuriyan RamasamiUSB0:   USB EHCI 1.00
161*c8322be0SSuriyan Ramasamiscanning bus 0 for devices... 4 USB Device(s) found
162*c8322be0SSuriyan Ramasami       scanning usb for storage devices... 1 Storage Device(s) found
163*c8322be0SSuriyan Ramasami       scanning usb for ethernet devices... 1 Ethernet Device(s) found
164*c8322be0SSuriyan RamasamiOdroid #
165*c8322be0SSuriyan Ramasami
166*c8322be0SSuriyan RamasamiAutomatic IP assignment:
167*c8322be0SSuriyan Ramasami------------------------
168*c8322be0SSuriyan RamasamiIf the ethernet is connected to a DHCP server (router maybe with DHCP enabled),
169*c8322be0SSuriyan Ramasamithen the below will automatically assign an ip address through DHCP.
170*c8322be0SSuriyan Ramasamisetenv autoload no
171*c8322be0SSuriyan Ramasamidhcp
172*c8322be0SSuriyan Ramasami
173*c8322be0SSuriyan RamasamiOdroid # setenv autoload no
174*c8322be0SSuriyan RamasamiOdroid # dhcp
175*c8322be0SSuriyan RamasamiWaiting for Ethernet connection... done.
176*c8322be0SSuriyan RamasamiBOOTP broadcast 1
177*c8322be0SSuriyan RamasamiDHCP client bound to address 192.168.1.10 (524 ms)
178*c8322be0SSuriyan RamasamiOdroid #
179*c8322be0SSuriyan Ramasami
180*c8322be0SSuriyan RamasamiNote that this automatically sets the many IP address related variables in
181*c8322be0SSuriyan RamasamiU-Boot that is obtained from the DHCP server.
182*c8322be0SSuriyan Ramasami
183*c8322be0SSuriyan RamasamiOdroid # printenv ipaddr netmask gatewayip dnsip
184*c8322be0SSuriyan Ramasamiipaddr=192.168.1.10
185*c8322be0SSuriyan Ramasaminetmask=255.255.255.0
186*c8322be0SSuriyan Ramasamigatewayip=192.168.1.1
187*c8322be0SSuriyan Ramasamidnsip=192.168.1.1
188*c8322be0SSuriyan Ramasami
189*c8322be0SSuriyan RamasamiPing example:
190*c8322be0SSuriyan RamasamiThe ping command can be used a test to check connectivity. In this example,
191*c8322be0SSuriyan Ramasami192.168.1.27 is a pingable server in the network.
192*c8322be0SSuriyan RamasamiOdroid # ping 192.168.1.27
193*c8322be0SSuriyan RamasamiWaiting for Ethernet connection... done.
194*c8322be0SSuriyan RamasamiUsing sms0 device
195*c8322be0SSuriyan Ramasamihost 192.168.1.27 is alive
196*c8322be0SSuriyan RamasamiOdroid #
197*c8322be0SSuriyan Ramasami
198*c8322be0SSuriyan RamasamiStatic IP assignment:
199*c8322be0SSuriyan Ramasami---------------------
200*c8322be0SSuriyan RamasamiIn the case where there are no DHCP servers in the network, or you want to
201*c8322be0SSuriyan Ramasamiset the IP address statically, it can be done by:
202*c8322be0SSuriyan RamasamiOdroid # setenv ipaddr 192.168.1.10
203*c8322be0SSuriyan RamasamiOdroid # ping 192.168.1.27
204*c8322be0SSuriyan RamasamiWaiting for Ethernet connection... done.
205*c8322be0SSuriyan RamasamiUsing sms0 device
206*c8322be0SSuriyan Ramasamihost 192.168.1.27 is alive
207*c8322be0SSuriyan Ramasami
208*c8322be0SSuriyan RamasamiTFTP booting:
209*c8322be0SSuriyan Ramasami-------------
210*c8322be0SSuriyan RamasamiSay there exists a tftp server in the network with address 192.168.1.27 and
211*c8322be0SSuriyan Ramasamiit serves a kernel image (zImage.3.17) and a DTB blob (exynos4412-odroidu3.dtb)
212*c8322be0SSuriyan Ramasamithat needs to be loaded and booted. It can be accomplished as below:
213*c8322be0SSuriyan Ramasami(Assumes that you have setenv usbethaddr, and have not set autoload to no)
214*c8322be0SSuriyan Ramasami
215*c8322be0SSuriyan RamasamiOdroid # setenv serverip 192.168.1.27
216*c8322be0SSuriyan RamasamiOdroid # tftpboot 0x40080000 zImage.3.17
217*c8322be0SSuriyan RamasamiWaiting for Ethernet connection... done.
218*c8322be0SSuriyan RamasamiUsing sms0 device
219*c8322be0SSuriyan RamasamiTFTP from server 192.168.1.27; our IP address is 192.168.1.10
220*c8322be0SSuriyan RamasamiFilename 'zImage.3.17'.
221*c8322be0SSuriyan RamasamiLoad address: 0x40080000
222*c8322be0SSuriyan RamasamiLoading: #################################################################
223*c8322be0SSuriyan Ramasami	 #################################################################
224*c8322be0SSuriyan Ramasami	 #################################################################
225*c8322be0SSuriyan Ramasami	 #######################
226*c8322be0SSuriyan Ramasami	 52.7 KiB/s
227*c8322be0SSuriyan Ramasamidone
228*c8322be0SSuriyan RamasamiBytes transferred = 3194200 (30bd58 hex)
229*c8322be0SSuriyan RamasamiOdroid # tftpboot 0x42000000 exynos4412-odroidu3.dtb
230*c8322be0SSuriyan RamasamiWaiting for Ethernet connection... done.
231*c8322be0SSuriyan RamasamiUsing sms0 device
232*c8322be0SSuriyan RamasamiTFTP from server 192.168.1.27; our IP address is 192.168.1.10
233*c8322be0SSuriyan RamasamiFilename 'exynos4412-odroidu3.dtb'.
234*c8322be0SSuriyan RamasamiLoad address: 0x42000000
235*c8322be0SSuriyan RamasamiLoading: ####
236*c8322be0SSuriyan Ramasami	 40 KiB/s
237*c8322be0SSuriyan Ramasamidone
238*c8322be0SSuriyan RamasamiBytes transferred = 46935 (b757 hex)
239*c8322be0SSuriyan RamasamiOdroid # printenv bootargs
240*c8322be0SSuriyan Ramasamibootargs=Please use defined boot
241*c8322be0SSuriyan RamasamiOdroid # setenv bootargs console=ttySAC1,115200n8 root=/dev/mmcblk0p2 rootwait
242*c8322be0SSuriyan RamasamiOdroid # bootz 40080000 - 42000000
243*c8322be0SSuriyan RamasamiKernel image @ 0x40080000 [ 0x000000 - 0x30bd58 ]
244*c8322be0SSuriyan Ramasami## Flattened Device Tree blob at 42000000
245*c8322be0SSuriyan Ramasami   Booting using the fdt blob at 0x42000000
246*c8322be0SSuriyan Ramasami   Loading Device Tree to 4fff1000, end 4ffff756 ... OK
247*c8322be0SSuriyan Ramasami
248*c8322be0SSuriyan RamasamiStarting kernel ...
249*c8322be0SSuriyan Ramasami
250*c8322be0SSuriyan Ramasami[    0.000000] Booting Linux on physical CPU 0xa00
251*c8322be0SSuriyan Ramasami... etc ...
252*c8322be0SSuriyan Ramasami
253*c8322be0SSuriyan RamasamiIn the above example you can substitute 'dhcp' for 'tftpboot' as well.
254*c8322be0SSuriyan Ramasami
255*c8322be0SSuriyan RamasamiUSB Storage booting:
256*c8322be0SSuriyan Ramasami--------------------
257*c8322be0SSuriyan RamasamiSimilarly we can use the USB storage to load the kernel image/initrd/fdt etc
258*c8322be0SSuriyan Ramasamiand boot. For this example, there is a USB drive plugged in. It has a FAT
259*c8322be0SSuriyan Ramasami1st partition and an EXT 2nd partition. Using the generic FS (ls/load) makes
260*c8322be0SSuriyan Ramasamiit even easier to work with FAT/EXT file systems.
261*c8322be0SSuriyan RamasamiFor this example the second EXT partition is used for booting and as rootfs.
262*c8322be0SSuriyan RamasamiThe boot files - kernel and the dtb are present in the /boot directory of the
263*c8322be0SSuriyan Ramasamisecond partition.
264*c8322be0SSuriyan Ramasami
265*c8322be0SSuriyan RamasamiOdroid # usb start
266*c8322be0SSuriyan Ramasami(Re)start USB...
267*c8322be0SSuriyan RamasamiUSB0:   USB EHCI 1.00
268*c8322be0SSuriyan Ramasamiscanning bus 0 for devices... 4 USB Device(s) found
269*c8322be0SSuriyan Ramasami       scanning usb for storage devices... 1 Storage Device(s) found
270*c8322be0SSuriyan Ramasami       scanning usb for ethernet devices...
271*c8322be0SSuriyan RamasamiError: sms0 address not set.		<----- Note the error as usbethaddr
272*c8322be0SSuriyan RamasamiWarning: failed to set MAC address	<----- is not set.
273*c8322be0SSuriyan Ramasami1 Ethernet Device(s) found
274*c8322be0SSuriyan RamasamiOdroid # usb part 0
275*c8322be0SSuriyan Ramasami
276*c8322be0SSuriyan RamasamiPartition Map for USB device 0  --   Partition Type: DOS
277*c8322be0SSuriyan Ramasami
278*c8322be0SSuriyan RamasamiPart	Start Sector	Num Sectors	UUID		Type
279*c8322be0SSuriyan Ramasami  1	3072      	263168    	000c4046-01	06
280*c8322be0SSuriyan Ramasami  2	266240    	13457408  	000c4046-02	83
281*c8322be0SSuriyan Ramasami
282*c8322be0SSuriyan RamasamiOdroid # ls usb 0:2 /boot
283*c8322be0SSuriyan Ramasami<DIR>       4096 .
284*c8322be0SSuriyan Ramasami<DIR>       4096 ..
285*c8322be0SSuriyan Ramasami             353 boot.scr
286*c8322be0SSuriyan Ramasami             281 boot.txt
287*c8322be0SSuriyan Ramasami          101420 config-3.8.13.23
288*c8322be0SSuriyan Ramasami         2127254 initrd.img-3.8.13.23
289*c8322be0SSuriyan Ramasami         2194825 uInitrd
290*c8322be0SSuriyan Ramasami         2194825 uInitrd-3.8.13.23
291*c8322be0SSuriyan Ramasami         2453112 zImage
292*c8322be0SSuriyan Ramasami          101448 config-3.8.13.26
293*c8322be0SSuriyan Ramasami         2127670 uInitrd-3.8.13.26
294*c8322be0SSuriyan Ramasami         2127606 initrd.img-3.8.13.26
295*c8322be0SSuriyan Ramasami         3194200 zImage.3.17                    <--- Kernel
296*c8322be0SSuriyan Ramasami           46935 exynos4412-odroidu3.dtb        <--- DTB
297*c8322be0SSuriyan RamasamiOdroid # load usb 0:2 40080000 /boot/zImage.3.17
298*c8322be0SSuriyan Ramasami3194200 bytes read in 471 ms (6.5 MiB/s)
299*c8322be0SSuriyan RamasamiOdroid # load usb 0:2 42000000 /boot/exynos4412-odroidu3.dtb
300*c8322be0SSuriyan Ramasami46935 bytes read in 233 ms (196.3 KiB/s)
301*c8322be0SSuriyan RamasamiOdroid # setenv bootargs console=ttySAC1,115200n8 root=/dev/sda2 rootwait
302*c8322be0SSuriyan RamasamiOdroid # bootz 40080000 - 42000000
303*c8322be0SSuriyan RamasamiKernel image @ 0x40080000 [ 0x000000 - 0x30bd58 ]
304*c8322be0SSuriyan Ramasami## Flattened Device Tree blob at 42000000
305*c8322be0SSuriyan Ramasami   Booting using the fdt blob at 0x42000000
306*c8322be0SSuriyan Ramasami   Loading Device Tree to 4fff1000, end 4ffff756 ... OK
307*c8322be0SSuriyan Ramasami
308*c8322be0SSuriyan RamasamiStarting kernel ...
309*c8322be0SSuriyan Ramasami
310*c8322be0SSuriyan Ramasami[    0.000000] Booting Linux on physical CPU 0xa00
311*c8322be0SSuriyan Ramasami
312*c8322be0SSuriyan RamasamiPlease refer to README.usb for additional information.
313