【海思編】【Hi 3516 DV 300】十七、swapパーティションの作成


目的:swapパーティションの作成

デフォルトで閉じる


Swapのtotalは0なので、hi 3516 dv 300のデフォルトはswapパーティションがありません.
~ # free
             total       used       free     shared    buffers     cached
Mem:        122040       9536     112504          4          0       1460
-/+ buffers/cache:       8076     113964
Swap:            0          0          0

目的を開く


なぜswapパーティションを開くのですか?コスト制御や統合メモリのため、ハードウェアでメモリを拡大できないため、ボード自体のメモリが小さい場合は、swapパーティションを開くことができます.これで私たちのプログラムはいくつかのカード(uiで明らかに反応できる)を感じたら解決できます.

オープン準備


あなたのflashは十分大きくて、spi-nandかemmcが一番いいです.次にsdcardであってもよい.

TFカードパーティション計画


本章では、sdcardテストの1 sdcardを2つの領域に分け、1つ目のメインパーティションは正常記憶領域(vfat)、2つ目のメインパーティションはswap領域2 swap領域の大きさは256 MBに分けます.私のlinuxメモリ割り当ては128 Mなので、swap割り当ては2倍のサイズです.もっと大きくても小さくてもいいです.

swapステップの作成


sdcardパーティション

cd /
#      ,    
umount /dev/mmcblk0p1

#       ,          ,      
fdisk -l
fdisk /dev/mmcblk0
Command (m for help): d1
No partition is defined yet!
#         (vfat)
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-19277, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-19277, default 19277): 10000

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (Win95 FAT32)
#         (swap)
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (10001-19277, default 10001): Using default value 10001

Last cylinder or +size or +sizeM or +sizeK (10001-19277, default 19277): +256M

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
 mmcblk0: p1 p2


##swapファイルシステムの作成
#   swap    
~ # mkswap /dev/mmcblk0p2
Setting up swapspace version 1, size = 256452608 bytes
UUID=2676daed-8fc5-47dd-a498-5f2757132690

swapを開く

#   swap
~ # swapon /dev/mmcblk0p2
Adding 250440k swap on /dev/mmcblk0p2.  Priority:-1 extents:1 across:250440k SS


swapの表示

~ # cat /proc/swaps 
Filename				Type		Size	Used	Priority
/dev/mmcblk0p2                          partition	250440	0	-1

~ # free -m
             total       used       free     shared    buffers     cached
Mem:           119          9        109          0          0          1
-/+ buffers/cache:          8        111
Swap:          244          0        244


swapの作成とオープンに成功しました!!!

途中で出会った問題


~ # swapon/dev/mmcblk0p2 swapon:/dev/mmcblk0p2: Function not implemented
これはhi 3516 dv 300がswapをデフォルトでサポートしていないためです.カーネルでオンにします.
General setup —>
​ [*] Support for paging of anonymous memory (swap)