wsl编译openwrt24.10.0
1. 下载
https://github.com/openwrt/openwrt/releases/tag/v24.10.0
2. 库
Debian / Ubuntu / Mint
适用于 Ubuntu 24.04 的现代化集,具有 Python 3.12,没有 python3-distutils: (OpenWrt main/master 将于 2024 年 4 月发布)
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev \
python3-setuptools rsync swig unzip zlib1g-dev file wget
设置为 Ubuntu 22.04(具有较旧的 Python 3.xx):
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \
python3-distutils python3-setuptools rsync swig unzip zlib1g-dev file wget
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install subversion
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install git-core
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
较旧的建议(适用于需要 python2.7 的 19.07 及更早版本):
sudo apt update
sudo apt install build-essential ccache ecj fastjar file g++ gawk \
gettext git java-propose-classpath libelf-dev libncurses5-dev \
libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget \
python3-distutils python3-setuptools python3-dev rsync subversion \
swig time xsltproc zlib1g-dev
3. 运行
以获取所有最新的包定义 在 feeds.conf / feeds.conf.default 中定义
./scripts/feeds update -a
4. 运行
以安装所有获取的符号链接 packages 到 package/feeds/
./scripts/feeds install -a
5. Run
(运行) 以选择 工具链、目标系统和固件包。
make menuconfig
6. 运行
以构建固件。这将下载所有源代码,构建 交叉编译工具链,然后交叉编译GNU/Linux内核&全部选择 应用程序。
make -j16
7.
在 WSL 中创建普通用户(若不存在):
adduser YourUsername
usermod -aG sudo YourUsername # 将用户加入 sudo 组
退出 WSL,回到 Windows PowerShell,执行:
wsl -d Ubuntu -u YourUsername # 替换为你的发行版和用户名
进入源码目录(假设路径为 /home/mike/openwrt-24.10.0)
cd /home/mk/openwrt-24.10.0
清理 root 用户生成的文件(需要提权)
sudo rm -rf build_dir/ staging_dir/ tmp/ dl/
修复目录所有权,这条命令用于修改当前目录及其所有子目录/文件的所有者和所属组为当前用户
sudo chown -R $USER:$USER .
确保当前用户为非 root:
whoami
重新执行编译流程:
make clean
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
make -j$(nproc)