build openWRT 编译树莓派4的openwrt固件
OpenWrt 是可用于嵌入式设备(无线路由器)的系统。OpenWrt具有路由器的全功能,同时也是易于修改的操作系统,它由更新的Linux内核提供支持。文章内容为 build 编译固件及安装,固件使用配置。
软路由和硬路由的不同:
软路由:是在设备(soc,pc等)上配合软件合成的路由解决方案。参数通过软件控制和设置,实现路由器的所有功能。扩展性强,可更换性能更强的硬件,可玩性提高。可以安装各种插件,如多拨叠加宽带提高网速,科学上网(穿墙),ap管理,内网穿透等。旧的电脑可做为软路由(网口太少,但可以设置单臂路由或添加usb扩展卡等),市面也有软路由成品。本文使用树莓派4,编译安装openwrt。
硬路由:就是我们普遍使用的路由器,厂家提供硬件和软件的解决方案。
目录:
固件的编译
流程操作:
不要用 root 用户 git 和编译,下载和首次编译时间会非常的耗时,推荐全局上网。
系统:Ubuntu 18 LTS x64
获取源码首次编译:
1 | tl8517@ubuntu:~$ sudo apt update //更新系统 |
源码的更新编译:
1 | tl8517@ubuntu:~/lede$ git pull |
清空配置重新编译:
1 | tl8517@ubuntu:~/lede$ git pull |
menuconfig配置:
操作方法:方向键移动,enter却菜单,按Y选择,N取消选择,M模块化编译。 双击ESC退出,/为搜索。
OpenWrt Configuration
Target System:目标系统
Subtarget:子目标
Target Profile:目标类型
Target Images:目标镜像(镜像,boot分区,root分区)
Administration:管理工具
Extra packages:附加组件(自动挂载设备)
Kernel modules:内核组件(文件系统,有线网卡,USB支持,无线网卡)]
LuCI:Web 控制面板(app,主题等)
Network:网络相关选项( Aria2 的 Web 控制面板,文件传输工具,SSH等)
Utilities:实用工具(解压缩,分区,编辑器,文件系统小工具,Shell,终端工具等)
Target System:目标系统
Target Images:目标镜像(镜像,boot分区,root分区)
Administration:管理工具
监控软件Htop,top的增强版
Extrapackages:附加组件(自动挂载设备)
automount:自动挂载USB 存储设备,若文件系统支持,自动挂载至设备。
autosamba:自动挂载 Samba 设备
Kernel modules:内核组件(文件系统,有线网卡,USB支持,无线网卡)
Kernel modules -> Filesystems 固件支持的文件系统
kmod-fs-exfat
kmod-fs-exportfs
kmod-fs-ext4
kmod-fs-f2fs
kmod-fs-nfs
kmod-fs-nfs-common
kmod-fs-nfs-common-rpcsec
kmod-fs-nfs-v3
kmod-fs-nfs-v4
kmod-fs-nfsd
kmod-fs-ntfs
kmod-fs-squashfs
kmod-fs-vfat
kmod-fuse
Kernel modules -> USB Support usb设备支持(usb网卡等)
Kernel modules -> Wireless Drivers 无线网卡支持
LuCI:Web 控制面板(app,主题等)
LuCI -> Applications
LuCI -> Themes 主题
Network:网络相关选项( Aria2 的 Web 控制面板,文件传输工具,SSH等)
Network -> Download Manager
Aria2 控制面板
Network -> File Transfer
网络文件传输菜单
Network -> File Transfer->Aria2 Configuration
添加对于aria2 支持
Network -> SSH
添加 openssh-sftp-client 和 openssh-sftp-server 来启用 SFTP 客户端和服务器。
Utilities:实用工具(解压缩,分区,编辑器,文件系统小工具,Shell,终端工具等)
Utilities -> Compression 压缩工具
bsdtar:tar 打包工具
gzip:gzip 压缩工具
unzip:zip 解压工具
zip:zip 压缩工具
Utilities -> Disc 分区工具
fdisk:MBR 分区工具
gdisk:GBT 分区工具
lsblk:磁盘设备及分区查看工具
Utilities -> Editors 编辑器工具
vim
Utilities -> Filesystem 文件系统相关的工具
f2fs-tools:开源 flash 文件系统
fstrim:回收文件系统上未使用的块工具
resize2fs:ext 分区大小工具
Utilities -> Shells 用户交互
Shell
Utilities -> Terminal 终端工具
双击ESC退出,保存,执行编译。
安装固件及远程登陆
将固件写入到内存卡,需要用到Win32DiskImager(噗,中文版的了)
完成后将内存卡插入树莓派,接上网线同时连接电脑,连接电源开机。
Windows10打开ssh功能。
添加功能->找到openssh
点击安装
终端登陆:
命令格式ssh root@192.168.1.1
ubuntu相同
默认IP:192.168.1.1
密码:password
修改局域网IP为内网同网段:option ipaddr '192.168.1.1'
1 | config interface 'loopback' |
浏览器登陆:
输入ip和密码登陆图形化界面
参考文档
各类插件作用:OpenWrt 编译 LuCI -> Applications 插件应用说明
各类插件olsr报错的问题:https://tl8517.com/openwrt-compile-error/
我使用的固件Onedrive点击下载
编译时的错误与解决:当时出错发的贴子连接
https://openwrt.org/
https://mlapp.cn/374.html
Openwrt官方源码固件链接:https://github.com/openwrt/openwrt
Lean-Openwrt固件源码链接:https://github.com/coolsnowwolf/lede