newifi 您所在的位置:网站首页 m7621 newifi

newifi

2024-02-19 12:59| 来源: 网络整理| 查看: 265

newifi_D2_新3_lede_插U盘扩容overlay_装可道云

转载注明来源: 本文链接 来自osnosn的博客,写于 2021-09-17.

参考 官方文档【Extroot configuration】,感觉较复杂,阅读吃力。 【软路由LEDE折腾overlay分区扩容之路】 参考价值高:【Openwrt的Overlay 文件系统是什么?如何扩容增加可用空间】 其他文章 虚拟机映像扩容,见【openwrt_21.02_img_空间扩容_改分区表大小】 设备情况 newifi D2 (新3路由器 mt7621),有不死 breed,刷了 LEDE。overlay 剩余空间 5MB。 买了个 32GB 的 U 盘,插上去,openwrt 识别为 sda, sda1 。sda1 是 vfat 格式(win格式化的)。 如果是官方版openwrt,不识别U盘,需要 opkg install block-mount kmod-fs-ext4 kmod-usb-storage-uas 选装 kmod-sdhci(SD卡支持) kmod-fs-exfat kmod-fs-vfat 选装 e2fsprogs blkid fdisk 磁盘工具。 如果还不行,再试试(2.0驱动) kmod-usb2 kmod-usb-ehci kmod-usb-ohci kmod-usb-uhci kmod-scsi-generic 挂载在 /mnt/sda1 修改 /etc/opkg.conf 中,改 option rootfs_overlay /overlay 为 option rootfs_overlay /mnt/sda1 软件包界面,看到剩余空间变大。但实际安装软件包,还是装到仅有5MB的overlay中,很快就满了。导致任何配置的修改,都无法保存。只能恢复出厂设置。 扩容 overlay, 其实是用U盘空间替换原来的 overlay (成功) 不修改 /etc/opkg.conf。 U盘格式化为 ext4, 作为新的 overlay 分区。 fdisk 创建磁盘 sda1。通常 U盘可以正常使用,就无需重新分区。除非你想再分出一个 swap 区。 如果没有 fdisk 指令,安装 opkg install fdisk mkfs.ext4 /dev/sda1 格式化 sda1 分区,为 ext4 文件系统格式 如果没有 mkfs.ext4 指令,安装 opkg install e2fsprogs 或者不格式化。挂载后只删除U盘中 upper 和 work 两个目录。 mount /dev/sda1 /mnt/sda1 将sda1分区挂载到目录 cp -r /overlay/* /mnt/sda1 将overlay内容拷贝到sda1 因为要替换原来的 overlay,所以要把内容全部 copy 过来。 在openwrt的web管理界面, 挂载sda1分区, 用途为"overlay使用", 并启用。 openwrt WEB管理界面 --> 系统 --> 挂载点, 编辑挂载点,勾上"启用此挂载点",挂载点选"作为外部overlay使用",点击“保存&应用"。 提交后,web界面上看,似乎没挂上。 不理他,直接重启整个路由。 重启openwrt后查看,软件空间已扩容。 发现原来的 overlay 挂载在 /mnt/mtdblock6。U盘挂载为 overlay。软件包页面显示,空间变大了。 装可道云 (nginx,php7配置ok。安装kodbox成功,但不能上传文件。安装kodExplorer失败。) tencent源似乎不稳定, 原为src/gz openwrt_core https://mirrors.cloud.tencent.com/lede/snapshots/targets/ramips/mt7621/packages 改为src/gz openwrt_core https://mirrors.ustc.edu.cn/lede/snapshots/targets/ramips/mt7621/packages 换源,批量修改: sed -i 's/mirrors.cloud.tencent.com/mirrors.ustc.edu.cn/g' /etc/opkg/distfeeds.conf opkg install nginx 可道云要 nginx 支持。安装失败,则用opkg --force-overwrie install nginx 不装这行,不替换uhttpd了。"opkg install nginx-mod-luci" openwrt的web配置界面,用nginx替换uhttpd。避免端口冲突。 修改 /etc/config/nginx 中的 80口,改为88。(与uhttpd不冲突即可) 执行 /etc/init.d/nginx restart,或者在web界面的"启动项"中,重启 nginx。 nginx 修改端口在/etc/config/nginx。缺省为 80 443。 修改root路径在/etc/nginx/uci.conf.template。缺省为root=/www; uhttpd 修改端口在/etc/config/uhttpd。缺省为 80。 php7-fpm 修改 doc_root 在 /etc/php.ini。缺省为doc_root="/www"。或者注释掉这行。 opkg install php7-fpm 可道云要 php7.3 以上的支持。 opkg install php7-mod-pdo php7-mod-pdo-sqlite php7-mod-sqlite3 打算不使用mysql,使用sqlite3。 opkg install php7-mod-gd php7-mod-iconv php7-mod-json php7-mod-mbstring php7-mod-curl php7-mod-xml opkg install php7-mod-session 没这个,数据库管理后台进不去。 php7-fpm 缺省在 /var/run/php7-fpm.sock 上监听。 php7-fpm 缺省以 nobody 身份执行。 创建以下几个配置文件。 # file: /etc/nginx/php7-fpm.conf location ~ \.php(?:$|\/) { fastcgi_pass unix:/var/run/php7-fpm.sock; fastcgi_index index.php; fastcgi_split_path_info ^(.+?\.php)(/.*)$; try_files $fastcgi_script_name =404; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info if_not_empty; include fastcgi_params; }

.

# file: /etc/nginx/conf.d/kod.locations location /kod{ allow all; index index.php index.htm index.html; include php7-fpm.conf; } 搞不明白 location 中, 有 php-fpm 时, root 或 alias 的配置项的效果。所以还是使用 symbolic links 算了。 mkdir /overlay/kod ln -s /overlay/kod /www/kod 去可道云官网下载源码,copy到openwrt的 /overlay/kod/ 目录中,解压。 openwrt 中有 unzip 命令可以解压 .zip,如果没有 opkg install unzip 不要 kodbox,要下载个人使用的 kodExplorer。(kodbox安装后,无法使用,不能上传文件。) 权限设置,让 php-fpm 可以访问,chown -R nobody /overlay/kod 用浏览器,访问 http://路由器的IP/kod/ 开始安装可道云。根据提示一步一步安装。 (实际访问时,返回空白页面,无法进入安装,不知道少了什么组件) 数据选择 sqlite3 或者 pdo + sqlite3 (新3就不跑 MariaDB-10 这么重的应用了) Newifi_mini 插 USB2.0 盘(FAT32) mt7620 , openwrt-19.07 安装,kmod-usb-storage block-mount kmod-fs-vfat kmod-usb2 kmod-usb-core kmod-usb-ehci kmod-usb-ohci 已经有了。 总共占用300-400kb 的 flash空间。 kmod-usb3 不需要。 kmod-usb-uhci 不需要,无用。 装 kmod-fs-vfat, 其他的按需,比如 kmod-fs-ext4 kmod-fs-exfat kmod-fs-ntfs, 装 block-mount 后,重启 op。web配置页面,设置挂载 U 盘。 挂载点->添加。在,高级设置->挂载选项。 对于vfat,填入"utf8"。也许就能看到u盘的中文文件名。 对于ext4,可以加入"noatime"。 opkg安装软件到u盘 不改动opkg默认设置,只是把某几个比较大的软件包,指定安装到U盘上。 【官方文档 Non-standard installation destinations】 【Openwrt 安装软件到U盘或硬盘】,【opkg 安装到 U 盘】 只能安装一般软件,不能把 kmod 包,安装到外部存储上。 过程mkdir /mnt/sda1/pkgs/ echo dest usb /mnt/sda1/pkgs/ >> /etc/opkg.conf #或者手工在opkg.conf的最后一行后加入dest usb /mnt/sda1/pkgs/ 记住安装软件时不要漏了--dest usb,这样才会安装到U盘或硬盘上。如:opkg --dest usb install python ln -s /mnt/sda1/pkgs/usr/bin/python /usr/bin/python 如果安装时出现错误extract_archive: Cannot create symlink from ???? to ????: Operation not permitted. 是因为U盘的文件系统不支持软链接。 比如 fat, vfat 就不支持软连接。 问题不大,不能 link,就 copy 一份。 所以,U盘最好使用 ext4 文件系统。 如果装了某个包,使用了动态库。执行时出现类似 Error relocating ./xxx: ????: symbol not found的错误。 或者,把/mnt/sda1/pkgs/usr/lib/中对应的库文件, 软连接到 /usr/lib/中。 或者,指定环境变量 export LD_LIBRARY_PATH=/mnt/sda1/pkgs/usr/lib, 可以写在 /etc/profile 中,加一行export LD_LIBRARY_PATH=。 执行新装的程序,不想打这么长的路径,可以把/mnt/sda1/pkgs/usr/bin 加入到PATH环境变量中。 可以修改 /etc/profile中配置 export PATH= 的行。 opkg安装的软件包,如果包含/etc/config/配置,和/etc/init.d/启动脚本。 因为装到u盘了,所以不会出现在luci的webUI界面中。 也许需要copy到正确的位置,并修改内容。 我没使用它们,也没copy过来。而是直接写命令在/etc/rc.local中启动。 改 U盘文件系统格式,为 ext4。 临时安装 opkg install e2fsprogs badblocks (约占rom 1.2MB空间)。 先备份 U盘内容,然后卸载 U盘文件系统,umount /mnt/sda1 格式化为 ext4,mkfs.ext4 /dev/sda1 如果需要,用 badblocks搜索一下坏块,用 e2fsck 标记坏块。(这步非常耗时,128MB的空间,折腾了1个多小时)。 挂载文件系统,挂载参数加上 noatime,减小 U盘写入量。 从备份中恢复 U盘内容。 移除磁盘工具,opkg remove e2fsprogs badblocks --autoremove 不行的话,手工一项项删吧。 需要删的包 libuuid1 libblkid1 libcomerr0 libss2 libext2fs2 e2fsprogs badblocks Newifi_D2 插 USB2.0/3.0 盘 mt7621 , openwrt-22.03 安装,kmod-usb-storage-uas kmod-usb-storage block-mount kmod-fs-vfat kmod-usb3 kmod-usb-core kmod-usb-xhci-hcd kmod-usb-xhci-mtk 已经有了。 通常 USB3 的设备支持uas,速度更快。 kmod-usb2 不需要。 装 kmod-fs-vfat, 其他的按需,比如 kmod-fs-ext4 kmod-fs-exfat kmod-fs-ntfs, 装 block-mount 后,重启 op。web配置页面,设置挂载 U 盘。 挂载点->添加。在,高级设置->挂载选项。 对于vfat,填入"utf8"。也许就能看到u盘的中文文件名。 对于ext4,可以加入"noatime"。

转载注明来源: 本文链接 https://www.cnblogs.com/osnosn/p/15303262.html 来自 osnosn的博客 https://www.cnblogs.com/osnosn/ .



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有