9 | | == OpenWrt BSP Branches |
10 | | The Gateworks OpenWrt repository consist of a snapshot of upstream OpenWrt at specific points, with a few additional patches added on top that have not made it upstream yet. Additionally a gateworks directory consisting of various Gateworks tested openwrt config files and flash image creation scripts. The repository can be found on the [https://github.com/Gateworks/openwrt Gateworks GitHub openwrt page]. |
11 | | |
12 | | Our branch naming policy is as follows: |
13 | | * Each new bump of 'master' will cause a new branch to be created: bump date_openwrt revision. This is the bleeding edge OpenWrt software from Gateworks and thus includes Gateworks patches on top. |
14 | | * When we decide to cut a stable release, the branch name will be: last two char of year.numerical month.version |
15 | | * master - **This branch is not recommended to be used**. It only serves as a reference point for the latest dated branch and is missing any patches that Gateworks has that have not been submitted or accepted upstream as well as the Gateworks support scripts and default config files. |
16 | | |
17 | | |
18 | | Our http://github.com/Gateworks/openwrt repository branches currently include: |
19 | | * '''Gateworks 24.01 !OpenWrt Release''' |
20 | | - Is the latest OpenWrt software from Gateworks (**recommended**) |
21 | | - Latest build: http://dev.gateworks.com/openwrt/24.01/ |
22 | | * Please view the .manifest file per target to inspect installed packages + their respective versions |
23 | | - Based on OpenWrt master branch 56d7887917 Jan 18 2024 |
24 | | * Linux 6.1.71 |
25 | | * Wireless drivers from linux Linux 6.5 |
26 | | * busybox-1.36.1 |
27 | | * gcc-12.3.0 |
28 | | * binutils-2.40 |
29 | | * libc: musl-fts-1.2.7 |
30 | | - General: |
31 | | * Added Venice IMX8MP support |
32 | | * Updated kernel and drivers |
33 | | - Venice: |
34 | | * squashfs+f2fs overlay for sysupgrade/factory-reset support |
35 | | - Newport: |
36 | | * squashfs+f2fs overlay for sysupgrade/factory-reset support |
37 | | - Ventana: |
38 | | * squashfs+ubifs and squashfs+f2fs overlay for sysupgrade/factory-reset support |
39 | | - revision log: https://github.com/Gateworks/openwrt/commits/24.01 |
40 | | * '''Gateworks 23.03 !OpenWrt Release''' |
41 | | - Latest build: http://dev.gateworks.com/openwrt/23.03/ |
42 | | * Please view the .manifest file per target to inspect installed packages + their respective versions |
43 | | - Based on OpenWrt master branch 7dceef5ee554 Mar 14 2023 |
44 | | * Linux 5.15.98 |
45 | | * Wireless drivers from linux backports-6.1-rc8 |
46 | | * busybox-1.36.0 |
47 | | * gcc-12.2.0 |
48 | | * binutils-2.37 |
49 | | * libc: musl-fts-1.2.7 |
50 | | - General: |
51 | | * Added Venice support |
52 | | * Updated kernel and drivers |
53 | | - Venice: |
54 | | * squashfs+f2fs overlay for sysupgrade/factory-reset support |
55 | | - Newport: |
56 | | * squashfs+f2fs overlay for sysupgrade/factory-reset support |
57 | | - Ventana: |
58 | | * squashfs+ubifs and squashfs+f2fs overlay for sysupgrade/factory-reset support |
59 | | - revision log: https://github.com/Gateworks/openwrt/commits/23.03 |
60 | | * '''Gateworks 20.06 !OpenWrt Release''' |
61 | | - Latest build: http://dev.gateworks.com/openwrt/20.06/ |
62 | | * Please view the .manifest file per target to inspect installed packages + their respective versions |
63 | | - Based on OpenWrt fd0cc72d9 (2020-06-09) |
64 | | * Linux 5.4.45 |
65 | | * Wireless drivers from linux backports-5.7-rc3-1 |
66 | | * busybox-1.31.1 |
67 | | * gcc-8.4.0 |
68 | | * binutils-2.31.1 |
69 | | * Package feeds pinned to 2020-06-15 |
70 | | - General: |
71 | | * Added Gateworks System Controller drivers |
72 | | * dropped Laguna support |
73 | | * dropped GW16083 support |
74 | | - Newport: |
75 | | * squashfs+f2fs overlay for sysupgrade/factory-reset support |
76 | | - Ventana: |
77 | | * squashfs+ubifs and squashfs+f2fs overlay for sysupgrade/factory-reset support |
78 | | - revision log: https://github.com/Gateworks/openwrt/commits/20.06 |
79 | | |
80 | | |
81 | | == OpenWrt BSP Pre-Built Binaries |
82 | | To get an already built image to flash onto the SBC, please visit the following: |
83 | | * [http://dev.gateworks.com/venice/images/ Venice OpenWrt Pre-Built Image] |
84 | | * Venice installation instructions: [wiki:venice/firmware#UpdateOSviaCompressedDiskImages Venice OpenWrt Install Instructions] |
85 | | * [http://dev.gateworks.com/newport/images/ Newport OpenWrt Pre-Built Image] |
86 | | * [http://dev.gateworks.com/ventana/images/ Ventana OpenWrt Pre-Built Images] |
87 | | |
| 9 | == OpenWrt BSP Releases |
| 10 | For info on the various Gateworks OpenWrt releases see [wiki:OpenWrt#releases here] |
| 11 | |
| 12 | == OpenWrt Pre-built images |
| 13 | For info on downloading and installing pre-built images see [wiki:OpenWrt#images here] |
130 | | 1. Getting Source Code: |
131 | | * There are multiple code branches (see above for recommended branch per product), please checkout the one you prefer with the following commands: |
132 | | - Gateworks 24.01 branch |
133 | | {{{#!bash |
| 56 | Instructions vary depending on what version of OpenWrt you are building: |
| 57 | * Upstream OpenWrt 24.10 (recommended for IMX based Venice / Ventana) |
| 58 | {{{#!bash |
| 59 | # get source |
| 60 | git clone https://github.com/openwrt/openwrt.git openwrt -b openwrt-24.10 |
| 61 | cd openwrt |
| 62 | # optional; create a smylink to dl dir for shared downloads |
| 63 | ln -s /usr/src/dl . |
| 64 | # create a feeds.conf containing the gateworks feeds and upstream feeds: |
| 65 | cat <<EOF > feeds.conf |
| 66 | src-git gateworks https://github.com/Gateworks/gw-openwrt-packages.git;24.10 |
| 67 | src-git packages https://git.openwrt.org/feed/packages.git;openwrt-24.10 |
| 68 | src-git luci https://git.openwrt.org/project/luci.git;openwrt-24.10 |
| 69 | src-git routing https://git.openwrt.org/feed/routing.git;openwrt-24.10 |
| 70 | src-git telephony https://git.openwrt.org/feed/telephony.git;openwrt-24.10 |
| 71 | EOF |
| 72 | # update package feeds |
| 73 | ./scripts/feeds update -a |
| 74 | ./scripts/feeds install -a |
| 75 | # start with an example config (for ventana use diffconfig.ventana) |
| 76 | wget https://dev.gateworks.com/openwrt/24.10/diffconfig.venice -O .config |
| 77 | make defconfig |
| 78 | # (optional) customize config |
| 79 | make menuconfig |
| 80 | # build |
| 81 | make -j8 V=s |
| 82 | # copy disk image |
| 83 | cp bin/targets/imx/cortexa53/openwrt-imx-cortexa53-gateworks_venice-squashfs-img.gz /tftpboot/openwrt-venice.img.gz |
| 84 | }}} |
| 85 | * for Ventana use https://dev.gateworks.com/openwrt/24.10/diffconfig.venice and target NAND ubi images will be bin/targets/imx/cortexa9/openwrt-imx-cortexa9-gateworks_ventana-large-squashfs-nand.ubi and bin/targets/imx/cortexa9/openwrt-imx-cortexa9-gateworks_ventana-squashfs-nand.ubi |
| 86 | |
| 87 | * Gateworks OpenWrt 24.01: (recommended for OcteonTX based Newport) |
| 88 | {{{#!bash |
| 89 | # get source |
155 | | }}} |
156 | | - For Venice you can use gateworks/configs/venice/diffconfig as a starting point |
157 | | - For Newport you can use gateworks/configs/newport/diffconfig as a starting point |
158 | | - For Ventana you can use gateworks/configs/ventana/diffconfig as a starting point |
159 | | * 20.06: |
160 | | - Our OpenWrt Git repository has a 'gateworks' directory added consisting of a Makefile providing targets that aim to simplify the entire process of: |
161 | | - using a (per target) Gateworks provided .config file |
162 | | - producing JTAG binary images compatible with the Gateworks JTAG dongle |
163 | | - Once the branch has been checked out from the Gateworks !GitHub account, you are ready to build. The Gateworks Makefile provides the following targets: |
164 | | - all : Build both Newport (octeontx) and Ventana (imx6) |
165 | | - octeontx : build BSP for the octeontx target (Newport product family) |
166 | | - imx6 : build BSP for the imx6 target (Ventana product family) |
167 | | - images : build binary flash images (suitable for JTAG flashing) for supported product families |
168 | | - dirclean : remove all downloaded and built directories |
169 | | - Examples: |
170 | | - In order to build the octeontx target for the Newport product family, the following steps would occur: |
171 | | {{{#!bash |
172 | | # Build the octeontx target, using the configuration from gateworks/configs/octeontx/.config. |
173 | | # This will take a while |
174 | | make -C gateworks/ octeontx |
175 | | }}} |
176 | | - In order to build the imx6 target for the Ventana product family, the following steps would occur: |
177 | | {{{#!bash |
178 | | # Build the imx6 target, using the configuration from gateworks/configs/imx6/.config. |
179 | | # This will take a while |
180 | | make -C gateworks/ imx6 |
181 | | }}} |
182 | | - The build process will take some time depending on your Internet connection and host system. On an Intel Quad Core @ 3.10GHz the build takes a couple of hours to build all product families and takes appx 15GB of disk space. |
183 | | |
184 | | |
185 | | 3. Artifacts |
186 | | - The resulting kernel/rootfs files will be in the {{{bin/<target>}}} directory. |
187 | | - For Example, a Ventana flash image is located at: {{{bin/targets/imx6/generic/gateworks-imx6-ventana-squashfs-nand.ubi}}} |
188 | | - Which ubi size to use, normal or large, has to do with the flash geometry size (see [wiki:/linux/ubi/#flashgeometry here] to determine your flash geometry) |
189 | | |
190 | | |
191 | | 4. Installing: |
| 104 | # copy disk image |
| 105 | bin/targets/imx/cortexa53/gateworks-imx-cortexa53-gateworks_venice-squashfs-img.gz /tftpboot/openwrt-venice.img.gz |
| 106 | }}} |
| 107 | * For Ventana you can use gateworks/configs/ventana/diffconfig as a starting point and target NAND ubi images will be bin/targets/imx/cortexa9/gateworks-imx-cortexa9-gateworks_ventana-large-squashfs-nand.ubi and bin/targets/imx/cortexa9/gateworks-imx-cortexa9-gateworks_ventana-squashfs-nand.ubi |
| 108 | * For Newport you can use gateworks/configs/newport/diffconfig as a starting point and the compressed disk image is bin/targets/octeontx/generic/gateworks-octeontx-generic-gateworks_newport-squashfs-img.gz |
| 109 | |
| 110 | Installing: |