Skip to content

Commit 1c4bfd7

Browse files
committed
[modify] Readme.md
1 parent 7b166af commit 1c4bfd7

File tree

1 file changed

+91
-72
lines changed

1 file changed

+91
-72
lines changed

Readme.md

Lines changed: 91 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -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
````
7981
shell# mount /dev/sdc1 /mnt/usb1
8082
shell# 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
8589
shell# umount mnt/usb1
8690
shell# 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
130136
shell# cp target/de0-nano-soc/boot/* /mnt/usb1
131137
shell# dd if=target/de0-nano-soc/u-boot/u-boot-spl.sfp of=/dev/sdc3 bs=64k seek=0
132138
shell# 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
135143
shell# umount mnt/usb1
136144
shell# umount mnt/usb2
137145
````
@@ -161,14 +169,14 @@ Load Address: 00000000
161169
Entry Point: 00000000
162170
Contents:
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
165173
cp ../zynq-zybo/boot/boot.bin boot/boot.bin
166174
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
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
169177
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
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
172180
cp ../de0-nano-soc//boot/DE0_NANO_SOC.rbf boot/DE0_NANO_SOC.rbf
173181
cp ../de0-nano-soc//u-boot/u-boot-spl.sfp u-boot/u-boot-spl.sfp
174182
cp ../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
````
213223
shell# mount /dev/sdc1 /mnt/usb1
214224
shell# 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
216226
shell# dd if=target/zynq-zybo-de0-nano-soc/u-boot/u-boot-spl.sfp of=/dev/sdc3 bs=64k seek=0
217227
shell# 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
220232
shell# umount mnt/usb1
221233
shell# umount mnt/usb2
222234
````
@@ -241,10 +253,17 @@ Password:
241253
root@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
248267
Selecting previously unselected package fpga-soc-linux-drivers.
249268
(Reading database ... 17830 files and directories currently installed.)
250269
Preparing 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
826845
shell$ git add --update
827846
shell$ git add arch/arm/configs/armv7_fpga_defconfig
828847
shell$ 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
836855
shell$ export ARCH=arm
837856
shell$ export CROSS_COMPILE=arm-linux-gnueabihf-
838857
shell$ 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
```
878897
shell$ 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
10711090
shell$ git archive --remote fpgacfg --prefix=fpgacfg/ --format=tar v0.0.1 | tar xf - -C drivers
10721091
shell$ git archive --remote fclkcfg --prefix=fclkcfg/ --format=tar v0.0.1 | tar xf - -C drivers
10731092
shell$ 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
```
10801099
shell$ cd drivers
1081-
shell$ sudo debian/rule binary
1100+
shell$ sudo debian/rules binary
10821101
```

0 commit comments

Comments
 (0)