Image builder issues for R7800

I am trying to use an image builder instead of compiling from source, but my several attempts resulted in an image that does not boot and the power light remains dark. Only a few LAN ports light up and blink. A wired client cannot get an IP and wifi is not coming up either. Can anyone see anything wrong in the script? I want to do a sanity check before I start using a serial console.
I have followed this guide ImageBuilder and there was no error in the output.

# All packages
PACKAGES="iftop"
PACKAGES="${PACKAGES} iptraf-ng"
PACKAGES="${PACKAGES} ethtool"
PACKAGES="${PACKAGES} openssh-server"
PACKAGES="${PACKAGES} dnscrypt-proxy"
PACKAGES="${PACKAGES} dnscrypt-proxy-resolvers"
PACKAGES="${PACKAGES} htop"
PACKAGES="${PACKAGES} nano"
PACKAGES="${PACKAGES} ccrypt"
PACKAGES="${PACKAGES} curl"
PACKAGES="${PACKAGES} wget"
PACKAGES="${PACKAGES} patch"
# This makes sure that "busybox" is listed before "diffutils" to avoid packaging conflicts
PACKAGES="${PACKAGES} -busybox busybox diffutils"
PACKAGES="${PACKAGES} tree"
PACKAGES="${PACKAGES} hostapd-utils"
# Remove wpad-mini and add wpad-openssl
PACKAGES="${PACKAGES} -wpad-basic wpad-openssl"
PACKAGES="${PACKAGES} ca-certificates"
PACKAGES="${PACKAGES} luci-ssl-openssl"
PACKAGES="${PACKAGES} luci-mod-admin-full"
PACKAGES="${PACKAGES} luci-app-ddns"
PACKAGES="${PACKAGES} luci-app-statistics"
PACKAGES="${PACKAGES} collectd-mod-conntrack"
PACKAGES="${PACKAGES} collectd-mod-cpufreq"
PACKAGES="${PACKAGES} collectd-mod-entropy"
PACKAGES="${PACKAGES} collectd-mod-ping"
PACKAGES="${PACKAGES} collectd-mod-thermal"
PACKAGES="${PACKAGES} collectd-mod-uptime"
PACKAGES="${PACKAGES} luci-app-sqm"
PACKAGES="${PACKAGES} luci-theme-bootstrap"
PACKAGES="${PACKAGES} luci-theme-material"
PACKAGES="${PACKAGES} luci-theme-rosy"
PACKAGES="${PACKAGES} luci-app-bcp38"
PACKAGES="${PACKAGES} luci-app-adblock"
PACKAGES="${PACKAGES} luci-app-banip"
PACKAGES="${PACKAGES} luci-app-nlbwmon"

mkdir ./openwrt-imagebuilder
wget -O - https://downloads.openwrt.org/snapshots/targets/ipq806x/generic/openwrt-imagebuilder-ipq806x.Linux-x86_64.tar.xz | tar Jxf - -C openwrt-imagebuilder --strip-components=1
cd openwrt-imagebuilder
make image PROFILE=netgear_r7800 BIN_DIR=/firmware PACKAGES="${PACKAGES}"

I was trying to fix a conflict between busybox and diffutils and this line broke the image:

PACKAGES="${PACKAGES} -busybox busybox diffutils"

It should be

PACKAGES="${PACKAGES} busybox diffutils"

2 Likes

Be aware that a box without busybox (and a few other, target-specific things) won't sysupgrade

Also, on master, CONFIG_PACKAGE_diffutils=y doesn't conflict (same with find and less).

root@OpenWrt:~# which diff
/usr/bin/diff
root@OpenWrt:~# ls -l /usr/bin/diff
-rwxr-xr-x    1 root     root        106693 Jun 11 21:41 /usr/bin/diff

My recollection from a year or two ago is that you have to disable the diff applet of busybox, which I believe requires a source build.

An image without busybox won't be able to boot at all, as busybox provides the whole crucial userspace aside from init and the kernel.

1 Like

Yes, it does and there is a pull request there that fixes it.

I know and that is why I had this -busybox busybox, so it was not technically removed, but still broke the image builder somehow.

CONFIG_PACKAGE_diffutils=y does not conflict on master -- it is a build-system configuration line, not for the image builder.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.