我在iStoreOS系统(基于OpenWrt)中,过修改/etc/rc.local
或/etc/fstab
文件均无法成功实现开机自动挂载Swap。 本文将指导您如何在OpenWrt系统中创建和启用交换文件,并创建一个专用的 OpenWrt 启动脚本,来实现每次开机时自动挂载。
步骤1: 创建交换文件
首先,您需要选择一个足够大的分区来存放交换文件。在这个例子中,我们使用 /mnt/data
分区。使用以下命令创建一个1GB的交换文件:
dd if=/dev/zero of=/mnt/data/swapfile bs=1M count=1024
步骤2: 设置交换文件
使用 mkswap
命令将文件设置为交换格式:
mkswap /mnt/data/swapfile
步骤3: 启用交换文件
立即启用交换文件,使用:
swapon /mnt/data/swapfile
步骤4: 创建开机启动脚本
为了确保交换文件在每次启动时自动挂载,我们需要创建一个启动脚本。在 /etc/init.d/
目录下创建一个名为 swap
的脚本:
vi /etc/init.d/swap
并添加以下内容:
#!/bin/sh /etc/rc.common
START=99
start() {
swapon /mnt/data/swapfile
}
stop() {
swapoff /mnt/data/swapfile
}
步骤5: 使脚本可执行并启用
给予脚本执行权限,并通过以下命令启用它:
chmod +x /etc/init.d/swap
/etc/init.d/swap enable
注意
在某些情况下,启动脚本可能需要一些时间来执行。在我们的例子中,开机后可能需要等待约3分钟才能成功挂载交换文件。请考虑这一点,以避免在系统启动时出现不必要的延迟。
编辑:ChatGPT