U盘启动openwrt

本文编写于3866天前,最后编辑于 3736天前,部分内容可能已经过时,请您自行斟酌确认。

首先,更新软件列表(每次重启路由器后,需要先运行一次这个,才能安装软件包)

opkg update

1.安装移动存储设备支持

opkg install kmod-usb-storage

立刻就可以查看u盘及其分区

ls /dev

观察里面是否出现sda sda1 sda2 sda3等字样
sda说明是名为sda的设备 sda1是它的第一个分区 后面依次推类

2.安装EXT4文件系统

opkg install kmod-fs-ext4

3.安装文件系统格式化及检查工具(若不安装不能使用mkfs.ext4格式化命令)

opkg install e2fsprogs

4.安装u盘分区工具(选择安装)

opkg install cfdisk

然后可以进行u盘分区

cfdisk /dev/sda

在界面里进行分区,可以分为主分区或者逻辑分区
分为主分区 那么就会使用名字sda1 到sda4,逻辑分区 使用sda5之后的名字
这里只具有分区功能,不会格式化分区。
我把u盘分为三个分区sda1 sda2 sda3

5.格式化u盘

mkfs.ext4 /dev/sda1 将第一个分区格式化为ext4格式
mkswap /dev/sda2 将第二个分区格式化为swap交换分区
mkfs.ext4 /dev/sda3 将第三个分区格式化为ext4格式

6.安装开机从u盘启动

opkg install block-mount

7.修改 /etc/config/fstab 文件,让系统启动自动挂载,修改成如下

最上方这一段保留

config global automount
option from_fstab 1
option anon_mount 1

config global autoswap
option from_fstab 1
option anon_swap 0

下方的修改

方法一(最简单,推荐):

config mount #把sda1分区挂载为系统
option target /overlay
option device /dev/sda1
option fstype ext3
option options rw,sync
option enabled 1
option enabled_fsck 0

config swap #把sda2分区挂载为交换分区
option device    /dev/sda2
option enabled

config mount #把sda3分区挂载在mnt文件夹上,作为存储网站和文件的地方
option target    /mnt
option device    /dev/sda3
option fstype    ext4
option options    rw,sync
option enabled    1

方法二:

config mount
# option target /home  #这一行要不要无所谓了,我一般是去掉或者在前面加一个“#”
option device /dev/sda1
option fstype ext3
option options rw,sync
option enabled 1
    option is_rootfs 1

config swap
option device    /dev/sda2
option enabled

config mount
option target    /mnt
option device    /dev/sda3
option fstype    ext4
option options    rw,sync
option enabled    1

方法三:

config mount
option target /
option device /dev/sda2
option fstype ext3
option options rw,sync
option enabled 1
option enabled_fsck 0

config swap
option device    /dev/sda2
option enabled

config mount
option target    /mnt
option device    /dev/sda3
option fstype    ext4
option options    rw,sync
option enabled    1

8.执行如下命令让其生效(选择执行,因为默认是生效的)

/etc/init.d/fstab enable

9.挂载u盘

mount /dev/sda1 /mnt/

10.建立一个用来同步系统文件的临时文件夹

mkdir /tmp/root

11.挂载并同步系统根目录“/”到 /tmp/root

mount -o bind / /tmp/root

[右边备份系统用,可不用关注:压缩tar -cpzvf /tmp/root.tar.gz /mnt/root 解压缩tar -xpzvf /tmp/root.tar.gz]

12.拷贝/tmp/root下所有文件到 “/mnt”,这个其实就是把系统文件复制到你的U盘了

cp /tmp/root/* /mnt -a

[右边为其他需求的备选命令,可不用关注:rm -rf 删除命令]

11、卸载 解除系统文件同步

umount /tmp/root

7、方便你以后知道是不是从U盘启动了(此步非必须)
从u盘上修改/mnt/etc/banner,添加一点点标识 比如boot from usb

15.重启路由器

reboot

观察欢迎界面是否出现boot from usb
df -h 查看磁盘使用及挂载情况

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注