@@ -17,7 +17,7 @@ This Repository provides a Linux Boot Image(U-boot, Kernel, Root-fs) for FPGA-So
1717 + Build for ZYBO and DE0-Nano-SoC
1818 + Customized boot by uEnv.txt
1919 + Customized boot by boot.scr
20- * Linux Kernel Version v4.4.7
20+ * Linux Kernel Version v4.8.17
2121 + Available in both Xilinx-Zynq-7000 and Altera-SoC in a single image
2222 + Enable Device Tree Overlay
2323 + Enable FPGA Manager
@@ -51,16 +51,18 @@ shell$ git lfs pull origin master
5151
5252 * tareget/zynq-zybo/
5353 + boot/
54- - boot.bin : Stage 1 Boot Loader(U-boot-spl)
55- - design_1_wrapper.bit : FPGA configuration file (Xilinx Bitstream Format)
56- - u-boot.img : Stage 2 Boot Loader(U-boot)
57- - uEnv.txt : U-Boot environment variables for linux boot
58- - zImage-4.4.7-armv7-fpga : Linux Kernel Image
59- - devicetree-4.4.7-zynq-zybo.dtb : Linux Device Tree Blob
60- - devicetree-4.4.7-zynq-zybo.dts : Linux Device Tree Source
61- + examples-001.tgz : Examples Programs (use Git LFS)
62- * debian8-rootfs-vanilla.tgz : Debian8 Root File System (use Git LFS)
63- * fpga-soc-linux-drivers-4.4.7-armv7-fpga_0.0.2-1_armhf.deb : Device Drivers Package (use Git LFS)
54+ - boot.bin : Stage 1 Boot Loader(U-boot-spl)
55+ - design_1_wrapper.bit : FPGA configuration file (Xilinx Bitstream Format)
56+ - u-boot.img : Stage 2 Boot Loader(U-boot)
57+ - uEnv.txt : U-Boot environment variables for linux boot
58+ - zImage-4.8.17-armv7-fpga : Linux Kernel Image
59+ - devicetree-4.8.17-zynq-zybo.dtb : Linux Device Tree Blob
60+ - devicetree-4.8.17-zynq-zybo.dts : Linux Device Tree Source
61+ + examples-001.tgz : Examples Programs (use Git LFS)
62+ * debian8-rootfs-vanilla.tgz : Debian8 Root File System (use Git LFS)
63+ * linux-image-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb : Linux Image Package
64+ * linux-headers-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb : Linux Headers Package
65+ * fpga-soc-linux-drivers-4.8.17-armv7-fpga_0.0.2-1_armhf.deb : Device Drivers Package (use Git LFS)
6466
6567#### Format SD-Card
6668
@@ -78,10 +80,12 @@ shell# mkfs.ext3 /dev/sdc2
7880````
7981shell# mount /dev/sdc1 /mnt/usb1
8082shell# mount /dev/sdc2 /mnt/usb2
81- shell# cp target/zynq-zybo/boot/* /mnt/usb1
82- shell# tar xfz debian8-rootfs-vanilla.tgz -C /mnt/usb2
83- shell# cp fpga-soc-linux-drivers-4.4.7-armv7-fpga_0.0.2-1_armhf.deb /mnt/usb2/home/fpga
84- shell# tar xfz target/zynq-zybo/examples-001.tgz -C /mnt/usb2/home/fpga
83+ shell# cp target/zynq-zybo/boot/* /mnt/usb1
84+ shell# tar xfz debian8-rootfs-vanilla.tgz -C /mnt/usb2
85+ shell# cp linux-image-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb /mnt/usb2/home/fpga
86+ shell# cp linux-headers-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb /mnt/usb2/home/fpga
87+ shell# cp fpga-soc-linux-drivers-4.8.17-armv7-fpga_0.0.2-1_armhf.deb /mnt/usb2/home/fpga
88+ shell# tar xfz target/zynq-zybo/examples-001.tgz -C /mnt/usb2/home/fpga
8589shell# umount mnt/usb1
8690shell# umount mnt/usb2
8791````
@@ -100,16 +104,18 @@ shell$ git lfs pull origin master
100104
101105 * target/de0-nano-soc/
102106 + boot/
103- - DE0_NANO_SOC.rbf : FPGA configuration file (Raw Binary Format)
104- - uEnv.txt : U-Boot environment variables for linux boot
105- - zImage-4.4.7 -armv7-fpga : Linux Kernel Image
106- - devicetree-4.4.7 -socfpga.dtb : Linux Device Tree Blob
107- - devicetree-4.4.7 -socfpga.dts : Linux Device Tree Source
107+ - DE0_NANO_SOC.rbf : FPGA configuration file (Raw Binary Format)
108+ - uEnv.txt : U-Boot environment variables for linux boot
109+ - zImage-4.8.17 -armv7-fpga : Linux Kernel Image
110+ - devicetree-4.8.17 -socfpga.dtb : Linux Device Tree Blob
111+ - devicetree-4.8.17 -socfpga.dts : Linux Device Tree Source
108112 + u-boot/
109- - u-boot-spl.sfp : Stage 1 Boot Loader(U-boot-spl)
110- - u-boot.img : Stage 2 Boot Loader(U-boot)
111- * debian8-rootfs-vanilla.tgz : Debian8 Root File System (use Git LFS)
112- * fpga-soc-linux-drivers-4.4.7-armv7-fpga_0.0.2-1_armhf.deb : Device Drivers Package (use Git LFS)
113+ - u-boot-spl.sfp : Stage 1 Boot Loader(U-boot-spl)
114+ - u-boot.img : Stage 2 Boot Loader(U-boot)
115+ * debian8-rootfs-vanilla.tgz : Debian8 Root File System (use Git LFS)
116+ * linux-image-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb : Linux Image Package
117+ * linux-headers-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb : Linux Headers Package
118+ * fpga-soc-linux-drivers-4.8.17-armv7-fpga_0.0.2-1_armhf.deb : Device Drivers Package (use Git LFS)
113119
114120#### Format SD-Card
115121
@@ -130,8 +136,10 @@ shell# mount /dev/sdc2 /mnt/usb2
130136shell# cp target/de0-nano-soc/boot/* /mnt/usb1
131137shell# dd if=target/de0-nano-soc/u-boot/u-boot-spl.sfp of=/dev/sdc3 bs=64k seek=0
132138shell# dd if=target/de0-nano-soc/u-boot/u-boot.img of=/dev/sdc3 bs=64k seek=4
133- shell# tar xfz debian8-rootfs-vanilla.tgz -C /mnt/usb2
134- shell# cp fpga-soc-linux-drivers-4.4.7-armv7-fpga_0.0.2-1_armhf.deb /mnt/usb2/home/fpga
139+ shell# tar xfz debian8-rootfs-vanilla.tgz -C /mnt/usb2
140+ shell# cp linux-image-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb /mnt/usb2/home/fpga
141+ shell# cp linux-headers-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb /mnt/usb2/home/fpga
142+ shell# cp fpga-soc-linux-drivers-4.8.17-armv7-fpga_0.0.2-1_armhf.deb /mnt/usb2/home/fpga
135143shell# umount mnt/usb1
136144shell# umount mnt/usb2
137145````
@@ -161,14 +169,14 @@ Load Address: 00000000
161169Entry Point: 00000000
162170Contents:
163171 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
172+ cp ../zynq-zybo/boot/zImage-4.8.17 -armv7-fpga boot/zImage-4.8.17 -armv7-fpga
165173cp ../zynq-zybo/boot/boot.bin boot/boot.bin
166174cp ../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
175+ cp ../zynq-zybo/boot/devicetree-4.8.17 -zynq-zybo.dtb boot/devicetree-4.8.17 -zynq-zybo.dtb
176+ cp ../zynq-zybo/boot/devicetree-4.8.17 -zynq-zybo.dtb boot/devicetree-4.8.17 -zynq-zybo.dts
169177cp ../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
178+ cp ../de0-nano-soc//boot/devicetree-4.8.17 -socfpga.dtb boot/devicetree-4.8.17 -socfpga.dtb
179+ cp ../de0-nano-soc//boot/devicetree-4.8.17 -socfpga.dts boot/devicetree-4.8.17 -socfpga.dts
172180cp ../de0-nano-soc//boot/DE0_NANO_SOC.rbf boot/DE0_NANO_SOC.rbf
173181cp ../de0-nano-soc//u-boot/u-boot-spl.sfp u-boot/u-boot-spl.sfp
174182cp ../de0-nano-soc//u-boot/u-boot.img u-boot/u-boot.img
@@ -178,23 +186,25 @@ cp ../de0-nano-soc//u-boot/u-boot.img u-boot/u-boot.img
178186
179187 * tareget/zynq-zybo-de0-nano-soc/
180188 + boot/
181- - boot.bin : Stage 1 Boot Loader (for ZYBO U-boot-spl)
182- - u-boot.img : Stage 2 Boot Loader (for ZYBO U-boot image)
183- - uEnv.txt : U-Boot environment variables for set kernel version
184- - boot.script : U-Boot boot script (source)
185- - boot.scr : U-Boot boot script (binary)
186- - design_1_wrapper.bit : FPGA configuration file (for ZYBO)
187- - DE0_NANO_SOC.rbf : FPGA configuration file (for DE0-Nano-SoC)
188- - zImage-4.4.7 -armv7-fpga : Linux Kernel Image
189- - devicetree-4.4.7 -zynq-zybo.dtb : Linux Device Tree Blob (for ZYBO)
190- - devicetree-4.4.7 -zynq-zybo.dts : Linux Device Tree Source (for ZYBO)
191- - devicetree-4.4.7 -socfpga.dtb : Linux Device Tree Blob (for DE0-Nano-SoC)
192- - devicetree-4.4.7 -socfpga.dts : Linux Device Tree Source (for DE0-Nano-SoC)
189+ - boot.bin : Stage 1 Boot Loader (for ZYBO U-boot-spl)
190+ - u-boot.img : Stage 2 Boot Loader (for ZYBO U-boot image)
191+ - uEnv.txt : U-Boot environment variables for set kernel version
192+ - boot.script : U-Boot boot script (source)
193+ - boot.scr : U-Boot boot script (binary)
194+ - design_1_wrapper.bit : FPGA configuration file (for ZYBO)
195+ - DE0_NANO_SOC.rbf : FPGA configuration file (for DE0-Nano-SoC)
196+ - zImage-4.8.17 -armv7-fpga : Linux Kernel Image
197+ - devicetree-4.8.17 -zynq-zybo.dtb : Linux Device Tree Blob (for ZYBO)
198+ - devicetree-4.8.17 -zynq-zybo.dts : Linux Device Tree Source (for ZYBO)
199+ - devicetree-4.8.17 -socfpga.dtb : Linux Device Tree Blob (for DE0-Nano-SoC)
200+ - devicetree-4.8.17 -socfpga.dts : Linux Device Tree Source (for DE0-Nano-SoC)
193201 + u-boot/
194- - u-boot-spl.sfp : Stage 1 Boot Loader (for DE0-Nano-SoC U-boot-spl)
195- - u-boot.img : Stage 2 Boot Loader (for DE0-Nano-SoC U-boot image)
196- * debian8-rootfs-vanilla.tgz : Debian8 Root File System (use Git LFS)
197- * fpga-soc-linux-drivers-4.4.7-armv7-fpga_0.0.2-1_armhf.deb : Device Drivers Package (use Git LFS)
202+ - u-boot-spl.sfp : Stage 1 Boot Loader (for DE0-Nano-SoC U-boot-spl)
203+ - u-boot.img : Stage 2 Boot Loader (for DE0-Nano-SoC U-boot image)
204+ * debian8-rootfs-vanilla.tgz : Debian8 Root File System (use Git LFS)
205+ * linux-image-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb : Linux Image Package
206+ * linux-headers-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb : Linux Headers Package
207+ * fpga-soc-linux-drivers-4.8.17-armv7-fpga_0.0.2-1_armhf.deb : Device Drivers Package (use Git LFS)
198208
199209#### Format SD-Card
200210
@@ -212,11 +222,13 @@ shell# mkfs.ext3 /dev/sdc2
212222````
213223shell# mount /dev/sdc1 /mnt/usb1
214224shell# mount /dev/sdc2 /mnt/usb2
215- shell# cp target/zynq-zybo-de0-nano-soc/boot/* /mnt/usb1
225+ shell# cp target/zynq-zybo-de0-nano-soc/boot/* /mnt/usb1
216226shell# dd if=target/zynq-zybo-de0-nano-soc/u-boot/u-boot-spl.sfp of=/dev/sdc3 bs=64k seek=0
217227shell# dd if=target/zynq-zybo-de0-nano-soc/u-boot/u-boot.img of=/dev/sdc3 bs=64k seek=4
218- shell# tar xfz debian8-rootfs-vanilla.tgz -C /mnt/usb2
219- shell# cp fpga-soc-linux-drivers-4.4.7-armv7-fpga_0.0.2-1_armhf.deb /mnt/usb2/home/fpga
228+ shell# tar xfz debian8-rootfs-vanilla.tgz -C /mnt/usb2
229+ shell# cp linux-image-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb /mnt/usb2/home/fpga
230+ shell# cp linux-headers-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb /mnt/usb2/home/fpga
231+ shell# cp fpga-soc-linux-drivers-4.8.17-armv7-fpga_0.0.2-1_armhf.deb /mnt/usb2/home/fpga
220232shell# umount mnt/usb1
221233shell# umount mnt/usb2
222234````
@@ -241,10 +253,17 @@ Password:
241253root@debian-fpga:~#
242254```
243255
256+ #### Install Linux Headers Package
257+
258+ ```
259+ fpga@debian-fpga:~$ sudo dpkg -i linux-image-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb
260+ fpga@debian-fpga:~$ sudo dpkg -i linux-headers-4.8.17-armv7-fpga_4.8.17-armv7-fpga-1_armhf.deb
261+ ```
262+
244263#### Install Debian Package
245264
246265```
247- fpga@debian-fpga:~$ sudo dpkg -i fpga-soc-linux-drivers-4.4.7 -armv7-fpga_0.0.2-1_armhf.deb
266+ fpga@debian-fpga:~$ sudo dpkg -i fpga-soc-linux-drivers-4.8.17 -armv7-fpga_0.0.2-1_armhf.deb
248267Selecting previously unselected package fpga-soc-linux-drivers.
249268(Reading database ... 17830 files and directories currently installed.)
250269Preparing to unpack fpga-soc-linux-drivers_0.0.2-1_armhf.deb ...
@@ -809,30 +828,30 @@ There are two ways
809828##### Clone from linux-stable.git
810829
811830```
812- shell$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.4.7 -armv7-fpga
831+ shell$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.8.17 -armv7-fpga
813832```
814833
815- ##### Checkout v4.4.7
834+ ##### Checkout v4.8.17
816835
817836```
818- shell$ cd linux-4.4.7 -armv7-fpga
819- shell$ git checkout -b linux-4.4.7 -armv7-fpga refs/tags/v4.4.7
837+ shell$ cd linux-4.8.17 -armv7-fpga
838+ shell$ git checkout -b linux-4.8.17 -armv7-fpga refs/tags/v4.8.17
820839```
821840
822841#### Patch for armv7-fpga
823842
824843```
825- shell$ patch -p0 < ../files/linux-4.4.7 -armv7-fpga.diff
844+ shell$ patch -p0 < ../files/linux-4.8.17 -armv7-fpga.diff
826845shell$ git add --update
827846shell$ git add arch/arm/configs/armv7_fpga_defconfig
828847shell$ git commit -m "patch for armv7-fpga"
829- shell$ git tag -a v4.4.7 -armv7-fpga -m "relase v4.4.7 -armv7-fpga"
848+ shell$ git tag -a v4.8.17 -armv7-fpga -m "relase v4.8.17 -armv7-fpga"
830849```
831850
832851#### Setup for Build
833852
834853````
835- shell$ cd linux-4.4.7 -armv7-fpga
854+ shell$ cd linux-4.8.17 -armv7-fpga
836855shell$ export ARCH=arm
837856shell$ export CROSS_COMPILE=arm-linux-gnueabihf-
838857shell$ make armv7_fpga_defconfig
@@ -849,17 +868,17 @@ shell$ make socfpga_cyclone5_de0_sockit.dtb
849868#### Copy zImage and devicetree to target/zybo-zynq/boot/
850869
851870```
852- shell$ cp arch/arm/boot/zImage ../target/zynq-zybo/boot/zImage-4.4.7 -armv7-fpga
853- shell$ cp arch/arm/boot/dts/zynq-zybo.dtb ../target/zynq-zybo/boot/devicetree-4.4.7 -zynq-zybo.dtb
854- shell$ dtc -I dtb -O dts -o ../target/zynq-zybo/boot/devicetree-4.4.7 -zynq-zybo.dts arch/arm/boot/dts/zynq-zybo.dtb
871+ shell$ cp arch/arm/boot/zImage ../target/zynq-zybo/boot/zImage-4.8.17 -armv7-fpga
872+ shell$ cp arch/arm/boot/dts/zynq-zybo.dtb ../target/zynq-zybo/boot/devicetree-4.8.17 -zynq-zybo.dtb
873+ shell$ dtc -I dtb -O dts -o ../target/zynq-zybo/boot/devicetree-4.8.17 -zynq-zybo.dts arch/arm/boot/dts/zynq-zybo.dtb
855874```
856875
857876#### Copy zImage and devicetree to target/de0-nano-soc/boot/
858877
859878```
860- shell$ cp arch/arm/boot/zImage ../target/de0-nano-soc/boot/zImage-4.4.7 -armv7-fpga
861- shell$ cp arch/arm/boot/dts/socfpga_cyclone5_de0_sockit.dtb ../target/de0-nano-soc/boot/devicetree-4.4.7 -socfpga.dtb
862- shell$ dtc -I dtb -O dts -o ../target/de0-nano-soc/boot/devicetree-4.4.7 -socfpga.dts arch/arm/boot/dts/socfpga_cyclone5_de0_sockit.dtb
879+ shell$ cp arch/arm/boot/zImage ../target/de0-nano-soc/boot/zImage-4.8.17 -armv7-fpga
880+ shell$ cp arch/arm/boot/dts/socfpga_cyclone5_de0_sockit.dtb ../target/de0-nano-soc/boot/devicetree-4.8.17 -socfpga.dtb
881+ shell$ dtc -I dtb -O dts -o ../target/de0-nano-soc/boot/devicetree-4.8.17 -socfpga.dts arch/arm/boot/dts/socfpga_cyclone5_de0_sockit.dtb
863882```
864883
865884### Build Debian8 RootFS
@@ -876,12 +895,12 @@ shell$ export distro=jessie
876895
877896```
878897shell$ mkdir $targetdir
879- shell$ sudo debootstrap --arch=armhf --foreign $distro $targetdir
880- shell$ sudo cp /usr/bin/qemu-arm-static $targetdir/usr/bin
881- shell$ sudo cp /etc/resolv.conf $targetdir/etc
882- shell$ sudo cp scripts/build-debian8-rootfs-with-qemu.sh $targetdir
883- shell$ sudo cp linux-image-4.4.7 -armv7-fpga_4.4.7 -armv7-fpga-1_armhf.deb $targetdir
884- shell$ sudo cp linux-headers-4.4.7 -armv7-fpga_4.4.7 -armv7-fpga-1_armhf.deb $targetdir
898+ shell$ sudo debootstrap --arch=armhf --foreign $distro $targetdir
899+ shell$ sudo cp /usr/bin/qemu-arm-static $targetdir/usr/bin
900+ shell$ sudo cp /etc/resolv.conf $targetdir/etc
901+ shell$ sudo cp scripts/build-debian8-rootfs-with-qemu.sh $targetdir
902+ shell$ sudo cp linux-image-4.8.17 -armv7-fpga_4.8.17 -armv7-fpga-1_armhf.deb $targetdir
903+ shell$ sudo cp linux-headers-4.8.17 -armv7-fpga_4.8.17 -armv7-fpga-1_armhf.deb $targetdir
885904````
886905
887906#### Build debian8-rootfs with QEMU
@@ -1067,7 +1086,7 @@ shell$ git clone https://github.com/ikwzm/PTTY_AXI4
10671086#### Copy Source Files to drivers/
10681087
10691088```
1070- shell$ git archive --remote dtbocfg --prefix=dtbocfg/ --format=tar v0.0.2 | tar xf - -C drivers
1089+ shell$ git archive --remote dtbocfg --prefix=dtbocfg/ --format=tar v0.0.3 | tar xf - -C drivers
10711090shell$ git archive --remote fpgacfg --prefix=fpgacfg/ --format=tar v0.0.1 | tar xf - -C drivers
10721091shell$ git archive --remote fclkcfg --prefix=fclkcfg/ --format=tar v0.0.1 | tar xf - -C drivers
10731092shell$ git archive --remote udmabuf --prefix=udmabuf/ --format=tar v0.5.0 | tar xf - -C drivers
@@ -1078,5 +1097,5 @@ shell$ cd PTTY_AXI4; git checkout v1.0.0; cp -r src/drivers/zptty ../drivers; cd
10781097
10791098```
10801099shell$ cd drivers
1081- shell$ sudo debian/rule binary
1100+ shell$ sudo debian/rules binary
10821101```
0 commit comments