标签: openwrt

  • openwrt安装Docker

    安装这几个

    执行
    cp /etc/config/dockerd-opkg /etc/config/dockerd
    修改docker配置或仓库地址在这个文件中配置
    然后重启(重启前docker不能正常工作)

    Views: 148

  • OpenWrt磁盘扩容

    我的测试结果是要扩充磁盘只能选择ext4分区,squashfs无法支持磁盘扩容,也不能挂载其它分区到/或/overlay,挂载到其它位置又起不到扩容的目的。这是一个古老bug导致的,https://github.com/openwrt/openwrt/issues/9015 ,openwrt并没有从rootfs中读取fstab而是从rom中。
    我用的是openwrt-23.05.0-x86-64-generic-ext4-combined-efi.img这个镜像

    1. 安装工具

    安装block-mount并重启后页面上才有挂载点管理功能

    opkg install block-mount parted
    reboot
    
    1. 添加磁盘


    添加磁盘而不是添加分区的原因是为了支持固件升级,升级后第一块磁盘除了配置文件都会被覆盖掉
    parted /dev/sdb
    mktable gpt
    mkpart primary ext4 0% 100%
    quit
    mkfs.ext4 -L extroot /dev/sdb1

    1. 挂载磁盘

    按如下配置,添加一个挂载点

    然后执行

    mount /dev/sdb1 /mnt
    tar -C /overlay -cvf - . | tar -C /mnt -xf - # 或 tar -C /rom -cvf - . | tar -C /mnt -xf - 取决于安装类型
    umount /mnt
    reboot
    

    转移文件到新磁盘是因为,如果刷固件的话原root分区中的数据会丢失,如果做的有配置或安装的有软件的话会导致刷固件后系统出问题,如果没有安装任何东西也可以不转移数据。
    重启后可以看到已经挂载成功


    刷固件后第一次启动extroot分区不会自动挂载,再重启一下就好了。

    基于命令行的实现方法:
    https://openwrt.org/docs/guide-user/additional-software/extroot_configuration

    Views: 77

  • PVE安装OpenWrt

    1. 创建虚拟机




    这里创建的efi磁盘稍后要删除掉,不然无法启动

    磁盘要删掉





    2. 导入openwrt镜像

    进入pve控制台执行以下命令

    wget https://mirror.sjtu.edu.cn/openwrt/releases/23.05.0/targets/x86/64/openwrt-23.05.0-x86-64-generic-squashfs-combined-efi.img
    gzip -d openwrt-23.05.0-x86-64-generic-squashfs-combined-efi.img
    qm disk import 117 openwrt-23.05.0-x86-64-generic-squashfs-combined-efi.img data-lvm
    

    命令执行结果如下图

    上面未使用的磁盘就是刚才导入的磁盘



    3. 设置引导


    4. 启动并设置openwrt


    进入shell后执行如下命令

    passwd
    ip addr del 192.168.1.1/24 dev br-lan
    ip addr add 192.168.33.30/24 dev br-lan
    ip route add default via 192.168.33.1
    echo nameserver 192.168.33.1 > /etc/resolve.conf
    sed -i 's/downloads.openwrt.org/mirror.sjtu.edu.cn\/openwrt/g' /etc/opkg/distfeeds.conf
    

    然后浏览器打开openwrt做其它设置

    Views: 41