Skip to content

Instantly share code, notes, and snippets.

@adelton
Last active January 9, 2025 20:07
Show Gist options
  • Save adelton/ec152cda6e6d63de6d7daa07957f93a8 to your computer and use it in GitHub Desktop.
Save adelton/ec152cda6e6d63de6d7daa07957f93a8 to your computer and use it in GitHub Desktop.
Build OpenWrt LuCI package in a container
$ podman run --rm -ti registry.fedoraproject.org/fedora-minimal:41
bash-5.2# dnf install -y asciidoc bash binutils bzip2 flex git-core gcc-c++ gcc util-linux gawk gzip help2man intltool elfutils-libelf-devel zlib-devel make ncurses-devel openssl-devel patch perl-ExtUtils-MakeMaker perl-Thread-Queue swig unzip wget gettext libxslt zlib-devel zlib-static which rsync perl-FindBin perl-IPC-Cmd tar perl-Time-Piece
bash-5.2# dnf install -y tar zstd
bash-5.2# curl -O https://downloads.openwrt.org/releases/24.10.0-rc5/targets/x86/64/openwrt-sdk-24.10.0-rc5-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst
bash-5.2# tar xvaf openwrt-sdk-24.10.0-rc5-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst
bash-5.2# cd openwrt-sdk-24.10.0-rc5-x86-64_gcc-13.3.0_musl.Linux-x86_64
bash-5.2# vi feeds.conf.default
bash-5.2# ./scripts/feeds update -a
bash-5.2# ./scripts/feeds install luci
bash-5.2# ./scripts/feeds install luci-proto-wireguard
bash-5.2# tee .config << EOF
CONFIG_DEFAULT_TARGET_x86_64=y
CONFIG_TARGET_x86=y
CONFIG_TARGET_x86_64=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-proto-wireguard=y
CONFIG_SIGNED_PACKAGES=n
CONFIG_ALL_NONSHARED=n
CONFIG_ALL_KMODS=n
CONFIG_ALL=n
EOF
bash-5.2# make defconfig
bash-5.2# make -j package/luci/download package/luci/prepare package/luci/compile package/luci/clean package/index
# or
bash-5.2# make -j
---
bash-5.2# git clone --depth 1 https://github.com/openwrt/openwrt
bash-5.2# cd openwrt/
--- feeds.conf.default.orig 2025-01-09 15:05:20.594903733 +0000
+++ feeds.conf.default 2025-01-09 15:46:55.703917720 +0000
@@ -2 +2 @@
-src-git luci https://git.openwrt.org/project/luci.git
+src-git luci https://github.com/adelton/openwrt-luci.git
bash-5.2# ./scripts/feeds update -a
bash-5.2# ./scripts/feeds install luci
bash-5.2# ./scripts/feeds install luci-proto-wireguard
bash-5.2# curl -o .config https://downloads.openwrt.org/releases/23.05.5/targets/x86/64/config.buildinfo
# or perhaps
bash-5.2# tee .config << EOF
CONFIG_DEFAULT_TARGET_x86_64=y
CONFIG_TARGET_x86=y
CONFIG_TARGET_x86_64=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-proto-wireguard=y
CONFIG_SIGNED_PACKAGES=n
CONFIG_ALL_NONSHARED=n
CONFIG_ALL_KMODS=n
CONFIG_ALL=n
EOF
bash-5.2# make defconfig
bash-5.2# FORCE_UNSAFE_CONFIGURE=1 make -j
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment