@@ -136,6 +136,90 @@ shell# umount mnt/usb1
136136shell# umount mnt/usb2
137137````
138138
139+ ### Dual Boot (ZYBO and DE0-Nano-SoC)
140+
141+ It corresponds to boot of both ZYBO and DE0-Nano-SoC in one SD-Card.
142+
143+ #### Downlowd from github
144+
145+ ```
146+ shell$ git clone git://github.com/ikwzm/FPGA-SoC-Linux
147+ shell$ cd FPGA-SoC-Linux
148+ shell$ git lfs pull origin master
149+ ```
150+ #### Build boot files
151+
152+ ```
153+ shell$ cd target/zynq-zybo-de0-nano-soc/
154+ shell$ make
155+ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "linux boot script" -d boot/boot.script boot/boot.scr
156+ Image Name: linux-4.6.6 boot script
157+ Created: Mon Aug 15 15:30:45 2016
158+ Image Type: ARM Linux Script (uncompressed)
159+ Data Size: 1212 Bytes = 1.18 kB = 0.00 MB
160+ Load Address: 00000000
161+ Entry Point: 00000000
162+ Contents:
163+ Image 0: 1204 Bytes = 1.18 kB = 0.00 MB
164+ cp ../zynq-zybo/boot/zImage-4.4.7-armv7-fpga boot/zImage-4.4.7-armv7-fpga
165+ cp ../zynq-zybo/boot/boot.bin boot/boot.bin
166+ cp ../zynq-zybo/boot/design_1_wrapper.bit boot/design_1_wrapper.bit
167+ cp ../zynq-zybo/boot/devicetree-4.4.7-zynq-zybo.dtb boot/devicetree-4.4.7-zynq-zybo.dtb
168+ cp ../zynq-zybo/boot/devicetree-4.4.7-zynq-zybo.dtb boot/devicetree-4.4.7-zynq-zybo.dts
169+ cp ../zynq-zybo/boot/u-boot.img boot/u-boot.img
170+ cp ../de0-nano-soc//boot/devicetree-4.4.7-socfpga.dtb boot/devicetree-4.4.7-socfpga.dtb
171+ cp ../de0-nano-soc//boot/devicetree-4.4.7-socfpga.dts boot/devicetree-4.4.7-socfpga.dts
172+ cp ../de0-nano-soc//boot/DE0_NANO_SOC.rbf boot/DE0_NANO_SOC.rbf
173+ cp ../de0-nano-soc//u-boot/u-boot-spl.sfp u-boot/u-boot-spl.sfp
174+ cp ../de0-nano-soc//u-boot/u-boot.img u-boot/u-boot.img
175+ ```
176+
177+ #### File Description
178+
179+ * tareget/zynq-zybo/
180+ + boot/
181+ - boot.bin : Stage 1 Boot Loader (for ZYBO U-boot-spl)
182+ - design_1_wrapper.bit : FPGA configuration file (Xilinx Bitstream Format)
183+ - u-boot.img : Stage 2 Boot Loader (for ZYBO U-boot image)
184+ - uEnv.txt : U-Boot environment variables for set kernel version
185+ - boot.script : U-Boot boot script (source)
186+ - boot.scr : U-Boot boot script (binary)
187+ - zImage-4.4.7-armv7-fpga : Linux Kernel Image
188+ - devicetree-4.4.7-zynq-zybo.dtb : Linux Device Tree Blob (for ZYBO)
189+ - devicetree-4.4.7-zynq-zybo.dts : Linux Device Tree Source (for ZYBO)
190+ - devicetree-4.4.7-socfpga.dtb : Linux Device Tree Blob (for DE0-Nano-SoC)
191+ - devicetree-4.4.7-socfpga.dts : Linux Device Tree Source (for DE0-Nano-SoC)
192+ + u-boot/
193+ - u-boot-spl.sfp : Stage 1 Boot Loader (for DE0-Nano-SoC U-boot-spl)
194+ - u-boot.img : Stage 2 Boot Loader (for DE0-Nano-SoC U-boot image)
195+ * debian8-rootfs-vanilla.tgz : Debian8 Root File System (use Git LFS)
196+ * fpga-soc-linux-drivers-4.4.7-armv7-fpga_0.0.2-1_armhf.deb : Device Drivers Package (use Git LFS)
197+
198+ #### Format SD-Card
199+
200+ ````
201+ shell# fdisk /dev/sdc
202+ :
203+ :
204+ :
205+ shell# mkfs-vfat /dev/sdc1
206+ shell# mkfs.ext3 /dev/sdc2
207+ ````
208+
209+ #### Write to SD-Card
210+
211+ ````
212+ shell# mount /dev/sdc1 /mnt/usb1
213+ shell# mount /dev/sdc2 /mnt/usb2
214+ shell# cp target/zynq-zybo-de0-nano-soc/boot/* /mnt/usb1
215+ shell# dd if=target/zynq-zybo-de0-nano-soc/u-boot/u-boot-spl.sfp of=/dev/sdc3 bs=64k seek=0
216+ shell# dd if=target/zynq-zybo-de0-nano-soc/u-boot/u-boot.img of=/dev/sdc3 bs=64k seek=4
217+ shell# tar xfz debian8-rootfs-vanilla.tgz -C /mnt/usb2
218+ shell# cp fpga-soc-linux-drivers-4.4.7-armv7-fpga_0.0.2-1_armhf.deb /mnt/usb2/home/fpga
219+ shell# umount mnt/usb1
220+ shell# umount mnt/usb2
221+ ````
222+
139223### Install Device Drivers
140224
141225#### Boot ZYBO or DE0-Nano-SoC and login fpga or root user
0 commit comments