summaryrefslogtreecommitdiff
path: root/board/odroid-xu4/readme.txt
diff options
context:
space:
mode:
Diffstat (limited to 'board/odroid-xu4/readme.txt')
-rw-r--r--board/odroid-xu4/readme.txt165
1 files changed, 165 insertions, 0 deletions
diff --git a/board/odroid-xu4/readme.txt b/board/odroid-xu4/readme.txt
new file mode 100644
index 000000000..be8113bdc
--- /dev/null
+++ b/board/odroid-xu4/readme.txt
@@ -0,0 +1,165 @@
+Odroid XU-4 board with Samsung Exynos 5422 SoC
+
+Introduction
+------------
+
+The Odroid XU 4 board is developed and shipped by Hrdkernel (hardkernel.com). It
+uses the Samsung Exynos 5422 Soc.
+
+Odroid boot process
+-------------------
+
+The odroid boot process requires three stages of boot plus trust zone:
+
+ boot level 1
+
+ |
+ V
+
+ boot level 2
+
+ |
+ V
+
+ u-boot
+
+and they need to be raw copied to the SD card in the following order:
+
+ +----------------+----------------+
+ | boot level 1 | 1 block |
+ +----------------+----------------+
+ | boot level 2 | 31 block |
+ +----------------+----------------+
+ | u-boot | 63 block |
+ +----------------+----------------+
+ | trust zone | 2111 block |
+ +----------------+----------------+
+ | boot partition | 4096 block |
+ +----------------+----------------+
+ | rootfs | |
+ +----------------+----------------+
+
+How to build buildroot
+----------------------
+
+Forst of all configure the buildroot environment:
+
+ $ make odroid-xu4_defconfig
+
+If needed personalize the build
+
+ $ make menuconfig
+
+then hit
+
+ $ make
+
+At the end of the build you should get in the output/images directory the
+following files:
+
+ - bl1.bin.hardkernel
+ Level 1 boot loader
+
+ - bl2.bin.hardkernel.1mb_uboot
+ Level 2 boot loader
+
+ - exynos5422-odroidxu4.dtb
+ Linux Kernel Device Tree blop
+
+ - rootfs.tar
+ Compressed root file system image
+
+ - tzsw.bin.hardkernel
+ ARM Truzt Zone
+
+ - u-boot.bin
+ u-boot image
+
+ - zImage
+ Linux Kernel Image
+
+Set up the bootloader
+---------------------
+
+I will assume you will use an sd card which will have as mount point /dev/sdb.
+The above images need to be flashed to the SD card to specific addresses, as
+follows:
+
+ # dd if=bl1.bin.hardkernel of=/dev/sdb seek=1 bs=512
+ # dd if=bl2.bin.hardkernel.1mb_uboot of=/dev/sdb seek=31 bs=512
+ # dd if=u-boot.bin of=/dev/sdb seek=63 bs=512
+ # dd if=tzsw.bin.hardkernel of=/dev/sdb seek=2111 bs=512
+
+With the above we should be able to boot up to the u-boot bootloader.
+
+Set up the SD card
+------------------
+
+The SD card will need to partitions, which you can make with your favourite
+partitioner. At the end it should look like this:
+
+Device Boot Start End Sectors Size Id Type
+/dev/sdb1 4096 135167 131072 64M b W95 FAT32
+/dev/sdb2 135168 15523839 15388672 7.3G 83 Linux
+
+IMPORTANT: Please note that the first partition starts at the block 4096 instead
+of the default 2048. This is due to the sizes of the binaries we flased earlier,
+which go over the 2048 block, therefore, you need to start the first partition
+at a further location, e.g. 4096.
+
+Now format the two partitions, the first as vfat FS type, the second as EXT3 or
+EXT4:
+
+ # mkfs.vfat /dev/sdb1
+ # mkfs.ext4 /dev/sdb2
+
+Finalize the SD card
+--------------------
+
+Now it's time to move Kernel and File System to the SD card. We will start from
+the Kernel partition.
+
+First mount it:
+
+ # mount /dev/sdb1/ /mnt/
+
+and copy kernel and dtb
+
+ # cp <buildroot>/output/images/zImage /mnt/
+ # cp <buildroot>/output/images/exynos5422-odroidxu4.dtb /mnt/
+
+umount the partition
+
+ # sync
+ # umount /dev/sdb1
+
+Mount the rootfs partition:
+
+ # mount /dev/sdb2 /mnt/
+ # tar
+ # cp <buildroot>/output/images/rootfs.tar -C /mnt/
+
+Umount the partition
+
+ # sync
+ # umount /dev/sdb2
+
+The SD card is ready, you can boot now your Odroid XU-4.
+
+Automate u-boot commands
+------------------------
+
+In order to avoid customizing u-boot from the u-boot system at boot time, you
+can use the boot.cmd file in board/odroid-xu4.
+
+Jut run
+
+ $ mkimage -A arm -T script -C none -d boot.cmd boot.scr
+
+the output is an u-boot readable binary which needs to be copied in the first
+partition of the SD card:
+
+ # mount /dev/sdb1 /mnt/
+ # cp boot.scr /mnt/sdb1
+ # sync
+ # umount /dev/sdb1