N1很适合当旁路由,散热良好,功耗很低,性能也够用。自己编译固件,可以去掉不需要的插件,减少不必要的风险。
注意:
- 不要用 root 用户 git 和编译!!!
- 国内用户编译前最好准备好代理
- 默认登陆IP 192.168.1.1, 密码 password
编译命令
首先装好 Linux 系统,以下编译都在 Debian 12下完成
安装编译依赖
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 unzip vim wget xmlto xxd zlib1g-dev btrfs-progs dosfstools uuid-runtime parted
下载源代码,更新 feeds 并选择配置
git clone https://github.com/coolsnowwolf/lede cd lede vim feeds.conf.default //去掉所有注释 ./scripts/feeds update -a ./scripts/feeds install -a make menuconfig
当你输入make menuconfig回车之后,会进入可视化选择界面
Applications里是安装的app,可以删除一些不需要的app,让固件更简洁。注意按空格键出现*号表示编译到固件,出现M表示生成安装的app。
OpenWrt 编译 LuCI -> Applications 添加插件应用说明-L大
下面是其它的一些设置
Target System -> QEMU ARM Virtual Machine Subtarget -> QEMU ARMv8 Virtual Machine (cortex-a53) Target Profile -> Default Target Images -> tar.gz *** 必选软件包(基础依赖包,仅保证打出的包可以写入EMMC,可以在EMMC上在线升级,不包含具体的应用): Languages -> Perl -> perl-http-date -> perlbase-getopt -> perlbase-time -> perlbase-unicode -> perlbase-utf8 Utilities -> Disc -> blkid、fdisk、lsblk、parted -> Filesystem -> attr、btrfs-progs(Build with zstd support)、chattr、dosfstools、 e2fsprogs、f2fs-tools、f2fsck、lsattr、mkf2fs、xfs-fsck、xfs-mkfs -> Compression -> bsdtar 或 p7zip(非官方源)、pigz -> Shells -> bash -> gawk、getopt、losetup、tar、uuidgen * (可选)Wifi基础包: * 打出的包可支持博通SDIO无线模块,Firmware不用选, * 因为打包源码中已经包含了来自Armbian的firmware, * 会自动覆盖openwrt rootfs中已有的firmware Kernel modules -> Wireless Drivers -> kmod-brcmfmac(SDIO) -> kmod-brcmutil -> kmod-cfg80211 -> kmod-mac80211 Network -> WirelessAPD -> hostapd-common -> wpa-cli -> wpad-basic -> iw
支持 iPv6: 1、Extra packages ---> ipv6helper (选定这个后下面几项自动选择了) Network ---> odhcp6c Network ---> odhcpd-ipv6only LuCI ---> Protocols ---> luci-proto-ipv6 LuCI ---> Protocols ---> luci-proto-ppp
修改默认ip,大概在99行很明显这就是我们的默认路由器的IP地址,如有必要修改成自己需要的ip
vim package/base-files/files/bin/config_generate
下载 dl 库,编译固件 (-j 后面是线程数,第一次编译推荐用单线程)
make download -j8 make V=s -j1
编译时间取决服务器性能,我大概用了四个多小时编译完成,
这里就得到了一个openwrt-armvirt-64-generic-rootfs.tar.gz
路径在lede/bin/targets/armvirt/64
打包固件
下载flippy提供的n1内核,boot dtb-amlogic modules 开头的三个压缩包
Flippy预编译好的 Arm64 内核 (在 https://t.me/openwrt_flippy 及 https://pan.baidu.com/s/1tY_-l-Se2qGJ0eKl7FZBuQ 提取码:846l)
切换到root用户,需要把 Flippy预编译好的 Arm64 内核(上面下载的三个压缩包)上传至 /opt/kernel目录(目录需要自己创建)
cd /opt git clone https://github.com/unifreq/openwrt_packit
把编译好的 openwrt-armvirt-64-generic-rootfs.tar.gz 上传至 /opt/openwrt_packit目录中
cd /opt/openwrt_packit #修改配置内容改成自己导入的内核名称(上面下载的三个压缩包) vi make.env KERNEL_VERSION=6.1.69-flippy-87+ #保存,开始打包 ./mk_s905d_n1.sh #s905d表示生成 Phicomm N1所用的固件
生成好的固件是 .img 格式, 存放在 /opt/openwrt_packit/output/openwrt_s905d_n1_R23.10.24_k6.1.69-flippy-87+.img 目录中,下载刷机即可
默认登陆IP 192.168.1.1 密码 password
刷入固件
刷入u盘,下载balenaEtcher
https://etcher.balena.io/#download-etcher
Select image #选择固件包
Select drive #选择U盘
Flash #开始刷入U盘
Comments | NOTHING