====== OpenWrt ====== * [[https://openwrt.org/]] * [[https://openwrt.org/packages/start|Packages]], ''opkg'' ===== device ===== * https://openwrt.org/docs/guide-developer/adding_new_device ===== Tips ===== * openwrt 内 ''git clone'' 时遇到 报错 git: 'remote-https' is not a git command. See 'git --help',安装 git-http 可解决此问题 ''opkg install git-http'' ===== feeds ===== * https://openwrt.org/docs/guide-developer/feeds * [[https://openwrt.org/docs/guide-developer/toolchain/single.package|Building a single package]] - 编译单一 package的步骤 ===== ubus ===== * https://openwrt.org/docs/techref/ubus ===== UCI ===== * https://openwrt.org/docs/guide-user/base-system/uci * ''/etc/config/'' ===== LuCI ===== * https://github.com/openwrt/luci * https://github.com/openwrt/luci/wiki/Documentation * [[http://openwrt.github.io/luci/api/index.html|Server side Lua APIs]] * 大部分数据获取通过 [[https://openwrt.org/docs/techref/ubus|ubus]], 由实现 jsonrpc2.0 协议的 ''uhttpd-mod-ubus'' 模块提供功能 ===== uHTTPd ===== * https://openwrt.org/docs/guide-user/services/webserver/http.uhttpd * https://openwrt.org/docs/guide-user/services/webserver/uhttpd ===== VLAN ===== * [[https://info.support.huawei.com/info-finder/encyclopedia/zh/VLAN.html|VLAN介绍]] * [[https://openwrt.org/docs/guide-user/network/vlan/switch_configuration|openwrt 对于 vlan 操作的介绍]], * 使用 openwrt swconfig 驱动方式的 switch 设备可以用 ''switch_vlan'' 的方式进行 vlan 划分; * 而使用 linux 最新 DSA switch 驱动方式的,则使用 openwrt v21.0 之后的luci 界面表现的 ''bridge_vlan'' 方式划分vlan。 * DSA switch 驱动会把每个lan口都表现为一个lan设备, ifconfig 会看到 lan1到lan4不等 ===== VMWare 创建 OpenWrt 虚拟机 ===== - 在官网下载 **x86/64** 的img, 比如 https://downloads.openwrt.org/releases/21.02.3/targets/x86/64/openwrt-21.02.3-x86-64-generic-ext4-combined-efi.img.gz - 使用工具 **StarWind V2V Converter** 把 img 转为 vmdk - 在 VMWare 创建虚拟机,系统选择【 Linux / 其他 Linux 5.x 及更高版本内核 64 位】 - 网络选择 NAT (VMWare 需提前创建好 NAT模式虚拟网络) - 选择已有的硬盘,加载之前转换好的 vmdk 文件 - 开机,进去修改网络: uci set network.lan.proto=dhcp uci commit network /etc/init.d/network restart - ''ifconfig'' 查看 lan 的 ip, host 主机浏览该 ip 即可看到 LuCI 页面。 - 扩展硬盘, 参考[[https://blog.csdn.net/duandao123/article/details/99689383|此文]]: - 在 vmware 扩展硬盘; - 进入openwrt, 安装必要软件: ''opkg update'', ''opkg install block-mount e2fsprogs fdisk blkid'' - 配置新分区fdisk /dev/sda m # enter help n # add new 3 # 分区号选择默认3 默认默认 w # 写入 # fdisk 结束 reboot # 重启 mkfs.ext4 /dev/sda3 # 格式化 reboot # 重启 - 复制根目录到新分区 mkdir /mnt/sda3 mount /dev/sda3 /mnt/sda3 mkdir -p /tmp/cproot mount --bind / /tmp/cproot tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda3 -xf - umount /tmp/cproot umount /mnt/sda3 - 配置 fstab blkid -s UUID /dev/sda3 | cut -d\" -f2 # 得到 /dev/sda3 的uuid f53ad0a2-18ba-4d37-8d1a-44ad3d1b4ce4 # uuid uci add fstab mount uci set fstab.@mount[-1].uuid= # 此处 为上方得到的 uuid uci set fstab.@mount[-1].options=rw,sync,noatime uci set fstab.@mount[-1].fstype=ext4 uci set fstab.@mount[-1].enabled_fsck=1 uci set fstab.@mount[-1].enabled=1 uci set fstab.@mount[-1].target=/ uci set fstab.@mount[-1].device=/dev/sda3 uci commit fstab /etc/init.d/fstab enable /etc/init.d/fstab start - ''reboot'' 重启确认硬盘成功扩展