Lain
Published on 2024-05-12 / 323 Visits
0
0

自编译openwrt

先使用LXC的模版安装debian11,debian11的代号是Bullseye。

登陆上去,更新一下系统。

sudo apt update -y
sudo apt full-upgrade -y

启用一个新用户,并且加上管理员权限

adduser username
usermod -aG sudo username
sudo visudo

添加一行

切换到设置好的用户,安装ssh服务端

 sudo apt update
 sudo apt install openssh-server
su username
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \
libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \
libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 \
python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev

建立一个文件夹并克隆openwrt的源码

mkdir openwrt
#官方源:
git clone https://openwrt.org/openwrt/openwrt.git
#Lean 源:
git clone https://github.com/coolsnowwolf/lede
#Lienol 源:
git clone https://github.com/Lienol/openwrt
#immortalwrt 源:
git clone https://github.com/immortalwrt/immortalwrt
#添加第三方软件源
sed -i '1i src-git smpackage https://github.com/kenzok8/small-package' feeds.conf.default
./scripts/feeds update -a && rm -rf feeds/luci/applications/luci-app-mosdns && rm -rf feeds/packages/net/{alist,adguardhome,mosdns,smartdns}
rm -rf feeds/smpackage/{base-files,dnsmasq,firewall*,fullconenat,libnftnl,nftables,ppp,opkg,ucl,upx,vsftpd-alt,miniupnpd-iptables,wireless-regdb}
rm -rf feeds/packages/lang/golang
git clone https://github.com/kenzok8/golang feeds/packages/lang/golang
./scripts/feeds install -a 
#配置config文件,immortalwrt编译切记需要添加luci核心,否则没有webui界面。
make menuconfig
#下载需要的文件,并开始编译(使用最大线程,如需要稳定编译将最后修改为-j1)
make download -j$(nproc)
make V=s -j$(nproc)

第二次编译

#下载更新软件包
./scripts/feeds update -a
./scripts/feeds install -a
#删除原config文件
rm -rf .config
#重新配置config文件
make menuconfig
#下载需要的文件,并开始编译
make download -j$(nproc)
make V=s -j$(nproc)


Comment