日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于USB接口的微型桌面Linux系統(tǒng)設(shè)計(jì)方案

出處:zouweitao 發(fā)布于:2012-07-26 10:14:14

  摘 要:針對(duì)便攜式移動(dòng)辦公的需求,提出了在USB 接口的移動(dòng)存儲(chǔ)設(shè)備上構(gòu)建Linux 微型桌面操作系統(tǒng)的方法,分析了整個(gè)微型桌面系統(tǒng)的構(gòu)成,并對(duì)構(gòu)建過(guò)程中的內(nèi)核編譯、LFS、Squashfs、AUFS、Grub、Initrd、XFCE等關(guān)鍵技術(shù)進(jìn)行了研究,介紹了移植進(jìn)USB 盤(pán)的方法、系統(tǒng)的啟動(dòng)過(guò)程和實(shí)現(xiàn)。本系統(tǒng)小型便捷、啟動(dòng)速度快、占用空間低、安全可靠的特點(diǎn)具有較高的應(yīng)用價(jià)值。

  1 引言

  隨著USB 3.0 標(biāo)準(zhǔn)的發(fā)布,存儲(chǔ)容量為8GB 至128GB 的USB 接口移動(dòng)存儲(chǔ)設(shè)備成為主流。由于USB盤(pán)體積小、攜帶方便、同時(shí)具有熱插拔功能,給移動(dòng)數(shù)據(jù)存儲(chǔ)帶來(lái)了便利。而開(kāi)源的Linux 操作系統(tǒng)具有的高可靠性和安全性、廣泛的硬件支持、靈活實(shí)用的可定制性等特點(diǎn),使得Linux 桌面系統(tǒng)在辦公應(yīng)用方面也逐步受到人們的青睞。如果在USB 接口的移動(dòng)存儲(chǔ)設(shè)備上實(shí)現(xiàn)一個(gè)Linux 微型桌面系統(tǒng),將是一個(gè)不錯(cuò)選擇。然而,將標(biāo)準(zhǔn)的Linux 發(fā)行版系統(tǒng)安裝在USB盤(pán)上,將占用近2G 的存儲(chǔ)空間,其中有許多軟件我們移動(dòng)辦公并不需要。同時(shí),人們從數(shù)據(jù)安全性角度的考慮,希望在不使用原有宿主機(jī)操作系統(tǒng)和數(shù)據(jù)的前提下進(jìn)行便捷的移動(dòng)辦公。因此本文將從LFS 系統(tǒng)開(kāi)始,在USB 盤(pán)上搭建Linux 微型桌面系統(tǒng),實(shí)現(xiàn)操作系統(tǒng)與辦公娛樂(lè)軟件的一體化,并采用squashfs 文件系統(tǒng)壓縮技術(shù),對(duì)整個(gè)系統(tǒng)進(jìn)行壓縮,通過(guò)grub和initrd 實(shí)現(xiàn)系統(tǒng)的啟動(dòng)。

  2 微型桌面系統(tǒng)的構(gòu)成

  本文是在LFS Live CD 6.3 宿主系統(tǒng)上,通過(guò)LFS技術(shù)構(gòu)建基本Linux 系統(tǒng)后,使用chroot 命令轉(zhuǎn)入基本系統(tǒng),完成后續(xù)整個(gè)桌面系統(tǒng)的搭建。

  基于USB 盤(pán)的微型桌面系統(tǒng)構(gòu)成如圖1 所示,由以下幾部分組成的:

 ?、賳?dòng)引導(dǎo)管理器:選用Grub 0.97.Grub 程序是計(jì)算機(jī)加電啟動(dòng),引導(dǎo)到USB 盤(pán)設(shè)備后運(yùn)行的個(gè)程序,其目的是將Linux 內(nèi)核從USB 盤(pán)加載到內(nèi)核中。

  然后轉(zhuǎn)由內(nèi)核執(zhí)行后續(xù)操作。

 ?、趦?nèi)核:作為L(zhǎng)inux 操作系統(tǒng)的,它負(fù)責(zé)管理進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信,并提供對(duì)主板、顯卡、網(wǎng)卡、聲卡、存儲(chǔ)器、USB 設(shè)備等驅(qū)動(dòng)的支持。由于是移動(dòng)系統(tǒng),面臨硬件平臺(tái)多樣性的問(wèn)題,所以需要將一些常用基本驅(qū)動(dòng)和USB 相關(guān)驅(qū)動(dòng)編譯進(jìn)內(nèi)核,而將squashfs、aufs、聲卡、顯卡等相關(guān)支持以模塊的形式動(dòng)態(tài)加載,這樣在減少內(nèi)核鏡像大小的同時(shí),提高了系統(tǒng)啟動(dòng)時(shí)間。

 ?、刍綥inux 系統(tǒng):包括能夠正常啟動(dòng)字符界面的基本文件系統(tǒng)結(jié)構(gòu)、常用的應(yīng)用程序、基本函數(shù)庫(kù)和相關(guān)的配置文件。

 ?、軋D形桌面系統(tǒng):桌面系統(tǒng)采用xfce4.6.2,并安裝如下應(yīng)用軟件:永中office 2009 辦公應(yīng)用軟件(集Word、Excel、PowerPoint 于一體);fcitx 中文輸入法;MPlayer 媒體播放軟件;網(wǎng)絡(luò)配置工具軟件;遠(yuǎn)程桌面連接控件軟件;QQ;Vnc;實(shí)驗(yàn)室自主研發(fā)的播放瀏覽一體化的網(wǎng)絡(luò)瀏覽器Hfox[2];其他軟件:圖片查看器、文本編輯器、PDF 閱讀器、解壓縮軟件等。

圖1 基于USB 接口的微型桌面Linux 系統(tǒng)的組成

圖1 基于USB 接口的微型桌面Linux 系統(tǒng)的組成

  整個(gè)微型桌面系統(tǒng)安裝完成后要占用大約1.7GB磁盤(pán)空間,通過(guò)運(yùn)行mksquashfs 命令壓縮成只讀系統(tǒng)鏡像system.squashfs(約495MB)。

  3 關(guān)鍵技術(shù)

  3.1 內(nèi)核編譯

  采用版本為2.6.27.27 的Linux 內(nèi)核。為使系統(tǒng)更精簡(jiǎn),部分模塊將不會(huì)被編譯進(jìn)內(nèi)核:聲卡驅(qū)動(dòng)模塊等。系統(tǒng)將由U 盤(pán)引導(dǎo),需要將SCSI 設(shè)備、Usbcore、Usb-storage 、Loopback device support 、RAM disksupport 和Initrd 等編譯到內(nèi)核中。

  將Squshfs、AUFS 編譯成模塊,通過(guò)Initrd 引導(dǎo)加載。

  常見(jiàn)的硬盤(pán)接口為IDE 和SATA,在Linux 中通常將這兩類硬盤(pán)標(biāo)識(shí)為不同的盤(pán)符名。為了避免內(nèi)核掛載U 盤(pán)根系統(tǒng)出現(xiàn)盤(pán)符名不一致的情況,需要將IDE 和SATA 硬盤(pán)中盤(pán)符統(tǒng)一成/dev/sdX,在內(nèi)核編譯時(shí)需要加如下的選項(xiàng):

  

  編譯出來(lái)的內(nèi)核會(huì)將這兩類硬盤(pán)同等對(duì)待。從而使不同接口硬盤(pán)的盤(pán)符名在Linux 中都統(tǒng)一為sdX,方便本系統(tǒng)的掛載。

  3.2 LFS 構(gòu)建系統(tǒng)

  LFS(Linux From Scratch 的縮寫(xiě)),是從源代碼開(kāi)始搭建的Linux 系統(tǒng)。LFS 有以下幾個(gè)優(yōu)點(diǎn):

  ①LFS 是非常靈活的,可以根據(jù)自身需求定制。

 ?、跇?gòu)建的LFS 系統(tǒng)是一個(gè)非常緊湊的系統(tǒng),可以大大節(jié)省磁盤(pán)空間。

  ③LFS 可自定義安裝相關(guān)的安全補(bǔ)丁,系統(tǒng)有保障。

  本文目的是設(shè)計(jì)一款微型桌面系統(tǒng),根據(jù)其小巧靈活實(shí)用的特點(diǎn),與使用標(biāo)準(zhǔn)的Linux 發(fā)行版和使用精簡(jiǎn)的Linux 系統(tǒng)相比,LFS 更適合。

  3.3 SquashFS+LZMA 只讀壓縮系統(tǒng)

  構(gòu)建一個(gè)小型或嵌入式Linux 系統(tǒng),存儲(chǔ)設(shè)備(軟盤(pán)、U 盤(pán)等)的空間資源非常有限,因此壓縮應(yīng)盡可能用在各個(gè)方面。

  SquashFS 是一種在Linux 下使用的只讀壓縮文件系統(tǒng),是目前的壓縮文件系統(tǒng)之一,它的目的是為通用只讀文件系統(tǒng)使用。目前,SquashFS 壓縮文件系統(tǒng)應(yīng)用很廣,已在Linux Live CD 各發(fā)行版、嵌入式系統(tǒng)、以及在服務(wù)器及桌面系統(tǒng)中都有著大量的應(yīng)用。

  LZMA(Lempel-Ziv-Markov chain-Algorithm 的縮寫(xiě)),是一個(gè)Deflate和LZ77算法改良和優(yōu)化后的壓縮算法,是目前的壓縮算法之一。

  SquashFS 默認(rèn)的壓縮算法是GZIP,本文中采用給SquashFS 打補(bǔ)丁,使其支持LZMA 算法壓縮。實(shí)驗(yàn)證明,通過(guò)LZMA 算法壓縮比GZIP 算法壓縮率更高,而壓縮時(shí)間比GZIP 算法稍長(zhǎng)。通過(guò)對(duì)整個(gè)系統(tǒng)采用GZIP 和LZMA 算法進(jìn)行Squashfs 壓縮,在壓縮時(shí)間和存儲(chǔ)空間的比較如表1 如示。

表1 兩種壓縮算法的比較。

表1 兩種壓縮算法的比較

  目前Linux 內(nèi)核還不支持LZMA,在編譯內(nèi)核時(shí)需要將CONFIG_SQUASHFS*中所有值置為N;再單獨(dú)將帶LZMA 支持的Squshfs 編譯成模塊,通過(guò)動(dòng)態(tài)加載方式運(yùn)行。

  3.4 AUFS 聯(lián)合文件系統(tǒng)

  AUFS( Another UnionFS 的縮寫(xiě)), 是一個(gè)與UnionFS 類似的可堆疊聯(lián)合文件系統(tǒng),它將多個(gè)目錄整合成單一的目錄,是Linux 文件系統(tǒng)聯(lián)合掛載的實(shí)現(xiàn)。

  SquashFS 壓縮系統(tǒng)是只讀的,從而避免了對(duì)磁盤(pán)不必要的擦寫(xiě),但同時(shí)也造成了修改數(shù)據(jù)不能保存的問(wèn)題。

  AUFS 的出現(xiàn)正好解決了上述問(wèn)題,它管理一個(gè)基本文件系統(tǒng)(即本文中的系統(tǒng)Squashfs 鏡像,保持原只讀狀態(tài))和一個(gè)讀寫(xiě)存儲(chǔ)文件系統(tǒng)(必須具有讀寫(xiě)權(quán)限)。通過(guò)AUFS,用戶可以虛擬地修改基本文件系統(tǒng)上的文件,但修改后的結(jié)果卻保存在讀寫(xiě)存儲(chǔ)文件系統(tǒng)中,從而實(shí)現(xiàn)了數(shù)據(jù)的透明修改。

  3.5 Initrd 初始化內(nèi)存盤(pán)

  Initrd(boot loader Initialized RAM Disk 的縮寫(xiě)),由boot loader 初始化。本系統(tǒng)使用的boot loader 為GNU GRUB 0.97.如果Grub 已配置Initrd,Linux 內(nèi)核在啟動(dòng)前,會(huì)把存儲(chǔ)設(shè)備中的Initrd 文件加載到內(nèi)存,作為一個(gè)臨時(shí)根文件系統(tǒng);內(nèi)核啟動(dòng)時(shí)通過(guò)先執(zhí)行Initrd 中的init 文件,完成設(shè)備驅(qū)動(dòng)模塊和squashsf、aufs 文件系統(tǒng)模塊的加載,并完成真正的根文件系統(tǒng)的掛載,然后執(zhí)行系統(tǒng)中的/sbin/init 進(jìn)程。

  與普通IDE、SATA 硬盤(pán)相比,USB 接口存儲(chǔ)設(shè)備從驅(qū)動(dòng)模塊加載到設(shè)備可用,比較慢,需要幾秒鐘。

  因此內(nèi)核在掛載USB 存儲(chǔ)設(shè)備時(shí),會(huì)出現(xiàn):USB 設(shè)備沒(méi)有初始化完成,真正根文件系統(tǒng)掛載失敗的問(wèn)題。為了解決此問(wèn)題,筆者在Initrd 中修改init 可執(zhí)行文件,當(dāng)加載USB 驅(qū)動(dòng)后,系統(tǒng)將休眠5 秒,讓USB 設(shè)備初始化完成后再掛載USB 存儲(chǔ)設(shè)備中的根文件系統(tǒng)。本系統(tǒng)的init 文件配置如下:

  

  

  

  本系統(tǒng)Initrd 中的化根文件系統(tǒng)由BusyBox創(chuàng)建,包含bin、dev、etc、lib、mnt、proc、sbin、sys這些必須的目錄和相關(guān)文件。由于BusyBox 生成的modprobe 命令不能正常執(zhí)行,所以需要復(fù)制宿主系統(tǒng)中的modprobe 命令并替換Initrd 中的sbin 目錄中的同名文件,同時(shí)通過(guò)ldd 查看modprobe 依賴的庫(kù)文件,并復(fù)制到Initrd 中的lib 目錄。

  在宿主機(jī)器上通過(guò)命令:

  find . | cpio –o –H newc | gzip > /boot/initrd.img-2.6.27.27 制作Initrd 鏡像文件。

  3.6 Grub 啟動(dòng)引導(dǎo)器

  GNU GRUB (GNU GRand Unified Bootloader 的縮寫(xiě)),是GNU 項(xiàng)目中一個(gè)多操作系統(tǒng)啟動(dòng)引導(dǎo)程序,也是Linux 系統(tǒng)中常用引導(dǎo)工具之一。為了讓系統(tǒng)從USB 設(shè)備啟動(dòng),必須將GRUB 程序安裝在USB 存儲(chǔ)設(shè)備的主引導(dǎo)記錄(MBR)中。

  以GRUB 0.9X 的安裝步驟如下:

  安裝grub 程序在U 盤(pán)的/boot/grub 目錄下,確保其目錄存在menu.lst,stage1,stage2 三個(gè)文件。

  進(jìn)入grub 命令窗口,運(yùn)行以下命令安裝到U 盤(pán)的MBR:

  grub>root(hd1,0) #假定Linux 系統(tǒng)所在盤(pán)符為第二塊硬盤(pán)的個(gè)分區(qū)

  grub>setup(hd1)

  實(shí)際操作時(shí)根據(jù)硬盤(pán)分區(qū)不同作相應(yīng)修改。

  修改/boot/grub/menu.lst 文件,本文的menu.lst 如下:

  

  3.7 Xfce 桌面環(huán)境

  Xfce 是一款適用于多種*NIX 系統(tǒng)上運(yùn)行的輕量級(jí)桌面環(huán)境,它的設(shè)計(jì)目的是在節(jié)省系統(tǒng)資源的情況下能夠快速加載并執(zhí)行應(yīng)用程序。與Gnome 和KDE等比較臃腫的桌面環(huán)境相比,Xfce 占用的系統(tǒng)資源少,同時(shí)它擁有很小的依賴性和很好的模塊性。本系統(tǒng)所用的Xfce 4.6.2 主要由實(shí)用工具libxfce4util、微件庫(kù)libxfcegui4、擴(kuò)展庫(kù)exo、菜單庫(kù)libxfce4menu、窗口管理xfwm4、桌面管理xfdesktop、面板xfce4-panel、會(huì)話管理xfce4-session、設(shè)置管理xfce4-settings、配置管理xfconf、文件管理thunar、實(shí)用程序xfce-utils、應(yīng)用程序查找xfce4-appfinder 等部件構(gòu)成。

  4 具體實(shí)現(xiàn)

  4.1 系統(tǒng)在USB 盤(pán)上的實(shí)現(xiàn)

  在宿主系統(tǒng)上構(gòu)建好整個(gè)Linux 桌面系統(tǒng)后,按前所述配置好只讀文件系統(tǒng)鏡像system.squashfs、初始化內(nèi)存盤(pán)Initrd、內(nèi)核鏡像vmlinuz、Grub 中的menu.lst 文件、USB 盤(pán)標(biāo)志文件LABEL,然后按以下步驟將系統(tǒng)移植進(jìn)USB 盤(pán)。

 ?、贉?zhǔn)備一個(gè)8G 的USB 盤(pán),分為兩個(gè)區(qū):一個(gè)分區(qū)作為系統(tǒng)區(qū),文件系統(tǒng)為EXT2,并激活為啟動(dòng)分區(qū),作為L(zhǎng)inux 系統(tǒng)使用;一個(gè)分區(qū)為數(shù)據(jù)區(qū),文件系統(tǒng)為FAT32,平時(shí)作為與Windows 系統(tǒng)交互的分區(qū),保存移動(dòng)辦公數(shù)據(jù)。

 ?、趯ystem.squashfs、Initrd、vmlinuz、LABEL 和Grub 相關(guān)文件復(fù)制到系統(tǒng)區(qū),并在系統(tǒng)區(qū)中新建system_ro( 用于掛載squashfs 只讀文件系統(tǒng)) 、system_rw(用于掛載aufs 文件系統(tǒng)時(shí)的修改文件存儲(chǔ)目錄)、system(用于終文件系統(tǒng)的掛載目錄)三個(gè)目錄。

 ?、圻\(yùn)行g(shù)rub 程序中的root、setup 命令將啟動(dòng)引導(dǎo)信息寫(xiě)入U(xiǎn)SB 盤(pán)的系統(tǒng)區(qū)的MBR.

  4.2 系統(tǒng)啟動(dòng)過(guò)程

  基于USB 接口的微型桌面Linux 系統(tǒng)的啟動(dòng)過(guò)程如圖2 如示。

  計(jì)算機(jī)開(kāi)機(jī)自檢, BIOS 引導(dǎo)到USB 接口的磁盤(pán)設(shè)備,通過(guò)啟動(dòng)引導(dǎo)管理器Grub,加載Linux 內(nèi)核文件vmlinuz,內(nèi)核將初始化內(nèi)存盤(pán)initrd.img-2.6.27.27加載到內(nèi)存,形成一個(gè)臨時(shí)根文件系統(tǒng),通過(guò)執(zhí)行Initrd 中的init 可執(zhí)行文件,進(jìn)行sysfs、proc 文件系統(tǒng)的加載,并對(duì)硬件進(jìn)行初始化,相關(guān)硬件驅(qū)動(dòng)、squashfs、aufs 模塊的加載后,掛載系統(tǒng)只讀鏡像system.squashfs,并通過(guò)聯(lián)合文件系統(tǒng)aufs 使其可寫(xiě),然后轉(zhuǎn)到真正的根文件系統(tǒng)執(zhí)行命令/sbin/init,完成微型桌面Linux 系統(tǒng)的啟動(dòng)。

圖2 系統(tǒng)啟動(dòng)過(guò)程

圖2 系統(tǒng)啟動(dòng)過(guò)程。

  5 實(shí)驗(yàn)結(jié)果

  本文實(shí)現(xiàn)了在USB 接口的存儲(chǔ)設(shè)備上構(gòu)建微型桌面Linux 系統(tǒng),在具有USB 接口啟動(dòng)功能的各種主流品牌臺(tái)式計(jì)算機(jī)、筆記本和兼容機(jī)上都能成功運(yùn)行,并且在硬件配置比較低的老式486、586 等機(jī)器也能流暢地運(yùn)行,根據(jù)機(jī)器硬件配置的不同,一般啟動(dòng)時(shí)間為20 秒至50 秒,具有很好的實(shí)用價(jià)值,真正實(shí)現(xiàn)了便捷、高效的移動(dòng)辦公需要。本系統(tǒng)成功啟動(dòng)圖形桌面系統(tǒng)后的效果如圖3 所示。

圖3 Linux 微型桌面系統(tǒng)

圖3 Linux 微型桌面系統(tǒng)。

  6 結(jié)論

  本文在USB 接口的移動(dòng)存儲(chǔ)設(shè)備構(gòu)建微型操作系統(tǒng),具有小型便捷、速度快、空間占用率低、安全可靠的特點(diǎn),研究具有很高的應(yīng)用價(jià)值,人們可以參照構(gòu)建過(guò)程中的關(guān)鍵性技術(shù),在U 盤(pán)上制作出更多小型的專用系統(tǒng):比如系統(tǒng)維護(hù)盤(pán)、網(wǎng)絡(luò)防火墻、路由器、小型服務(wù)器、媒體播放器等以滿足一些特定需求,同時(shí)可以將其研究應(yīng)用到Live CD 上,在光盤(pán)上制作出相應(yīng)的微型桌面系統(tǒng)。并且在使用過(guò)程中,整個(gè)系統(tǒng)只占了移動(dòng)磁盤(pán)存儲(chǔ)空間的小部分,而剩余的大部分空間可以另作他用,真正體現(xiàn)了資源的高效整合使用。

參考文獻(xiàn):

[1]. hd1 datasheet http://www.hbjingang.com/datasheet/hd1_2349700.html.

關(guān)鍵詞:基于USB接口的微型桌面Linux系統(tǒng)設(shè)計(jì)方案

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買(mǎi)家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!