一般来说 路由器的闪存比较小 不足以安装大量扩展 所以需要用 U盘或者SD卡 启动
安装相关包
执行
opkg install block-mount kmod-usb2 kmod-sdhci kmod-usb-storage fdisk e2fsprogs
- block-mount 用于挂载
- kmod-usb-storage 用于识别移动设备
- kmod-sdhci 可选 用于识别SD卡
- fdisk 分区管理工具
- e2fsprogs 用于格式化分区
执行
opkg install kmod-fs-ext4 kmod-fs-vfat kmod-fs-nfs kmod-fs-cifs kmod-fs-autofs4
默认情况下 只需要安装
kmod-fs-ext4
就够了- kmod-fs-ext4 EXT4分区格式扩展
- kmod-fs-vfat FAT32分区格式扩展
- kmod-fs-nfs NFS挂载扩展
- 需要安装
nfs-utils
才能挂载 - 例:
mount -t nfs -o nolock 192.168.0.3:/home/app/nfs /mnt/nfs/
- 需要安装
- kmod-fs-cifs Samba挂载扩展
- 需要安装
cifsmount
才能挂载 - 例:
mount -t cifs //192.168.0.3/share /mnt/pi/
- 需要安装
- kmod-fs-autofs4 分区自动挂载
U盘分区
- 装完上述包之后插入U盘 这里用的是某迪的16G迷你U盘
- 如果是U盘 执行
ls /dev | grep sd
1
2
3root@LEDE:~# ls /dev | grep sd
sda
sda1 - 一般来说是这样的 sda 代表U盘 sda1 代表第一个分区 格式应该是FAT32
- 执行
fdisk /dev/sda
- 输入
p
查看分区1
2
3
4
5
6
7
8
9
10Command (m for help): p
Disk /dev/sda: 14.9 GiB, 16005464064 bytes, 31260672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 29685760 31260672 14.9G c FAT32 - 输入
d
删除分区- 会直接删除第一个分区 (如果过有数据 记得备份)
- 新建第一个分区 用于装载系统 按照顺序按下
n
新建分区- 提示 选择分区号 直接回车 默认1
- 提示 选择起始点 直接回车 默认2048
- 提示 配置分区大小 输入
+256M
回车 t
选择分区类型- 输入
83
代表Linux
类型的分区
- 新建第一个分区 用于Swap交换 按照顺序按下
n
新建分区- 提示 选择分区号 直接回车 默认2
- 提示 选择起始点 直接回车 默认526336
- 提示 配置分区大小 输入
+512M
回车 t
选择分区类型- 输入
82
代表Linux swap
类型的分区
- 新建第三个分区 用于存储内容 按照顺序按下
n
新建分区- 提示 选择分区号 直接回车 默认3
- 提示 选择起始点 直接回车 默认1574912
- 提示 选择结束点 直接回车 默认29685760
t
选择分区类型- 输入
83
代表Linux
类型的分区
- 输入
p
查看分区 此时的分区应该是这样的1
2
3
4
5
6
7
8
9
10
11
12Command (m for help): p
Disk /dev/sda: 14.9 GiB, 16005464064 bytes, 31260672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 526335 524288 256M 83 Linux
/dev/sda2 526336 1574911 1048576 512M 82 Linux swap / Solaris
/dev/sda3 1574912 31260671 29685760 14.2G 83 Linux - 输入
w
写入分区表
- 输入
格式化分区
- 格式化系统分区
mkfs.ext4 /dev/sda1
- 格式化交换分区
mkswap /dev/sda2
- 格式化存储分区
mkfs.ext4 /dev/sda3
挂载分区
- 挂载系统分区
mkdir -p /mnt/sda1
mount -t ext4 /dev/sda1 /mnt/sda1
- 挂载交换分区
swapon /dev/sda2
- 挂载存储分区
mkdir -p /mnt/sda3
mount -t ext4 /dev/sda3 /mnt/sda3
查看系统分区
- 执行
df -h
1
2
3
4
5
6
7
8
9root@LEDE:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 2.0M 2.0M 0 100% /rom
tmpfs 61.4M 1.0M 60.3M 2% /tmp
/dev/mtdblock6 12.3M 8.1M 4.2M 66% /overlay
overlayfs:/overlay 12.3M 8.1M 4.2M 66% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 239.9M 21.2M 201.9M 9% /mnt/sda1
/dev/sda3 6.8G 2.7G 3.8G 42% /mnt/sda3
迁移系统分区
- 执行
1
2
3
4
5
6
7
8mkfs.ext4 /dev/sda1
mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1
mkdir /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -xvf -
sync
umount /tmp/cproot
配置挂载文件
- 执行
block detect
- 写入挂在状态
block detect > /etc/config/fstab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config 'mount'
option target '/mnt/sda1'
option uuid 'a70415a3-ff97-40d6-b8c0-2895b7549c86'
option enabled '0'
config 'swap'
option uuid '6f193748-17d2-4c68-9a18-0354b1de6aa0'
option enabled '0'
config 'mount'
option target '/mnt/sda3'
option uuid '81a9f4f1-ed24-4e79-a713-499757c6233a'
option enabled '0' - 修改挂载路径 把
option target '/mnt/sda1'
改为option target '/'
- 修改为启用状态 把所有的
option enabled '0'
改成option enabled '1'
- 注意: 只修改上述两处 别的都别动
- 这是修改后的文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config 'mount'
option target '/'
option uuid 'a70415a3-ff97-40d6-b8c0-2895b7549c86'
option enabled '1'
config 'swap'
option uuid '6f193748-17d2-4c68-9a18-0354b1de6aa0'
option enabled '1'
config 'mount'
option target '/mnt/sda3'
option uuid '81a9f4f1-ed24-4e79-a713-499757c6233a'
option enabled '1'
修改 Banner 以便于区分是否从U盘启动
- 执行
vi /etc/banner
- 改成你喜欢的文本就行
- 比如下面的样子
重启 查看结果
- 重启后进入系统 查看分区大小
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18BusyBox v1.26.2 () built-in shell (ash)
_________
/ /\ _ ___ ___ ___
/ LE / \ | | | __| \| __|
/ DE / \ | |__| _|| |) | _|
/________/ LE \ |____|___|___/|___| lede-project.org
\ \ DE /
\ LE \ / -----------------------------------------------------------
\ DE \ / Boot From USB Storage (SNAPSHOT, r4101-54ea0f4)
\________\/ -----------------------------------------------------------
root@LEDE:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 2.0M 2.0M 0 100% /rom
tmpfs 61.4M 88.0K 61.3M 0% /tmp
/dev/sda1 239.9M 21.2M 202.0M 9% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda3 13.9G 40.0M 13.1G 0% /mnt/sda3 - 可以看到 分区已经变大了 可以随意安装软件了