Changes between Version 41 and Version 42 of OpenWrt/building


Ignore:
Timestamp:
04/25/2025 06:54:37 PM (10 days ago)
Author:
Tim Harvey
Comment:

updated instructions to include Upstream OpenWrt 24.10; removed 20.06; moved release details to OpenWrt wiki

Legend:

Unmodified
Added
Removed
Modified
  • OpenWrt/building

    v41 v42  
    77
    88[=#branches]
    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
     10For info on the various Gateworks OpenWrt releases see [wiki:OpenWrt#releases here]
     11
     12== OpenWrt Pre-built images
     13For info on downloading and installing pre-built images see [wiki:OpenWrt#images here]
    8814
    8915== Building Pre-Requisites
     
    12854Video: [https://youtu.be/cnObX6tErhw]
    12955
    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
     56Instructions 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
     60git clone https://github.com/openwrt/openwrt.git openwrt -b openwrt-24.10
     61cd openwrt
     62# optional; create a smylink to dl dir for shared downloads
     63ln -s /usr/src/dl .
     64# create a feeds.conf containing the gateworks feeds and upstream feeds:
     65cat <<EOF > feeds.conf
     66src-git gateworks https://github.com/Gateworks/gw-openwrt-packages.git;24.10
     67src-git packages https://git.openwrt.org/feed/packages.git;openwrt-24.10
     68src-git luci https://git.openwrt.org/project/luci.git;openwrt-24.10
     69src-git routing https://git.openwrt.org/feed/routing.git;openwrt-24.10
     70src-git telephony https://git.openwrt.org/feed/telephony.git;openwrt-24.10
     71EOF
     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)
     76wget https://dev.gateworks.com/openwrt/24.10/diffconfig.venice -O .config
     77make defconfig
     78# (optional) customize config
     79make menuconfig
     80# build
     81make -j8 V=s
     82# copy disk image
     83cp 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
    13490git clone https://github.com/Gateworks/openwrt/ gateworks-openwrt -b 24.01
    13591cd gateworks-openwrt
    136 }}}
    137 
    138 
    139 2. Building:
    140  * 24.01:
    141   - To build OpenWrt for a specific target device you perform the following steps:
    142 {{{#!bash
    14392# optional; create a smylink to dl dir for shared downloads
    14493ln -s /usr/src/dl .
     
    14695./scripts/feeds update -a
    14796./scripts/feeds install -a
    148 # (optional) start with an example config
     97# start with an example config
    14998cp gateworks/configs/venice/diffconfig .config
    15099make defconfig
    151 # select target and/or customize config
     100# (optional) customize config
    152101make menuconfig
    153102# build
    154103make -j8 V=s
    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
     105bin/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
     110Installing:
    192111 * To install the OpenWrt image onto the Gateworks SBC, please follow the instructions:
     112  - [wiki:venice/firmware#disk-images Venice Instructions]
    193113  - [wiki:newport/firmware Newport Instructions]
    194   - [wiki:ventana/openwrt#Step2.InstallingFirmware Ventana Instructions]:
    195    - Typical methods include flashing a .ubi file over TFTP or creating a JTAG binary and flashing using the USB JTAG dongle
    196 
    197 
    198 
    199 == Building JTAG Binary File
    200 For the Gateworks 20.06 BSP JTAG binaries are built for Ventana NAND Flash:
    201  * gateworks/images/ventana_large.bin
    202  * gateworks/images/ventana_normal.bin
     114  - [wiki:ventana/openwrt#serial_enet
    203115
    204116