續 --> 想將 CentOS 放入 USB (好似 FreeNAS 咁) 要識 d 乜?

提示: 作者被禁止或刪除 內容自動屏蔽

SL5 果個方法暫時來講係最易(自己 build)。
行少少 command 已經做到啦...

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

最基本方法,kernel + initrd
initrd 裡面應該要有 usb disk driver, ext3/4 driver, squashfs, aufs.
之後 search 下隻 usb 手指睇下有冇 root fs image (自己整,用 squashfs 方便),用 read only mount 起。
之後同樣在 usb 手指下面 search data fs image (空白 image, 用來 store data),read write mount 起,用 aufs 砌埋。
最後個 system 就會變成2 layers, read only 嘅 root fs image 加上 read/write 嘅 data image,咁你寫嘢就會寫咗入 data image

TOP

回覆 4# 的帖子

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

我成日都會用一個好簡單嘅例子說明 overlay filesystem。

記唔記得好耐之前,上課老師會用 overhead projector?
圖片:


老師會印 Notes 在一張透明膠片上 (read only layer)
然後再放一張冇嘢嘅膠片上去,有咩要寫就寫喺呢張上面 (read/write layer)
落堂丢咗第2張膠片,Notes 嗰張可以再用返。
就係咁嘅 concept.

返嚟 Live USB case, 咁你 mount 起咗呢 “2張膠片" 之後,所有嘅修改,
包括 create/delete/edit,都會記載喺第2張膠片 (data image on USB) 度,
就係咁簡單。

PS. Software freedom day 撞正老友結婚冇得去...

原帖由 WHO 於 2009-9-5 00:51 發表
1.      好難捉摸
兩個 layers 同個 filesystem 個關係又係點 ?  例如 fstab 同 smb.conf 晌我第一之 boot 機時係唔係晌 ro 個 layer?  我 update 完 save 時, 佢會自動去咗 rw 個 layer?  原先個 copy 晌  ...

[ 本帖最後由 lazyfai 於 2009-9-5 01:03 編輯 ]
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

Very good example!
btw, there are aufs and aufs2 (unionfs)

TOP

原帖由 lazyfai 於 2009-9-5 01:01 發表
我成日都會用一個好簡單嘅例子說明 overlay filesystem。

記唔記得好耐之前,上課老師會用 overhead projector?
圖片:
938963

老師會印 Notes 在一張透明膠片上 (read only layer)
然後再放一張冇嘢嘅膠片上去,有咩要 ...

題外話…
overlay filesystem 呢個名有點怪…
zen kernel 中 union 類 filesystem 係叫 "stackable filesystem" 的,譯得比較好…
事實上 aufs 也是可以多層可寫和多層唯讀…

查返 overlay filesystem 原來佢都係 linux 的 union 類 filesystem,但已經是 98 年的事
http://home.comcast.net/~artn/ovlfs/ovlfs.html

現時 unionfs 已經被大多數 distro 放棄,著名的包括 eeepc, knoppix, slax
aufs (<2.6.27) 和 aufs2 (>.27) 是主流

但 official linux kernel 是拒絕收入任何 union 類 filesystem 的,這點在 aufs 的 introduction 段就說明了
Note: it becomes clear that "Aufs was rejected. Let's give it up."
According to Christoph Hellwig, linux rejects all union-type filesystems
but UnionMount.

[ 本帖最後由 閒魂 於 2009-9-6 01:38 編輯 ]

TOP

我個人認為 slax 做 liveUSB 是不錯的…
唯一決點是 kernel 還衝不過 2.6.28
可能是因為 squashfs 3.4 + lzma patch 和 in kernel 的 squashfs 4.0 的問題

TOP

Beauty A:
http://rip.7bf.de/current/
persistent changes on LiveUSB
(seems its kernel doesn't know multicore, ha)

Beauty B:
brew own all-into-RAM linux: boot kernel+initrd+linurc+mount_squashed_image+pivot_root+(unionfs *or* mount /etc, /home /var/xxx/ etc..)
pre-requisite is enough RAM (to sink star empire battleships - j/k)

USB flash drives have wear leveling to remedy read writes wear-off, unless thats rumor.

lzma is hell-ish slow saving files ? storage is dirt cheap nowadays, but fun-time is far precious as always.

TOP