1*4882a593SmuzhiyunARM Juno r1/r0 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunIntro 4*4882a593Smuzhiyun===== 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunThese instructions apply to all models of the ARM Juno: 7*4882a593Smuzhiyun - Juno r0 (does not support PCIe) 8*4882a593Smuzhiyun - Juno r1 (supports PCIe) 9*4882a593Smuzhiyun - Juno r2 (Big Cluster with A72) 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunBuildroot will generate the kernel image, device tree blob, bootloader binaries 12*4882a593Smuzhiyunand a minimal root filesystem. 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunHow to build it 15*4882a593Smuzhiyun=============== 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunConfigure Buildroot 18*4882a593Smuzhiyun------------------- 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunConfiguring Buildroot is pretty simple, just execute: 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun $ make arm_juno_defconfig 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunBuild the rootfs, kernel and DTB 25*4882a593Smuzhiyun-------------------------------- 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunNote: you will need to have access to the network, since Buildroot will 28*4882a593Smuzhiyundownload the packages' sources. 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunYou may now build your rootfs with: 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun $ make 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun(This may take a while) 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunResult of the build 37*4882a593Smuzhiyun------------------- 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunAfter building, you should obtain this tree: 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun output/images/ 42*4882a593Smuzhiyun +-- rootfs.tar 43*4882a593Smuzhiyun +-- juno.dtb (if Juno r0 is used) 44*4882a593Smuzhiyun +-- juno-r1.dtb (if Juno r1 is used) 45*4882a593Smuzhiyun +-- juno-r2.dtb (if Juno r2 is used) 46*4882a593Smuzhiyun +-- Image 47*4882a593Smuzhiyun +-- bl1.bin 48*4882a593Smuzhiyun +-- bl2.bin 49*4882a593Smuzhiyun +-- bl2u.bin 50*4882a593Smuzhiyun +-- bl31.bin 51*4882a593Smuzhiyun +-- fip.bin 52*4882a593Smuzhiyun +-- scp-fw.bin 53*4882a593Smuzhiyun +-- u-boot.bin 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunPreparing your rootfs 56*4882a593Smuzhiyun====================== 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunFormat your pen drive as a ext3 filesystem by executing: 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun $ mkfs.ext3 /dev/<your device> 61*4882a593Smuzhiyun 62*4882a593SmuzhiyunPreparing your rootfs 63*4882a593Smuzhiyun====================== 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunFormat your pen drive as a ext3 filesystem by executing: 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun $ mkfs.ext3 /dev/<your device> 68*4882a593Smuzhiyun 69*4882a593SmuzhiyunInstalling your rootfs 70*4882a593Smuzhiyun====================== 71*4882a593Smuzhiyun 72*4882a593SmuzhiyunAfter mounting the pen drive please execute the following: 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun $ sudo tar -xvf output/images/rootfs.tar -C <pen drive mount path> 75*4882a593Smuzhiyun 76*4882a593SmuzhiyunWhen completed make sure to unmount the device: 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun $ umount <pen drive mount path> 79*4882a593Smuzhiyun 80*4882a593SmuzhiyunInsert the pen drive in one of the ARM Juno' USB type A connectors. 81*4882a593Smuzhiyun 82*4882a593SmuzhiyunConfigure *.dtb in the boot configuration for Juno r0 83*4882a593Smuzhiyun===================================================== 84*4882a593Smuzhiyun 85*4882a593SmuzhiyunSITE1/HBI0262B/images.txt 86*4882a593Smuzhiyun..... 87*4882a593SmuzhiyunNOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 88*4882a593SmuzhiyunNOR3ADDRESS: 0x00C00000 ;Image Flash Address 89*4882a593SmuzhiyunNOR3FILE: \SOFTWARE\juno.dtb ;Image File Name 90*4882a593SmuzhiyunNOR3NAME: board.dtb ;Specify Image name to preserve file extension 91*4882a593SmuzhiyunNOR3LOAD: 00000000 ;Image Load Address 92*4882a593SmuzhiyunNOR3ENTRY: 00000000 ;Image Entry Point 93*4882a593Smuzhiyun...... 94*4882a593Smuzhiyun 95*4882a593SmuzhiyunConfigure *.dtb in the boot configuration for Juno r1 96*4882a593Smuzhiyun===================================================== 97*4882a593Smuzhiyun 98*4882a593SmuzhiyunSITE1/HBI0262C/images.txt 99*4882a593Smuzhiyun...... 100*4882a593SmuzhiyunNOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 101*4882a593SmuzhiyunNOR3ADDRESS: 0x00C00000 ;Image Flash Address 102*4882a593SmuzhiyunNOR3FILE: \SOFTWARE\juno-r1.dtb ;Image File Name 103*4882a593SmuzhiyunNOR3NAME: board.dtb ;Specify target filename to preserve file extension 104*4882a593SmuzhiyunNOR3LOAD: 00000000 ;Image Load Address 105*4882a593SmuzhiyunNOR3ENTRY: 00000000 ;Image Entry Point 106*4882a593Smuzhiyun...... 107*4882a593Smuzhiyun 108*4882a593SmuzhiyunConfigure *.dtb in the boot configuration for Juno r2 109*4882a593Smuzhiyun===================================================== 110*4882a593Smuzhiyun 111*4882a593SmuzhiyunSITE1/HBI0262D/images.txt 112*4882a593Smuzhiyun...... 113*4882a593SmuzhiyunNOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE 114*4882a593SmuzhiyunNOR3ADDRESS: 0x02000000 ;Image Flash Address 115*4882a593SmuzhiyunNOR3FILE: \SOFTWARE\juno-r2.dtb ;Image File Name 116*4882a593SmuzhiyunNOR3NAME: board.dtb ;Specify target filename to preserve file extension 117*4882a593SmuzhiyunNOR3LOAD: 00000000 ;Image Load Address 118*4882a593SmuzhiyunNOR3ENTRY: 00000000 ;Image Entry Point 119*4882a593Smuzhiyun...... 120*4882a593Smuzhiyun 121*4882a593SmuzhiyunInstalling kernel image and DTB 122*4882a593Smuzhiyun=============================== 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun1. Connect to the ARM Juno UART0 and execute USB_ON in the terminal 125*4882a593Smuzhiyun2. Connect a USB cable between your PC and ARM Juno USB type B connector 126*4882a593Smuzhiyun A mass storage device should appear in your desktop. 127*4882a593Smuzhiyun3. Open the software/ folder 128*4882a593Smuzhiyun4. Copy the 'Image' file to software/ 129*4882a593Smuzhiyun5. Copy the 'juno-r1.dtb' (r1), 'juno.dtb' (r0) or juno-r2.dtb (r2) file to software/ 130*4882a593Smuzhiyun6. Copy the bootloader binaries (bl1.bin and fip.bin) to software/ 131*4882a593Smuzhiyun7. Press the red button in the front pannel of ARM Juno 132*4882a593Smuzhiyun 133*4882a593SmuzhiyunAt this time, the board will erase the Flash entry for each new item and 134*4882a593Smuzhiyunreplace it with the lastest ones. 135