硬件情况:K500G6 X86工控路由电脑、4G内存、16G金士顿SSD
固件版本:git clone https://github.com/openwrt/openwrt.git 自己编译(Linux OpenWrt 4.14.63 )
安装方式:Ubuntu编译固件完成后执行dd if=openwrt-x86-generic-combined-ext4.img of=/dev/sdb
查看磁盘分配情况
ssh打开openwrt控制台,查看系统只用了两百多M,太浪费SSD了,如果长时间安装软件后面空间肯定会不够用。
1 | root@OpenWrt:/# df -h |
使用fdisk -l发现找不到命令,这里需要手动安装下
1 | opkg install fdisk |
安装后执行fdisk -l查看空间分配情况
1 | root@OpenWrt:/# fdisk -l |
对空闲空间进行分区
openwrt的fdisk貌似没有分区功能,没有fdisk -n命令,查找资料后发现可以使用cfdisk工具进行分区,cfdisk是一个基于curses的程序,用于分区任何硬盘驱动器
1 | opkg install cfdisk |
对空闲空间进行分区,默认分区类型为Linux
选择Free space——>primary——>Write——>yes
fdisk -l查看已经分好区了
1 | Device Boot Start End Sectors Size Id Type |
先对分区进行格式化,然后进行挂载
1 | mkfs.ext4 /dev/sda3 |
调整安装目录
安装目录在配置文件/etc/opkg.conf中定义。配置文件中目的地址格式是以dest开头,紧跟着目的地址的名称,最后是目录路径,必须从跟目录开始。
1 | dest root / |
安装目录定义后,目的地址名称就可以在安装命令中引用了。例如“-d ram”表示将软件安装到临时目录/tmp下。
安装命令类似如下格式:
opkg install
例如:
先卸载之前安装的fdisk,opkg remove fdisk
重新安装到opt目录,opkg install fdisk -d soft
安装完成后,如果执行fdisk,并不会找到该命令,还需要设置环境变量PATH,编译配置文件/etc/profile
1 | export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/opt/sbin:/opt/usr/sbin:/opt/usr/bin" |
修改后使用正常
1 | root@OpenWrt:/# ls /opt/usr/sbin/ |
有些软件安装包会在Init.d生成启动脚本,比如openvpn,这时就需要创建一个启动软连接,例如:
1 | ln -s /opt/etc/init.d/openvpn /etc/init.d/openvpn |
许多软件包在自定义的位置不能启动或者即使启动也不能成功执行,因为它在默认位置读取配置文件,因此需要在参数中制定配置文件位置,否则会因不能找到必须的配置文件而出错;还有些软件包在更改了目录后需要额外的软连接或者修改动态链接库文件名后缀才能使用,并且Luci配置页面只会显示安装在根目录的软件包,希望后面可以优化,将指定的安装目录加入空闲空间。