【硬创邦】跟hoowa学做智能路由(六下):扩充RAM和FLASH
本帖最后由 dongtao 于 2014-5-8 11:41 编辑创建主分区1并且容量为1G:
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-7802879, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-7802879, default 7802879): +1G
Created a new partition 1 of type ‘Linux’ and of size 1 GiB.
修改这个分区类型为SWAP类型:
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 82
Changed type of partition ‘Linux’ to ‘Linux swap / Solaris’.
修改这个分区类型为SWAP类型:
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 82
Changed type of partition ‘Linux’ to ‘Linux swap / Solaris’.
保存分区到磁盘上:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
[ 915.470000] sd 0:0:0:0: No Caching mode page found
[ 915.490000] sda: sda1
Syncing disks.
现在系统已经找到了sda1 一个分区了。
第二步: 格式化
hoowa向大家推荐使用ext3或ext4分区类型进行格式化,这样速度和稳定性都比较好。
这里演示了ext4格式化方法:
root@OpenWrt:~# mkfs.ext4 /dev/sda2
mke2fs 1.42.4 (12-June-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
178464 inodes, 712960 blocks
35648 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=734003200
22 block groups
32768 blocks per group, 32768 fragments per group
8112 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
格式化swap交换分区:
root@OpenWrt:/# mkswap /dev/sda1
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=5926536c-fa6e-48c3-a630-5c647b85ded6
用外置磁盘替换FLASH可写分区
第一步:设置fstab挂载参数
还记得本文前边讲的启动顺序吗?现在我们要修改fstab的参数,实现在下次启动的时候 由FLASH可写分区—>外置磁盘分区 的转变。
将/overlay/etc/config/fstab文件修改为如下的样子(这个时候修改是会直接在FLASH可写分区里生效):
#自动挂载部分
config global automount
#在hotplug执行的时候挂载,值为1表示打开
option from_fstab 1
#当hotplug执行到挂载的时候,自动挂载没有配置过的设备到/mnt/下。值为1表示打开
option anon_mount 1
#自动交换区挂载
config global autoswap
#在hotplug执行的时候挂载,值为1表示打开
option from_fstab 1
#自动挂载任何一个外置磁盘上的交换区,值为1表示打开
option anon_swap 1
#静态挂载
config mount
#目标挂载地址
option target /overlay
#被挂载的分区
option device /dev/sda2
#文件系统类型
option fstype ext4
#挂载参数
option options rw,sync
#是否启用,值为1表示启用
option enabled 1
#是否启用fsck(分区格式异常检测修复),值为1表示启用
option enabled_fsck 1
第二步:将/overlay内容都复制到外置磁盘上
root@OpenWrt:/# mkdir /mnt/sda2
root@OpenWrt:~# mount /dev/sda2 /mnt/sda2
[ 1318.380000] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
root@OpenWrt:/# tar -C /overlay -cvf – . | tar -C /mnt/sda2 -xf -
root@OpenWrt:~# umount /dev/sda2
第三步:重新启动系统
root@OpenWrt:~# reboot
第四步: 检测是否生效
/overlay是否已经到磁盘上:
root@OpenWrt:/# mount|grep sda2
/dev/sda2 on /overlay type ext4 (rw,relatime,data=ordered)
我们来检测下是否swap已经工作了:
root@OpenWrt:/# free
total used free shared buffers
Mem: 61356 19780 41576 0 1956
-/+ buffers: 17824 43532
Swap: 1048572 0 1048572
根据磁盘UUID挂载
本节内容仅限于当你有多个外置磁盘要挂载的情况,如果没有这一节可以跳过。
因为多个磁盘可能因为顺序不同盘符有所变化导致系统启动失败。在Linux中所有磁盘都有UUID编号,这个UUID编号是为了防止插入多个磁盘后顺序变化导致的系统失败,因为我们现在要将固定的一个外置磁盘作为文件系统,所以需要在这里记录下UUID编号,以便后续的加载。
第一步:找到系统分区的UUID的编号
hoowa的磁盘的分区位置在sda2就这么操作:
root@OpenWrt:/# blkid /dev/sda2
/dev/sda2: UUID=”24f983e0-04ba-4508-babf-b40c8347a6de” TYPE=”ext4″
其中括号中的就是UUID编号,每台机器不同。
第二步:重新返回FLASH可写分区的/overlay
如果直接修改/overlay/etc/config/fstab是不生效的,因为现在/overlay是在/dev/sda2上,如果要生效按照这个流程操作:
首先关闭开发板电源, 移出你的外置磁盘, 开机(由于找不到外置磁盘,这个时候系统恢复到了6.6节之前的状态)
检测当前是否已经恢复:
root@OpenWrt:/# mount|grep overlay
/dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlayfs (rw,noatime,lowerdir=/,upperdir=/overlay)
说明已经挂载回FLASH可写分区了。
第三步:修改fstab启用uuid
修改/overlay/etc/config/fstab文件,修改mount那一部分为如下效果:
config ‘mount’
option target ‘/overlay’
#下面这句注释掉或用uci删除
#option device ‘/dev/sda2′
#这个地方替换你刚才得到的UUID
option uuid ’24f983e0-04ba-4508-babf-b40c8347a6de’
option fstype ‘ext4′
option options ‘rw,sync’
option enabled ’1′
option enable_fsck ’1′
第四步:再次返回外部磁盘模式
关闭电源, 插入刚才的外置磁盘,再开启电源。再次检测到如果启动/overlay挂载在/dev/sda2上,表示设置完成。
经过以上操作以后,我们的系统以后安装软件都将自动安装到外置的磁盘上,而内存也通过Swap方式增加了1G容量。为我们后续玩更多的功能打好了基础。
另外需要注意,经过这样设置后这个外置磁盘就不能断开连接,也不能进行任何热插拔操作,否则系统将会崩溃。
强烈支持楼主ing……
页:
[1]