本帖最后由 dongtao 于 2014-5-8 11:41 編輯
創(chuàng)建主分區(qū)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.
修改這個分區(qū)類型為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’.
修改這個分區(qū)類型為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’.
保存分區(qū)到磁盤上:
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: [sda] No Caching mode page found
[ 915.490000] sda: sda1
Syncing disks.
現(xiàn)在系統(tǒng)已經(jīng)找到了sda1 一個分區(qū)了。
第二步: 格式化
hoowa向大家推薦使用ext3或ext4分區(qū)類型進(jìn)行格式化,這樣速度和穩(wěn)定性都比較好。
這里演示了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交換分區(qū):
root@OpenWrt:/# mkswap /dev/sda1
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=5926536c-fa6e-48c3-a630-5c647b85ded6
用外置磁盤替換FLASH可寫分區(qū)
第一步:設(shè)置fstab掛載參數(shù)
還記得本文前邊講的啟動順序嗎?現(xiàn)在我們要修改fstab的參數(shù),實現(xiàn)在下次啟動的時候 由FLASH可寫分區(qū)—>外置磁盤分區(qū) 的轉(zhuǎn)變。
將/overlay/etc/config/fstab文件修改為如下的樣子(這個時候修改是會直接在FLASH可寫分區(qū)里生效):
#自動掛載部分
config global automount
#在hotplug執(zhí)行的時候掛載,值為1表示打開
option from_fstab 1
#當(dāng)hotplug執(zhí)行到掛載的時候,自動掛載沒有配置過的設(shè)備到/mnt/下。值為1表示打開
option anon_mount 1
#自動交換區(qū)掛載
config global autoswap
#在hotplug執(zhí)行的時候掛載,值為1表示打開
option from_fstab 1
#自動掛載任何一個外置磁盤上的交換區(qū),值為1表示打開
option anon_swap 1
#靜態(tài)掛載
config mount
#目標(biāo)掛載地址
option target /overlay
#被掛載的分區(qū)
option device /dev/sda2
#文件系統(tǒng)類型
option fstype ext4
#掛載參數(shù)
option options rw,sync
#是否啟用,值為1表示啟用
option enabled 1
#是否啟用fsck(分區(qū)格式異常檢測修復(fù)),值為1表示啟用
option enabled_fsck 1
第二步:將/overlay內(nèi)容都復(fù)制到外置磁盤上
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
第三步:重新啟動系統(tǒng)
root@OpenWrt:~# reboot
第四步: 檢測是否生效
/overlay是否已經(jīng)到磁盤上:
root@OpenWrt:/# mount|grep sda2
/dev/sda2 on /overlay type ext4 (rw,relatime,data=ordered)
我們來檢測下是否swap已經(jīng)工作了:
root@OpenWrt:/# free
total used free shared buffers
Mem: 61356 19780 41576 0 1956
-/+ buffers: 17824 43532
Swap: 1048572 0 1048572
根據(jù)磁盤UUID掛載
本節(jié)內(nèi)容僅限于當(dāng)你有多個外置磁盤要掛載的情況,如果沒有這一節(jié)可以跳過。
因為多個磁盤可能因為順序不同盤符有所變化導(dǎo)致系統(tǒng)啟動失敗。在Linux中所有磁盤都有UUID編號,這個UUID編號是為了防止插入多個磁盤后順序變化導(dǎo)致的系統(tǒng)失敗,因為我們現(xiàn)在要將固定的一個外置磁盤作為文件系統(tǒng),所以需要在這里記錄下UUID編號,以便后續(xù)的加載。
第一步:找到系統(tǒng)分區(qū)的UUID的編號
hoowa的磁盤的分區(qū)位置在sda2就這么操作:
root@OpenWrt:/# blkid /dev/sda2
/dev/sda2: UUID=”24f983e0-04ba-4508-babf-b40c8347a6de” TYPE=”ext4″
其中括號中的就是UUID編號,每臺機(jī)器不同。
第二步:重新返回FLASH可寫分區(qū)的/overlay
如果直接修改/overlay/etc/config/fstab是不生效的,因為現(xiàn)在/overlay是在/dev/sda2上,如果要生效按照這個流程操作:
首先關(guān)閉開發(fā)板電源, 移出你的外置磁盤, 開機(jī)(由于找不到外置磁盤,這個時候系統(tǒng)恢復(fù)到了6.6節(jié)之前的狀態(tài))
檢測當(dāng)前是否已經(jīng)恢復(fù):
root@OpenWrt:/# mount|grep overlay
/dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlayfs (rw,noatime,lowerdir=/,upperdir=/overlay)
說明已經(jīng)掛載回FLASH可寫分區(qū)了。
第三步:修改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′
第四步:再次返回外部磁盤模式
關(guān)閉電源, 插入剛才的外置磁盤,再開啟電源。再次檢測到如果啟動/overlay掛載在/dev/sda2上,表示設(shè)置完成。
經(jīng)過以上操作以后,我們的系統(tǒng)以后安裝軟件都將自動安裝到外置的磁盤上,而內(nèi)存也通過Swap方式增加了1G容量。為我們后續(xù)玩更多的功能打好了基礎(chǔ)。
另外需要注意,經(jīng)過這樣設(shè)置后這個外置磁盤就不能斷開連接,也不能進(jìn)行任何熱插拔操作,否則系統(tǒng)將會崩潰。
|