博主也是新手,对编译懂得也不是很多,但为了让更多的人能和我一样过把openwrt编译的瘾,所以博主收集资料,撰写OpenWrt编译的教程。
一、前期准备
- 一台安装ubuntu 22.04的电脑,服务器下载建议到ubuntu官网下载。
- 配置相关的网络。必须具备正常访问GITHUB、ubuntu网站等要求。
- SSH命令工具,这边推荐putty (windows端)
二、基本LINUX命令学习。
- “cd” 表示进入某目录,比如进入etc
cd etc
- “ls” 表示列出文件和目录。
ls
- “rm-rf immortalwrt”表示删除immortalwrt目录(文件夹)
rm-rf immortalwrt
三、LINUX基本配置
(一)配置ssh(linux端)。因为全新安装ubuntu 是不支持采用ssh链接的,因此需要配置ssh。
- linux更新源
sudo apt update -y
- 更新所有软件
sudo apt full-upgrade -y
- 安装ssh
sudo apt -y install openssh-server
- 重启ssh服务器
sudo service ssh restart
(二)配置screen 服务。主要是因为编译过程中时间比较长,如果不小心SSH断链,那么编译信息都看不见了,但如果安装screen服务,即使ssh断链了依然可以看到编译信息。(非必要)
- linux更新源 (上面操作过,可跳过)
sudo apt update -y
- 更新所有软件(上面操作过,可跳过)
sudo apt full-upgrade -y
- 安装screen服务
sudo apt-get install screen
- 新建一个Screen窗口并命名为“998”(注意下面的大写“S”)
screen -S 998
- 退出当前screen窗口
在键盘上按住“Ctrl”+“A”+“D”
- 进入命名为“998”的screen窗口,注意下面的小写“r”
screen -r 998
四、正式编译(编译immortalwrt为例)
(一)初次编译(测试环境)
- linux更新源 (上面操作过,可跳过)
sudo apt update -y
- 更新所有软件(上面操作过,可跳过)
sudo apt full-upgrade -y
- 安装编译必要插件
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 python3 \
python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
- 拉取immortalwrt源码
git clone https://github.com/immortalwrt/immortalwrt
- 进入immortalwrt目录
cd immortalwrt
- 配置插件库
sed -i '$a src-git kenzo https://github.com/kenzok8/openwrt-packages' feeds.conf.default
sed -i '$a src-git small https://github.com/kenzok8/small' feeds.conf.default
- 拉取全部插件源码
git pull
- 更新插件库
./scripts/feeds update -a
- 安装插件
./scripts/feeds install -a
- 下载插件编译的支持库(4线程)
make download -j4
- 正式编译openwrt(博主i7-3770 4核8线程,用时1小时)
make V=s -j$(nproc)