如何自己手动编译openWRT on ubuntu server
1.前期准备
- ubuntu linux server
- 魔法上网环境 ( 中国大陆用户 )
- 脑子 🧠
- 双手 👋
2.前往Lean 仓库克隆代码
点击 Lean Openwrt仓库地址进入该项目首页, 为接下来的编译提供参考。
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 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 python3-setuptools
编译后的固件路径地址
~/lede/bin/targets/x86/64$
drwxr-xr-x 3 jackiossy jackiossy 4096 Nov 10 21:01 .
drwxr-xr-x 3 jackiossy jackiossy 4096 Sep 7 13:03 ..
-rw-r--r-- 1 jackiossy jackiossy 2995 Nov 10 20:56 config.buildinfo
-rw-r--r-- 1 jackiossy jackiossy 257 Nov 10 20:56 feeds.buildinfo
-rw-r--r-- 1 jackiossy jackiossy 5367104 Nov 10 21:00 openwrt-x86-64-generic-kernel.bin
-rw-r--r-- 1 jackiossy jackiossy 116684088 Nov 10 21:01 openwrt-x86-64-generic-squashfs-combined-efi.img.gz
-rw-r--r-- 1 jackiossy jackiossy 117112832 Nov 10 21:01 openwrt-x86-64-generic-squashfs-combined-efi.vmdk
-rw-r--r-- 1 jackiossy jackiossy 110736860 Nov 10 21:01 openwrt-x86-64-generic-squashfs-rootfs.img.gz
-rw-r--r-- 1 jackiossy jackiossy 11901 Nov 10 21:01 openwrt-x86-64-generic.manifest
drwxr-xr-x 2 jackiossy jackiossy 20480 Nov 10 20:56 packages
-rw-r--r-- 1 jackiossy jackiossy 3088 Nov 10 21:01 profiles.json
-rw-r--r-- 1 jackiossy jackiossy 873 Nov 10 21:01 sha256sums
-rw-r--r-- 1 jackiossy jackiossy 16 Nov 10 20:56 version.buildinfo
编译成功后你需要使用的固件文件是 openwrt-x86-64-generic-squashfs-combined-efi.img.gz
然后我们使用linux解压缩工具gzip进行解压,执行一下命令,得到img固件文件
gzip -dv openwrt-x86-64-generic-squashfs-combined-efi.img.gz
然后我们把解压缩后得到的文件openwrt-x86-64-generic-squashfs-combined-efi.img 传输到我们的电脑之中。
3.扩容overlay
如何扩容overlay分区, 执行命令
cfdisk
按照已有的磁盘列表分区方式,酌情进行 新建, 写入, 退出。
接下来格式化我们新建的sda3分区
mkfs.ext4 /dev/sda3
等待执行完毕,并且显示Writing superblocks and filesystem accounting information: done后, 我们继续操作, 使用一下命令挂载分区。
mount /dev/sda3 /mnt/sda3
挂载成功后我们可以执行ls命令检查文件内是否涵盖lost+found文件,如果存在, 说明我们挂载成功了。
接下来我们迁移overlay配置
cp -r /overlay/* /mnt/sda3
执行ls命令检查overlay配置是否成功复制到sda3当中
ls /mnt/sda3
如果文件内容含有 upper work 等文件夹, 说明我们复制配置成功,接下来我们去Luci网页页面去配置启动挂载点即可。
打开192.168.2.2 (路由器地址) 登录。
4.去Openwrt网页设置页面创建挂载点
1)打开浏览器登录openwrt后台, 依次从菜单进入 “系统” — “挂载点”, 点击右侧挂载点的“添加”按钮🔘。
2)点击“启用挂载点”勾选框框 ☑️ , UUID选择新建格式化的磁盘, 挂载点选择“作为外部overlay使用”。
3)点击“保存并应用” ,然后重新启动openwrt。