B1300 Image Builder

@alzhao – you seem to have image builders published for all of your products except B1300. Could you please publish an image builder for B1300 as well, so I wouldn’t have to compile from sources?

Thanks!

I will let the engineer upload.

Not sure if we are able to do it because tomorrow China will be closed.

We will upload b1300 imagebuilder today.

Hi, we have uploaded b1300 imagebuilder to github.

1 Like

@kyson-lok I’ve looked at the gl_image script and there’s an option to include files into the firmware, but how do I specify which packages should be included in the build? Should I edit the profiles file directly? Which file is used?

@stangri There is a images.json file, you can edit it.

@kyson-lok thank you for your prompt reply!

I’m getting an error with make si with unmolested images.json and no extra files specified:

$ ./gl_image -i v1 -p QSDK_Premium -v 2.27
...
make[3]: Leaving directory './target/linux/ipq806x/image'
make[2]: Leaving directory '.'
make[1]: Leaving directory '.'

$ ls -la
total 3612
drwxrwsr-x 14 stangri stangri      26 Mar  1 19:43 .
drwxrwsr-x 16 stangri stangri      17 Mar  1 18:09 ..
drwxrwsr-x  3 stangri stangri       3 Mar  1 19:43 bin
drwxrwsr-x  3 stangri stangri       3 Mar  1 18:11 build_dir
-rw-rw-r--  1 stangri stangri  247200 Mar  1 18:11 .config
drwxrwsr-x  2 stangri stangri       2 Mar  1 19:43 dl
drwxrwsr-x  8 stangri stangri      13 Mar  1 18:11 .git
-rw-rw-r--  1 stangri stangri     109 Mar  1 18:11 .gitignore
-rwxrwxr-x  1 stangri stangri    2530 Mar  1 18:11 gl_image
-rw-rw-r--  1 stangri stangri    1858 Mar  1 18:11 images.json
drwxrwsr-x  3 stangri stangri      43 Mar  1 18:11 include
-rw-rw-r--  1 stangri stangri     176 Mar  1 18:11 key-build
-rw-rw-r--  1 stangri stangri    7039 Mar  1 18:11 Makefile
-rw-rw-r--  1 stangri stangri 2690144 Mar  1 18:11 .packageinfo
drwxrwsr-x 19 stangri stangri      21 Mar  1 18:21 packages
drwxrwsr-x  3 stangri stangri       3 Mar  1 18:11 qca
-rw-rw-r--  1 stangri stangri    1168 Mar  1 18:11 README.md
-rw-rw-r--  1 stangri stangri     330 Mar  1 18:11 repositories.conf
-rw-rw-r--  1 stangri stangri   10806 Mar  1 18:11 rules.mk
drwxrwsr-x  4 stangri stangri      51 Mar  1 18:11 scripts
drwxrwsr-x  3 stangri stangri       3 Mar  1 19:42 single_img_dir
-rw-rw-r--  1 stangri stangri   88694 Mar  1 18:11 single_img_dir_simple.tar.gz
drwxrwsr-x  3 stangri stangri       3 Mar  1 18:11 staging_dir
drwxrwsr-x  3 stangri stangri       3 Mar  1 18:11 target
-rw-rw-r--  1 stangri stangri  315048 Mar  1 18:11 .targetinfo
drwxrwsr-x  2 stangri stangri       3 Mar  1 19:43 tmp

$ make si
tar xf single_img_dir_simple.tar.gz
rm -f ./single_img_dir/IPQ4019.ILQ.5.0/common/build/ipq/openwrt*
rm -f ./single_img_dir/IPQ4019.ILQ.5.0/common/build/bin/*
rm -f ./single_img_dir/IPQ4019.ILQ.5.0/common/build/*.log
cp ./bin/ipq806x/openwrt* ./single_img_dir/IPQ4019.ILQ.5.0/common/build/ipq
cp ./single_img_dir/IPQ4019.ILQ.5.0/common/build/*-flash.conf ./single_img_dir/IPQ4019.ILQ.5.0/common/build/ipq
cd single_img_dir/IPQ4019.ILQ.5.0/common/build; \
python pack.py -t nor -B -F boardconfig_premium -o ../../../qsdk-b1300-2.27.bin ./ipq
sh: 1: dtc: not found
./staging_dir/host/bin/bundled/mkimage: Can't read ./../../../qsdk-b1300-2.27.bin.tmp: Invalid argument
./staging_dir/host/bin/bundled/mkimage Can't add hashes to FIT blob
pack: failed to create u-boot image from script
Makefile:206: recipe for target 'si' failed
make: *** [si] Error 1

I’ve replaced the full path in the log with ./ for privacy. What do I do?

It is missing dtc tool on your host machine. For ubuntu, issueing sudo apt-get install device-tree-compiler to install dtc tool.

1 Like

Is the single_img_dir/qsdk-b1300-2.27.bin the final firmware file?

@kyson-lok when I try to include the following packages (thru images.json) the build fails: luci luci-theme-material nano relayd luci-proto-relay coreutils-sleep htop luci-app-statistics collectd-mod-cpu collectd-mod-memory ccrypt uhttpd ethtool. If I include just nano it works, but the error message on fail doesn’t indicate which package cannot be included. All I get is:

Makefile:150: recipe for target 'package_install' failed
make[2]: *** [package_install] Error 255
make[2]: Leaving directory '/mnt/NAS/Users/stangri/lede/Builder/gli_b1300'
Makefile:102: recipe for target '_call_image' failed
make[1]: *** [_call_image] Error 2
make[1]: Leaving directory '/mnt/NAS/Users/stangri/lede/Builder/gli_b1300'
Makefile:226: recipe for target 'image' failed
make: *** [image] Error 2
Traceback (most recent call last):
  File "./gl_image", line 90, in <module>
    sys.exit(main(sys.argv))
  File "./gl_image", line 87, in main
    (profile, version, include_ipk, exclude_ipk, files), shell=True);
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'make image PROFILE=QSDK_Premium VERSION=2.27 PACKAGES="blkid chat comgt comgt-directip comgt-ncm fcgi gl-base-files gl-modem gl-repeater gl-inet gl-util gl-vpn ip ipset iwinfo kmod-fs-exfat kmod-fs-ext4 kmod-i2c-core kmod-ipt-ipset kmod-lib-crc16 kmod-mii kmod-nfnetlink kmod-nls-utf8 kmod-tun kmod-usb2 kmod-usb-acm kmod-usb-net-cdc-ether kmod-usb-net-cdc-ncm kmod-usb-net kmod-usb-net-huawei-cdc-ncm kmod-usb-net-ipheth kmod-usb-net-qmi-wwan kmod-usb-net-rndis kmod-usb-net-sierrawireless kmod-usb-ohci kmod-usb-serial kmod-usb-serial-cp210x kmod-usb-serial-option kmod-usb-serial-sierrawireless kmod-usb-serial-wwan kmod-usb-uhci kmod-usb-wdm kmod-video-core kmod-video-gspca-core kmod-video-gspca-sonixb kmod-video-gspca-sonixj kmod-video-gspca-zc3xx kmod-video-uvc kmod-video-videobuf2 libblkid libimobiledevice libjpeg liblzo libminiupnpc libmnl libpcre libplist libusb-1.0 libusbmuxd lighttpd lighttpd-mod-access lighttpd-mod-cgi lighttpd-mod-expire lighttpd-mod-fastcgi lighttpd-mod-proxy luci-app-mwan3 luci-app-qos luci-i18n-base-en luci-i18n-base-zh-cn luci-i18n-firewall-en luci-i18n-firewall-zh-cn luci-i18n-qos-en luci-i18n-qos-zh-cn luci-i18n-samba-en luci-i18n-samba-zh-cn luci-i18n-upnp-en luci-i18n-upnp-zh-cn luci-lib-json luci-mod-rpc luci-proto-3g miniupnpc mjpg-streamer mwan3 openvpn-openssl ppp-mod-pppol2tp qos-scripts unzip uqmi usb-modeswitch usbmuxd wwan xl2tpd ChinaDNS dns-forwarder kmod-crypto-aead kmod-crypto-arc4 kmod-crypto-ecb kmod-crypto-manager kmod-crypto-pcompress kmod-crypto-sha1 kmod-fs-ntfs kmod-fs-vfat kmod-fuse kmod-mppe kmod-nf-nathelper-extra kmod-nls-cp437 kmod-nls-iso8859-1 kmod-usb-storage libcares libev libmbedtls libsodium luci-app-chinadns luci-app-dns-forwarder luci-app-shadowsocks ntfs-3g ppp-mod-pptp shadowsocks-libev shadowsocks-libev-server luci luci-theme-material nano relayd luci-proto-relay coreutils-sleep  htop luci-app-statistics collectd-mod-cpu collectd-mod-memory ccrypt uhttpd ethtool" REMOVE_PACKAGES=" kmod-usb-ohci kmod-usb2" FILES=b1300/' returned non-zero exit status 2

PS. Is this Image Builder actually making a pristine OpenWrt/LEDE Project image or a customized GL-Inet image?

It is a customized GL-Inet image.

For your error, you have include luci-theme-material package. Don’t including it and try again.

@kyson-lok how can I build the vanilla OpenWrt image for B1300?

PS. Even tho your custmized GL-Inet image builds successfully, there’s a bunch of the dependency errors and the init script errors while building the image, stuff like:

Activating init scripts
/etc/init.d/inetd does not have a START or STOP value
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/firewall_gl: line 9: uci: command not found
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/firewall_gl: line 10: uci: command not found
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/firewall_gl: line 11: uci: command not found
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/hyfi-bridging: line 13: /lib/functions/hyfi-debug.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/hyfi-bridging: line 14: /lib/functions/hyfi-iface.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/hyfi-bridging: line 15: /lib/functions/hyfi-network.sh: No such file or directory
/etc/init.d/ssid_steering does not have a START or STOP value
Create './build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/filesystems'.
Add 'ntfs-3g' to known filesystems.
/etc/init.d/odhcpd does not have a START or STOP value
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/acd: line 26: /lib/functions/hyfi-debug.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/acd: line 27: /lib/functions/hyfi-iface.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/acd: line 28: /lib/functions/hyfi-network.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/hyd: line 32: /lib/functions/hyfi-debug.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/hyd: line 33: /lib/functions/hyfi-iface.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/hyd: line 34: /lib/functions/hyfi-network.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/thermal: line 7: /lib/ipq806x.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/lbd: line 20: /lib/functions/lbd-config.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/lbd: line 21: /lib/functions/whc-debug.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/lbd: line 22: /lib/functions/whc-iface.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/repacd: line 42: /lib/functions/whc-debug.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/repacd: line 43: /lib/functions/whc-iface.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/repacd: line 44: /lib/functions/whc-network.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/repacd: line 45: /lib/functions/repacd-netdet.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/wsplcd: line 27: /lib/functions/hyfi-debug.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/wsplcd: line 28: /lib/functions/hyfi-iface.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/wsplcd: line 29: /lib/functions/hyfi-network.sh: No such file or directory
./build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/root-ipq806x/etc/init.d/qcmbr: line 9: /lib/functions.sh: No such file or directory
/etc/init.d/qcmbr does not have a START or STOP value

[1] You can ignore those errors.
[2] You can build vanilla from OpenWRT/LEDE source code, or vanilla-imagebuilder.

@kyson-lok: using vanilla image builder I get:

$ make image PROFILE=glinet_gl-b1300
Building images for ipq806x - GL.iNet GL-B1300
Packages: base-files busybox dnsmasq dropbear firewall fstools ip6tables ipq-wifi-glinet_gl-b1300 iptables kernel kmod-ata-ahci kmod-ata-ahci-platform kmod-ata-core kmod-ath10k kmod-gpio-button-hotplug kmod-leds-gpio kmod-usb-core kmod-usb-dwc3-of-simple kmod-usb-ledtrig-usbport kmod-usb-ohci kmod-usb-phy-qcom-dwc3 kmod-usb2 kmod-usb3 libc libgcc logd mtd netifd odhcp6c odhcpd-ipv6only opkg ppp ppp-mod-pppoe swconfig uboot-envtools uci uclient-fetch wpad-mini

...

Configuring libubox.
Configuring libuclient.
Configuring uclient-fetch.
Configuring libpthread.
Configuring opkg.
Configuring kmod-nls-base.
Configuring kmod-usb-core.
Configuring libubus.
Configuring libjson-c.
Configuring libblobmsg-json.
Configuring ubusd.
Configuring ubus.
Configuring libnl-tiny.
Configuring iw.
Configuring wireless-regdb.
Configuring kmod-cfg80211.
Configuring hostapd-common.
Configuring kmod-mac80211.
Configuring kmod-ath.
Configuring kmod-ath10k.
Configuring busybox.
Configuring kmod-scsi-core.
Configuring kmod-ata-core.
Configuring kmod-ata-ahci-platform.
Configuring kmod-nf-reject6.
Configuring libuci.
Configuring swconfig.
Configuring kmod-usb-dwc3.
Configuring kmod-lib-crc-ccitt.
Configuring kmod-usb-dwc3-of-simple.
Configuring kmod-usb-phy-qcom-dwc3.
Configuring kmod-slhc.
Configuring kmod-ppp.
Configuring kmod-pppox.
Configuring kmod-pppoe.
Configuring kmod-nf-reject.
Configuring kmod-nf-ipt.
Configuring kmod-ipt-core.
Configuring kmod-nf-conntrack.
Configuring kmod-ipt-conntrack.
Configuring jshn.
Configuring netifd.
Configuring libjson-script.
Configuring ubox.
Configuring procd.
Configuring jsonfilter.
Configuring usign.
Configuring lede-keyring.
Configuring ubi-utils.
Configuring fstools.
Configuring fwtool.
Configuring base-files.
Configuring kmod-nf-nat.
Configuring uboot-envtools.
Configuring kmod-usb-ohci.
Configuring dnsmasq.
Configuring kmod-usb-ehci.
Configuring kmod-usb2.
Configuring kmod-usb3.
Configuring libxtables.
Configuring libip4tc.
Configuring libip6tc.
Configuring kmod-nf-conntrack6.
Configuring kmod-ipt-nat.
Configuring firewall.
Configuring kmod-nf-ipt6.
Configuring kmod-ip6tables.
Configuring odhcp6c.
Configuring uci.
Configuring wpad-mini.
Configuring dropbear.
Configuring mtd.
Configuring odhcpd-ipv6only.
Configuring ppp.
Configuring kmod-leds-gpio.
Configuring kmod-gpio-button-hotplug.
Configuring logd.
Configuring kmod-ata-ahci.
Configuring iptables.
Configuring ip6tables.
Configuring kmod-usb-ledtrig-usbport.
Configuring ppp-mod-pppoe.
Collected errors:
 * opkg_install_cmd: Cannot install package ipq-wifi-glinet_gl-b1300.
Makefile:146: recipe for target 'package_install' failed
make[2]: *** [package_install] Error 255
Makefile:109: recipe for target '_call_image' failed
make[1]: *** [_call_image] Error 2
Makefile:202: recipe for target 'image' failed
make: *** [image] Error 2

Without specifying the profile the image builder completes successfully, however I’m not sure if it gets the proper wifi firmware file then. Please advise.

All right, Our engineer will fix this. You should download LEDE buildroot instead of vanilla imagebuilder to build b1300 image currently.

It would be great also if a clean firmware image was provided pre-compiled in the future from GL-Inet :grinning:

1 Like

Thanks for your suggestion.

@kyson-lok – any idea when the snapshot image builder would be fixed to produce a working image for B1300?

@stangri I have sent you an email which is included a ipk binary.

1 Like