環境準備:
虛擬機準備好,cpu8 核,內存 4G,硬碟建議 40GB
一、更新軟體#
sudo apt-get update
sudo apt-get upgrade
二、安裝依賴#
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 libglib2.0-dev libgmp3-dev libltdl-dev \
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \
libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \
vim wget xmlto xxd zlib1g-dev
三、編譯固件#
1. 下載源代碼,三個任選一個#
git clone https://github.com/openwrt/openwrt
# 官方版本
git clone https://github.com/coolsnowwolf/lede
# lede 版本
git clone -b 22.03 --single-branch https://github.com/Lienol/openwrt
# lienol 版本
2. 添加插件或者主題#
上面的版本任意一個庫克隆完畢後進入
打開 openwrt 文件夾,找到 feeds.conf.default 文件打開,添加到最下面!
src-git amlogic https://github.com/ophub/luci-app-amlogic 必須添加
src-git alist https://github.com/sbwml/luci-app-alist Alist插件
src-git passwall_packages https://github.com/xiaorouji/openwrt-passwall.git;packages
src-git passwall_luci https://github.com/xiaorouji/openwrt-passwall.git;luci
src-git kenzo https://github.com/kenzok8/openwrt-packages
src-git argonnew https://github.com/jerrykuku/luci-theme-argon.git;main 主題
3. 更新源碼#
./scripts/feeds update -a
# 更新源碼
./scripts/feeds install -a
# 拷貝源碼
4. 定製插件#
make menuconfig
###### 如果需要重新配置 ##########
方法:使用命令
rm -rf ./tmp && rm -rf .config
make menuconfig
make V=s -j$(nproc)
5. 下載 dl 庫,編譯固件 (-j 後面是線程數)#
make -j8 download V=s # 下載dl庫,V=s 顯示任務詳細情況
make V=s -j8 # 8代表線程,根據個人實際情況調整
如果編譯失敗,可以執行以下命令:
“make clean” 刪除編譯目錄 /bin 和 /build_dir 目錄中的文件
“make dirclean” 除了刪除編譯目錄之外還刪除編譯工具目錄,刪除 /bin 和 /build_dir 目錄的中的文件 (make clean) 以及 /staging_dir、/toolchain、/tmp 和 /logs 中的文件,一般在更換 CPU 架構的情況下才操作。
6. 下載編譯壓縮包#
編譯完成後輸出路徑:home / 用戶名 /openwrt/bin/targets
附 小米 R4A 千兆版.config 配置文件#
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt7621=y
CONFIG_TARGET_ramips_mt7621_DEVICE_xiaomi_mi-router-4a-gigabit=y
CONFIG_PACKAGE_6in4=y
CONFIG_PACKAGE_frpc=y
CONFIG_PACKAGE_ip6tables=y
CONFIG_PACKAGE_ipv6helper=y
CONFIG_PACKAGE_kmod-ip6tables=y
CONFIG_PACKAGE_kmod-ipt-nat6=y
CONFIG_PACKAGE_kmod-iptunnel=y
CONFIG_PACKAGE_kmod-iptunnel4=y
CONFIG_PACKAGE_kmod-nf-ipt6=y
CONFIG_PACKAGE_kmod-nf-log6=y
CONFIG_PACKAGE_kmod-nf-nat6=y
CONFIG_PACKAGE_kmod-nf-reject6=y
CONFIG_PACKAGE_kmod-sit=y
CONFIG_PACKAGE_luci-app-frpc=y
CONFIG_PACKAGE_luci-app-nps=y
CONFIG_PACKAGE_luci-i18n-frpc-zh-cn=y
CONFIG_PACKAGE_luci-i18n-nps-zh-cn=y
CONFIG_PACKAGE_luci-theme-argon-mod=y
CONFIG_PACKAGE_npc=y
附:ubuntu 開通 root 登錄 SSH 權限#
1. 使用普通用戶登錄後切換 root
sudo -i
2. 創建 root 管理員密碼
passwd root
3. 開啟 root 登錄
sudo sed -i 's/^#?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config
4. 開啟密碼驗證
sudo sed -i 's/^#?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config
5. 重啟 ssh 服務
service sshd restart
附:開通 SSH 登錄方法:#
1. 必須切換成為 root 用戶
sudo -i
2. 先更新軟體列表和更新軟體
sudo apt-get update
3. 先更新軟體列表和更新軟體
sudo apt-get upgrade
4. 安裝 ssh
apt-get install ssh
5. 啟動 ssh 服務
sudo /etc/init.d/ssh start