2014年10月30日 星期四

hdparm - Linux硬碟測試讀寫速度



sudo apt-get install hdparm

sudo hdparm -Tt /dev/sdX

sudo hdparm -t --direct /dev/sdX

Timing cached reads:   3164 MB in  2.00 seconds = 1582.31 MB/sec
Timing buffered disk reads: 238 MB in  3.01 seconds =  79.08 MB/sec

2014年10月28日 星期二

WinSetupFromUSB 製作 USB 重灌碟


WinSetupFromUSB 是一套可以製作多系統 USB 安裝碟的工具,
該軟體內整合了數個我們製做重灌開機碟工具,包含:
FBinstTool、Bootice、RMPrepUSB、Grub4dos、Imdisk…等等,
它可以建立開機引導程式 GRUB ,
最重要的是可以直接載入 .iso 映像檔,來做開機碟。

官網:
http://www.winsetupfromusb.com/

官方載點:
WinSetupFromUSB 1.4.exe
WinSetupFromUSB 1.4.7z

接下來進入正式筆記教學,
下面的各個軟體都是網路開放的免軟體,
可以直接 Google 搜尋下載,
同時本站的雲端也有備份,也可以直接從本站下載。

一、規劃開機選單
以本作者所使用的為例,我希望設計如下:

  1. Windows 7 整合版 9 in 1 容量約 4.18 GB
  2. Windows 8.1 容量約 3.60 GB
  3. Debian-7.7.0_amd64 容量約 635  MB
  4. Ubuntu-12.04.04_amd64 容量約 733  MB
  5. CentOS-7.0_amd64 _livecd 容量約 687  MB
  6. Reboot 
  7. Shutdown
合計所需容量約: 9.835 GB 


二、準備東西



三、使用軟體 WinSetupFromUSB_1.4
本作者是使用 64 位元 Windows 7 作業系統的機器下使用。



四、植入檔案

開啟 USB 隨身碟,先建立一個 ISO 目錄,
接著無順序,植入:

/menu.list
/unifont.hex.gz
/ISO/CentOS-7.0_amd64_livecd.iso
/ISO/Debian-7.7.0_amd64.iso
/ISO/Ubuntu-12.04.4_amd64.iso
/ISO/Windows_8.1.iso


五、調整 menu.list




六、QEMU 測試開機







Debug 1:
進入選單後,執行安裝 Windows 8.1 ,出現:


Sol 1:
這可能是 QEMU 虛擬機,設定給的 RAM 不足,可以試試給 1024 MB (或更多) 再開看看。


Debug 2:

Sol 2: 未解決
參考:http://fireball-catcher.blogspot.tw/2012/07/grub4dos.html
用 imdisk 嘗試解決,又出現新的問題:
「缺少數位簽章或是惡意軟體」







Reference:
http://www.coolpc.com.tw/phpBB2/viewtopic.php?f=21&t=53402

http://fireball-catcher.blogspot.tw/2012/07/grub4dos.html

http://520.be/1496-%E5%88%A9%E7%94%A8grub4dos%E8%A3%BD%E4%BD%9Cusb%E9%96%8B%E6%A9%9F%E7%A2%9F.html#lightbox[gallery-DY9l]/6/

http://skynimo.lionfree.net/joomla/index.php?option=com_content&view=category&layout=blog&id=17&Itemid=101&limitstart=15

2014年10月27日 星期一

建立虛擬 SD Card



目標是建立一個 1GB 的 sdcard.img ,其分割區如下圖:



一、先建一個空的 sdcard.img (User 權限)

(其中 bs 是 block size)
dd if=/dev/zero of=sdcard.img bs=1G count=1

查看一下檔案屬性:
file sdcard.img
hexdump sdcard.img

會發現都是 0 組成的空檔案。

二、連接到 /dev/loop0 (Root 權限)

losetup /dev/loop0 sdcard.img

三、磁區分割 (Root 權限)

fdisk 指令參考
sudo fdisk /dev/loop0
n
p
1
[enter]
+80M

n
p
2
[enter]
[enter]
t
1
b

p
w

四、做 Offset (Root 權限)

fdisk -lu /dev/loop0
查看分割,輸出如下:
所用裝置 開機      開始         結束      區塊   識別號  系統
/dev/loop0p1            2048      165887       81920    b  W95 FAT32
/dev/loop0p2          165888     2097151      965632   83  Linux

losetup -o `expr 512 \* 2048` /dev/loop1  /dev/loop0
losetup -o `expr 512 \* 165888` /dev/loop2 /dev/loop0

查看連接結果,輸出如下:
losetup -a
/dev/loop0: [0804]:9701359 (/home/lin/qemu/sdcard.img)
/dev/loop1: [0005]:1218 (/dev/loop0),偏移值 1048576
/dev/loop2: [0005]:1218 (/dev/loop0),偏移值 84934656

五、格式化 (Root 權限)

先裝 filesystem tools
apt-get install dosfstools

fdisk -lu /dev/loop0
查看分割,輸出如下:
所用裝置 開機      開始         結束      區塊   識別號  系統
/dev/loop0p1            2048      165887       81920    b  W95 FAT32
/dev/loop0p2          165888     2097151      965632   83  Linux

開始格式化記得如入 blocks:
mkfs.vfat /dev/loop1 81920
mkfs.ext4 /dev/loop2 965632

看一下 block id ,如下:
blkid /dev/loop1 
/dev/loop1: SEC_TYPE="msdos" UUID="3A38-5A24" TYPE="vfat"
blkid /dev/loop2
/dev/loop2: UUID="dec7a9d5-b0bb-433b-aefb-6b4eecc28aba" TYPE="ext4"

Debug 1: 
如果找不到 mkfs.vfat 的指令

解決 1:
sudo apt-get install dosfstools

七、掛載  (Root 權限)

先建立要掛的目錄
mkdir  /sd1 /sd2

掛載
mount /dev/loop1 /sd1
mount /dev/loop2 /sd2

查看掛載
df -h

八、清除全部(Root 權限)

先卸載
umount /sd1
umount /sd2
df -h

解除連接(注意由下到上)
losetup -a
losetup -d /dev/loop2
losetup -d /dev/loop1
losetup -d /dev/loop0
losetup -a

九、連接及掛載(Root 權限)

  (可以8. 及 9. 反覆練習)
losetup /dev/loop0 sdcard.img
losetup -o `expr 512 * 2048` /dev/loop1
losetup -o `expr 512 * 165888` /dev/loop2
losetup -a

mount /dev/loop1 /sd1
mount /dev/loop2 /sd2
df -h

十、產生檔案

1. bootloader 可參考文章:u-boot 編譯
產生檔案:
MLO
u-boot
u-boot.bin
u-boot.img

2. kernel 可參考文章:編譯 ARM Linux 核心
產生檔案:
uImage
modules

3. Rootfs 可以參考文章:建立 Rootfs
瘦身過後的 Rootfs 全部檔案,
還需要含有步驟 2. 所編譯出來的核心 modules 

4. uEnv.txt 可參考文章:U-Boot 指令及建立 uEnv.txt
uEnv.txt        -> 開機設定檔

十一、分割區整理

sdcard1 -> 

第 1 個分割區,FAT 16/32 格式,有打開開機旗標,
內含檔案:
-rwxr-xr-x 1 root root   45128 2012-10-30 22:19 MLO
-rwxr-xr-x 1 root root 1215711 2012-10-30 22:19 u-boot
-rwxr-xr-x 1 root root  294672 2012-10-30 22:19 u-boot.bin
-rwxr-xr-x 1 root root  294736 2012-10-30 22:19 u-boot.img
-rwxr-xr-x 1 root root       1 2012-10-30 23:29 uEnv.txt
-rwxr-xr-x 1 root root 2475616 2012-10-30 22:15 uImage

sdcard2 -> 

第 2 個分割區,ext4 格式,
內含 rootfs 一些能正常開機執行的檔案,
還包含我們做好的核心 modules

十二、測試 sdcard.img

qemu-system-arm -M beagle -m 512 -nographic -sd sdcard.img








Reference:
http://pominglee.blogspot.tw/2012/10/sd-card.html

2014年10月23日 星期四

OCCT 燒機軟體



OCCT 燒機軟體,常用於測試電腦穩定度,
有玩超頻者的必備工具。

官網:
http://www.ocbase.com/

下載:
OCCTPT4.4.1.zip (免安裝版)
OCCTPT4.4.1.exe (安裝版 )


介面如下圖:


介面右側「Monitoring」可以查看下圖數據:


常用的燒機模式:POWER SUPPLY
可以全機燒機,包含 CPU、GPU、Memory... 等。







快速格式化工具



假設需要格式化的分割區為 /dev/sdb1,

  • HPFS/NTFS/exFAT

我們一般的 Linux 下格式化 NTFS 檔案系統格式,
常用的指令有:
mkfs -t ntfs /dev/sdb1
mkfs.ntfs /dev/sdb1

接下來推薦,NTFS 的快速格式化工具 ntfsprogs
sudo apt-get install ntfsprogs
mkntfs -f /dev/sdb1


  • EXT4

快速格式化要加 -T largefile 參數:
mkfs.ext4  -T largefile  /dev/sdb1










2014年10月22日 星期三

OpenHardwareMonitor 系統監測工具



Open Hardware Monitor 可用於監測系統資訊、溫度,
如:CPU、顯卡、記憶體…等。


官網:
http://openhardwaremonitor.org/

載點:
openhardwaremonitor-v0.6.0-beta.zip


可以自行設定( View -> 勾選 Show Gadget ),加到桌面顯示,如下圖:


設定開機啟動及長駐:





用 iconv 將檔案轉換格式


因為Big-5的檔案,看都會有亂碼,


所以就可以用

iconv

來將Big-5格式的檔案,


直接轉成UTF-8的格式。

(1) Big-5 To UTF-8

 

       
iconv -f big5 -t utf-8 big5.txt -o utf8.txt

(2) UTF-8 To Big-5

        
iconv -f utf-8 -t big5 utf8.txt -o big5.txt