只好想其它办法来解决4M空间不足的问题了.openwrt有两种解决办法,一是通过extroot把整个文件系统挂载到外置存储来运行,还有就是像ddwrt,tt一样,把部分体积大的用户软件安装到U盘,像transmission aria2, python等. 这个比extroot更灵活一些,也更稳定一点,因为不是整个文件系统都放到u盘.废话不多说了,下面说下具体步骤。
1. 通过ssh登入路由,修改/etc/opkg.conf。
2. 通过上面的修改后,现在可以把软件安装到相应的目录了。
3. 安装完之后,并不可以直接运行,还需设置两个环境变量,PATH和LD_LIBRARY_PATH,没有设置好PATH变量,你运行aria2c会提示找不到命令,而LD_LIBARY_PATH没设好就会提示xxlib.so没有找到。打开/etc/profile,加入lib路径和bin路径,如下图.。
修改后运行一下source /etc/profile。
4.现在运行aria2c试下
其它不通过uci系统配置的软件也可以按照这个方法来安装,包括python,reaver,aircrack-ng等.安装通过uci系统配置的软件需要还需要拷贝配置文件到相应的目录,这些软件有transmission,samba, mjpg-streamer,ushare,openvpn.下面以transmission为例再简单说下这类软件的安装步骤。前面的步骤其实是一样,只是这类软件多了配置文件,主要是/etc/config/和/etc/init.d/下面的,只需要把这些文件拷到对应的目录就好了。所以要把/mnt/sda1/optware/etc/config/transmission 和/mnt/sda1/optware/etc/init.d/transmission分别拷贝到/etc/config/和/etc/init.d/下面,除此之外,还需要把/etc/init.d/transmission里面的/usr/bin/transmission修改为/mnt/sda1/optware/usr/bin/transmission-daemon。
大功造成,现在可以用/etc/init.d/transmission start启动transmission了。
解决安装openwrt应用是overlay空间不够问题的方法: 有两种方式安装: 登录路由web界面(一般是192.168.1.1),在openwrt的软件安装界面上选择上传安装。 登录openwrt控制台,可用ssh登录或通过路由的TTL接口在控制台用命令进行安装:用winscp将下载的ipk安装包上传到路由器中,用命令opkg install xxx.ipk安装即可。
重启时点按reset键,点按,不是按住。看到指示数快闪时就成功了。不行再试。然后用telnet连接192。168。1。1就可以输入firstboot命令。
开发设置。OpenWrt可以被描述为一个嵌入式的Linux发行版,因其所需空间大小紧凑,需要压缩大小,所以在OpenWrt开发时,将系统内字体设置为小字体,为了方便缩减占用内存,OpenWrt发行与2004年1月,OpenWrt是使用框架来构建应用程序。
用树莓派刷了OpenWrt当路由器,但是刷完后发现16G的内存卡,使用的容量还不到1G,这就导致用树莓派下载电影时提示磁盘容量不足,所以需要对磁盘分区进行扩容。本文是将分区全部扩展的过程,所使用的方法不局限于树莓派OpenWrt扩容,Linux服务器和电脑扩容也可以按照本文的方法进行。
首先看下未扩容前的sd卡容量
root@OpenWrt:~# df -h。
Filesystem Size Used Available Use% Mounted on。
/dev/root 252.0M 23.2M 223.7M 9% /。
tmpfs 461.6M 1.1M 460.5M 0% /tmp。
/dev/mmcblk0p1 19.9M 14.5M 5.4M 73% /boot。
tmpfs 512.0K 0 512.0K 0% /dev。
root@OpenWrt:~#。
1.
2.
3.
4.
5.
6.
7.
1.
2.
3.
4.
5.
6.
7.

可以看到容量都不大,也就几百兆的大小。
下面开始对OpenWrt分区进行扩容。
把树莓派的SD卡取出来,插到Linux电脑上,我的环境是Ubuntu。
1.确定sd卡盘符
使用df -h命令,查看sd卡的盘符:

确定sd的盘符是/dev/sdc。
2.卸载/dev/sdc2
umount /dev/sdc2。
1.
1.
3.用fdisk命令开始重新分区。
进入分区程序:
sudo fdisk /dev/sdc。
1.
1.
查看当前分区情况:p

这里一定要记住/dev/sdc2分区的起点(我的是57344,等会要用到)。
4.删除分区2
删除分区:m
选择删除分区2:2

5.重新新建分区2
然后新建分区:n
分区类型选择主分区:p
分区号输入2:2
起始扇区选择原来的点:57344。
最后一个扇区选择默认:enter。
这样就新建了一个分区2,并且分区包含了剩下的全部空间。

接着提示是否移除”分区 #2 的 ext4 签名“,选择否:no。
6.保存分区修改
最后输入w保存刚才的分区

7.使修改生效
sudo e2fsck /dev/sdc2。
sudo resize2fs /dev/sdc2。
1.
2.
1.
2.
这样就完成了树莓派OpenWrt分区扩容,将SD卡重新插回树莓派,开机后就可以看到分区已经扩容成功了!

全部过程记录:
lixinxing@li:~$ sudo fdisk /dev/sdc。
欢迎使用 fdisk (util-linux 2.31.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助): p。
Disk /dev/sdc:14.9 GiB,15931539456 字节,31116288 个扇区。
单元:扇区 / 1 * 512 = 512 字节。
扇区大小(逻辑/物理):512 字节 / 512 字节。
I/O 大小(最小/最佳):512 字节 / 512 字节。
磁盘标签类型:dos
磁盘标识符:0x5452574f。
设备 启动 起点 末尾 扇区 大小 Id 类型。
/dev/sdc1 * 8192 49151 40960 20M c W95 FAT32 (LBA)。
/dev/sdc2 57344 31116287 31058944 14.8G 83 Linux。
命令(输入 m 获取帮助): d。
分区号 (1,2, 默认 2): 2。
分区 2 已删除。
命令(输入 m 获取帮助): n。
分区类型
p 主分区 (1个主分区,0个扩展分区,3空闲)。
e 扩展分区 (逻辑分区容器)。
选择 (默认 p): p
分区号 (2-4, 默认 2): 2。
第一个扇区 (2048-31116287, 默认 2048): 57344。
上个扇区,+sectors 或 +size{K,M,G,T,P} (57344-31116287, 默认 31116287): 。
创建了一个新分区 2,类型为“Linux”,大小为 14.8 GiB。
分区 #2 包含一个 ext4 签名。
您想移除该签名吗? 是[Y]/否[N]: n。
命令(输入 m 获取帮助): w。
分区表已调整。
正在同步磁盘。
lixinxing@li:~$ sudo resize2fs /dev/sdc2。
resize2fs 1.44.1 (24-Mar-2018)。
/dev/sdc2 上的文件系统已被挂载于 /media/lixinxing/57f8f4bc-abf4-655f-bf67-946fc0f9f25b;需要进行在线调整大小。
old_desc_blocks = 1, new_desc_blocks = 1。
resize2fs: 无效的参数 检查是否支持在线调整文件系统大小时。
lixinxing@li:~$ umount /dev/sdc2。
lixinxing@li:~$ sudo resize2fs /dev/sdc2。
resize2fs 1.44.1 (24-Mar-2018)。
请先运行“e2fsck -f /dev/sdc2”。
lixinxing@li:~$ sudo e2fsck /dev/sdc2。
e2fsck 1.44.1 (24-Mar-2018)。
最后一个组的块位图未初始化。 处理? 是。
第 1 步:检查inode、块和大小。
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
块位图的差异: +(65536--66049)。
处理? 是
/dev/sdc2:***** 文件系统已修改 *****。
/dev/sdc2:1417/24576 文件(0.0% 为非连续的), 7480/98304 块。
lixinxing@li:~$ sudo resize2fs /dev/sdc2。
resize2fs 1.44.1 (24-Mar-2018)。
将 /dev/sdc2 上的文件系统调整为 3882368 个块(每块 4k)。
/dev/sdc2 上的文件系统现在为 3882368 个块(每块 4k)。
lixinxing@li:~$。