用手上現有的 EPC 701 (4G SSD) 來當例子,還須要一個 USB 隨身碟 (> 32MB), 以及一個 SDHC (> 8G 或是外接硬碟)。網路連線當然是必要的。

1. 設定磁碟分割藍圖 partition plan
/ 和 /home 將放在加密的 logic volume group
/dev/sda1 --> /boot
/dev/sda2 --> /usr
/dev/sda3 --> (encrypted) / + /home
2. 首先透過網路,安裝 Debian Linux 系統到 SDHC (或是外接硬碟)
我們先暫時把 Debian Linux 系統裝到 SDHC
a. 到下列網址抓安裝映像檔,並放到 USB 隨身碟
http://eeepc.debian.net/debian/images/debian-eeepc.img
可參考下網頁的說明
http://wiki.debian.org/DebianEeePC/HowTo/Install
b. 用隨身碟開機安裝 Debian Linux 系統到 SDHC。
設定 Bios 開機順序


在安裝的步驟中,切割一個小的開機磁區 /boot,主磁區 / 則放在 SDHC 卡上
/dev/sda1 --> /boot (64MB 至 128M)
/dev/sdb1 --> /

3. 安裝好後,再開機;安裝想要的套件,調校系統到滿意。


加裝套件 initramfs-tools squashfs-tools cryptsetup hashalot lvm2
4. 壓縮 /usr 成 squashfs
squashfs 的壓縮比大約是2.5至3 (曾把5GB的軟體壓成2GB), 壓縮 /usr ,並存到 sdb1 上的 lost+found
# mksquashfs /usr /lost+found/usr.sqfs

算好磁區大小,切出 /dev/sda2, 用 dd 存入

5. 建立加密磁區
載入核心 modules
# modprobe dm_crypt
# modprobe aes
# modprobe sha256
# cryptsetup luksFormat -c aes-cbc-essiv:sha256 /dev/sda3
# cryptsetup luksOpen /dev/sda3 cryptdisk

6. 修改 /etc/lvm/lvm.conf
----------------------------------------------------------
types = [ "device-mapper", 16 ]
filter = [ "r|/dev/cdrom|", "r|/dev/sda*|" ]
----------------------------------------------------------
重啟 LVM
# /etc/init.d/lvm2 restart
定義 LVM2 partitions
# pvcreate /dev/mapper/cryptdisk
# vgcreate vgsb /dev/mapper/cryptdisk
# lvcreate -v -L 500Mg -n root vgsb
# vgdisplay vgsb | grep "Free"
Free PE / Size ??? / ....
記下該數字 ???, 並用於下列命令
# lvcreate -v -l ??? -n home vgsb

檢查一下目前 log volumes
# ls /dev/mapper/
/dev/mapper/cryptdisk
/dev/mapper/vgsb-root
/dev/mapper/vgsb-home
格式化
# mkfs.ext3 /dev/mapper/vgsb-root
# mkfs.ext3 /dev/mapper/vgsb-home
7. 修改 /etc/crypttab
----------------------------------------------------------
cryptdisk /dev/sda3 none luks
----------------------------------------------------------
再重啟系統後,輸入剛才的密碼。

8. 複製檔案系統
# apt-get clean
# mkdir /mnt/tmp
# mount /dev/mapper/vgsb-root /mnt/tmp
# cd /
# cp -a bin/ etc/ lib/ root/ srv/ opt/ sbin/ var/
dev/ initrd.img.old media/ selinux/ vmlinuz.old /mnt/tmp
# mkdir /mnt/tmp/tmp
# chmod a+rwxt /mnt/tmp/tmp
# mkdir /mnt/tmp/boot
# mkdir /mnt/tmp/home
# mkdir /mnt/tmp/usr
# mkdir /mnt/tmp/mnt
# mkdir /mnt/tmp/cdrom
# mkdir /mnt/tmp/proc
# mkdir /mnt/tmp/sys
# mount /dev/mapper/vgsb-home /mnt/tmp/home
# cp /home/* /mnt/tmp/home

9. make sure all the partition are well mounted, then chroot
# mount --bind /dev /mnt/tmp/dev
# mount --bind /boot /mnt/tmp/boot
# mount --bind /tmp /mnt/tmp/tmp
# mount -t squashfs /dev/sda2 /mnt/tmp/usr
# chroot /mnt/tmp
# mount -t proc none /proc
# mount -t sysfs none /sys
10. 修改 /etc/fstab
----------------------------------------------------------
# /etc/fstab: static file system information.
#
# <file system> <mount pt> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 /boot ext3 defaults 0 2
/dev/sda2 /usr squashfs defaults 0 2
/dev/mapper/vgsb-root / ext3 errors=remount-ro 0 1
/dev/mapper/vgsb-home /home ext3 defaults 0 2
# TMPFS
tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0
----------------------------------------------------------

11. 建立新的 initram
修改 /etc/initramfs-tools/modules
----------------------------------------------------------
zlib_inflate
squashfs
dm_crypt
aes_generic
sha256_generic
cbc
----------------------------------------------------------
# mkinitramfs -o /boot/initrd.img-2.6.24-1-686-crypt
修改 /boot/grub/menu.lst
----------------------------------------------------------
title Debian GNU/Linux, kernel 2.6.24-1-686
root (hd0,0)
kernel /vmlinuz-2.6.24-1-686 root=/dev/mapper/vgsb-root ro quiet
initrd /initrd.img-2.6.24-1-686-crypt
----------------------------------------------------------
12. 離開 chroot, 重啟系統。
# umount /sys
# umount /proc
# exit
# reboot

輸入密碼

4G SSD 還有 2.6G 空間可用

不可免俗,秀一下 compiz fusion





























































































