《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于USB接口的微型桌面Linux系統設計方案
基于USB接口的微型桌面Linux系統設計方案
計算機系統應用
楊聲春,陳蜀宇,李海偉
摘要: 本文將從LFS系統開始,在USB盤上搭建Linux微型桌面系統,實現操作系統與辦公娛樂軟件的一體化,并采用squashfs文件系統壓縮技術,對整個系統進行壓縮,最后通過grub和initrd實現系統的啟動。
Abstract:
Key words :

 

1 引言

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

2 微型桌面系統的構成

本文是在LFS Live CD 6.3 宿主系統上,通過LFS技術構建基本Linux 系統后,使用chroot 命令轉入基本系統,完成后續整個桌面系統的搭建。

基于USB 盤的微型桌面系統構成如圖1 所示,由以下幾部分組成的:

①啟動引導管理器:選用Grub 0.97.Grub 程序是計算機加電啟動,引導到USB 盤設備后運行的第一個程序,其目的是將Linux 內核從USB 盤加載到內核中。

然后轉由內核執行后續操作。

②內核:作為Linux 操作系統的核心,它負責管理進程調度、內存管理、虛擬文件系統、網絡接口、進程間通信,并提供對主板、顯卡、網卡、聲卡、存儲器、USB 設備等驅動的支持。由于是移動系統,面臨硬件平臺多樣性的問題,所以需要將一些常用基本驅動和USB 相關驅動編譯進內核,而將squashfs、aufs、聲卡、顯卡等相關支持以模塊的形式動態加載,這樣在減少內核鏡像大小的同時,提高了系統啟動時間。

③基本Linux 系統:包括能夠正常啟動字符界面的基本文件系統結構、最常用的應用程序、基本函數庫和相關的配置文件。

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

圖1 基于USB 接口的微型桌面Linux 系統的組成

整個微型桌面系統安裝完成后要占用大約1.7GB磁盤空間,通過運行mksquashfs 命令壓縮成只讀系統鏡像system.squashfs(約495MB)。

3 關鍵技術

3.1 內核編譯

采用版本為2.6.27.27 的Linux 內核。為使系統更精簡,部分模塊將不會被編譯進內核:聲卡驅動模塊等。系統將由U 盤引導,需要將SCSI 設備、Usbcore、Usb-storage 、Loopback device support 、RAM disksupport 和Initrd 等編譯到內核中。

將Squshfs、AUFS 編譯成模塊,通過Initrd 引導加載。

常見的硬盤接口為IDE 和SATA,在Linux 中通常將這兩類硬盤標識為不同的盤符名。為了避免內核掛載U 盤根系統出現盤符名不一致的情況,需要將IDE 和SATA 硬盤中盤符統一成/dev/sdX,在內核編譯時需要加如下的選項:

編譯出來的內核會將這兩類硬盤同等對待。從而使不同接口硬盤的盤符名在Linux 中都統一為sdX,方便本系統的掛載。

3.2 LFS 構建系統

LFS(Linux From Scratch 的縮寫),是從源代碼開始搭建的Linux 系統。LFS 有以下幾個優點:

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

②構建的LFS 系統是一個非常緊湊的系統,可以大大節省磁盤空間。

③LFS 可自定義安裝相關的安全補丁,系統有保障。

本文目的是設計一款微型桌面系統,根據其小巧靈活實用的特點,與使用標準的Linux 發行版和使用精簡的Linux 系統相比,LFS 更適合。

3.3 SquashFS+LZMA 只讀壓縮系統

構建一個小型或嵌入式Linux 系統,存儲設備(軟盤、U 盤等)的空間資源非常有限,因此壓縮應盡可能用在各個方面。

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

LZMA(Lempel-Ziv-Markov chain-Algorithm 的縮寫),是一個Deflate和LZ77算法改良和優化后的壓縮算法,是目前最好的壓縮算法之一。

SquashFS 默認的壓縮算法是GZIP,本文中采用給SquashFS 打補丁,使其支持LZMA 算法壓縮。實驗證明,通過LZMA 算法壓縮比GZIP 算法壓縮率更高,而壓縮時間比GZIP 算法稍長。通過對整個系統采用GZIP 和LZMA 算法進行Squashfs 壓縮,在壓縮時間和存儲空間的比較如表1 如示。

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

目前Linux 內核還不支持LZMA,在編譯內核時需要將CONFIG_SQUASHFS*中所有值置為N;再單獨將帶LZMA 支持的Squshfs 編譯成模塊,通過動態加載方式運行。

3.4 AUFS 聯合文件系統

AUFS( Another UnionFS 的縮寫), 是一個與UnionFS 類似的可堆疊聯合文件系統,它將多個目錄整合成單一的目錄,是Linux 文件系統聯合掛載的實現。

SquashFS 壓縮系統是只讀的,從而避免了對磁盤不必要的擦寫,但同時也造成了修改數據不能保存的問題。

AUFS 的出現正好解決了上述問題,它管理一個基本文件系統(即本文中的系統Squashfs 鏡像,保持原只讀狀態)和一個讀寫存儲文件系統(必須具有讀寫權限)。通過AUFS,用戶可以虛擬地修改基本文件系統上的文件,但修改后的結果卻保存在讀寫存儲文件系統中,從而實現了數據的透明修改。

3.5 Initrd 初始化內存盤

Initrd(boot loader Initialized RAM Disk 的縮寫),由boot loader 初始化。本系統使用的boot loader 為GNU GRUB 0.97.如果Grub 已配置Initrd,Linux 內核在啟動前,會把存儲設備中的Initrd 文件加載到內存,作為一個臨時根文件系統;內核啟動時通過先執行Initrd 中的init 文件,完成設備驅動模塊和squashsf、aufs 文件系統模塊的加載,并完成真正的根文件系統的掛載,然后執行系統中的/sbin/init 進程。

與普通IDE、SATA 硬盤相比,USB 接口存儲設備從驅動模塊加載到設備可用,比較慢,需要幾秒鐘。

因此內核在掛載USB 存儲設備時,會出現:USB 設備沒有初始化完成,真正根文件系統掛載失敗的問題。為了解決此問題,筆者在Initrd 中修改init 可執行文件,當加載USB 驅動后,系統將休眠5 秒,讓USB 設備初始化完成后再掛載USB 存儲設備中的根文件系統。本系統的init 文件配置如下:

本系統Initrd 中的最小化根文件系統由BusyBox創建,包含bin、dev、etc、lib、mnt、proc、sbin、sys這些必須的目錄和相關文件。由于BusyBox 生成的modprobe 命令不能正常執行,所以需要復制宿主系統中的modprobe 命令并替換Initrd 中的sbin 目錄中的同名文件,同時通過ldd 查看modprobe 依賴的庫文件,并復制到Initrd 中的lib 目錄。

最后在宿主機器上通過命令:

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

3.6 Grub 啟動引導器

GNU GRUB (GNU GRand Unified Bootloader 的縮寫),是GNU 項目中一個多操作系統啟動引導程序,也是Linux 系統中最常用引導工具之一。為了讓系統從USB 設備啟動,必須將GRUB 程序安裝在USB 存儲設備的主引導記錄(MBR)中。

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

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

進入grub 命令窗口,運行以下命令安裝到U 盤的MBR:

grub>root(hd1,0) #假定Linux 系統所在盤符為第二塊硬盤的第一個分區

grub>setup(hd1)

實際操作時根據硬盤分區不同作相應修改。

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

3.7 Xfce 桌面環境

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

4 具體實現

4.1 系統在USB 盤上的實現

在宿主系統上構建好整個Linux 桌面系統后,按前所述配置好只讀文件系統鏡像system.squashfs、初始化內存盤Initrd、內核鏡像vmlinuz、Grub 中的menu.lst 文件、USB 盤標志文件LABEL,然后按以下步驟將系統移植進USB 盤。

①準備一個8G 的USB 盤,分為兩個區:一個分區作為系統區,文件系統為EXT2,并激活為啟動分區,作為Linux 系統使用;一個分區為數據區,文件系統為FAT32,平時作為與Windows 系統交互的分區,保存移動辦公數據。

②將system.squashfs、Initrd、vmlinuz、LABEL 和Grub 相關文件復制到系統區,并在系統區中新建system_ro( 用于掛載squashfs 只讀文件系統) 、system_rw(用于掛載aufs 文件系統時的修改文件存儲目錄)、system(用于最終文件系統的掛載目錄)三個目錄。

③運行grub 程序中的root、setup 命令將啟動引導信息寫入USB 盤的系統區的MBR.

4.2 系統啟動過程

基于USB 接口的微型桌面Linux 系統的啟動過程如圖2 如示。

計算機開機自檢, BIOS 引導到USB 接口的磁盤設備,通過啟動引導管理器Grub,加載Linux 內核文件vmlinuz,內核將初始化內存盤initrd.img-2.6.27.27加載到內存,形成一個臨時根文件系統,通過執行Initrd 中的init 可執行文件,進行sysfs、proc 文件系統的加載,并對硬件進行初始化,相關硬件驅動、squashfs、aufs 模塊的加載后,掛載系統只讀鏡像system.squashfs,并通過聯合文件系統aufs 使其可寫,然后轉到真正的根文件系統執行命令/sbin/init,完成微型桌面Linux 系統的啟動。

圖2 系統啟動過程。

5 實驗結果

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

圖3 Linux 微型桌面系統。

6 結論

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

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产一区二区三区观看| 亚洲精品在线视频观看| 美日韩丰满少妇在线观看| 亚洲日本国产| 欧美一区二区视频在线| 国产揄拍国内精品对白| 性18欧美另类| 久久久久国产精品一区二区| 欧美一区二区在线观看| 欧美日韩在线三区| 激情欧美一区二区三区在线观看| 欧美激情综合亚洲一二区| 欧美日韩国产成人| 国产欧美日韩一区二区三区在线| 欧美激情一区二区三区在线视频| 国产精品一区二区三区久久久| 老司机凹凸av亚洲导航| 国产精品久久久久久久午夜片| 免费视频最近日韩| 一区二区福利| 麻豆成人91精品二区三区| 久久婷婷国产综合精品青草| 在线日韩一区二区| 麻豆久久婷婷| 国产九色精品成人porny| 狠狠色狠狠色综合| 一区二区欧美在线| 99热精品在线观看| 国产亚洲人成网站在线观看| 99精品黄色片免费大全| 欧美女同在线视频| 欧美日本韩国| 欧美午夜精品电影| 一本色道精品久久一区二区三区| 国产精品美女在线观看| 午夜精品久久久久99热蜜桃导演| 亚洲精品1234| 亚洲视频一区| 在线看片第一页欧美| 在线一区二区三区四区| 亚洲日韩第九十九页| 欧美色图一区二区三区| 亚洲精选一区二区| 久久婷婷国产综合国色天香| 9人人澡人人爽人人精品| 欧美一区二区在线播放| 久久久久99精品国产片| 欧美福利电影网| 国产精品美女久久久久久2018| 亚洲第一中文字幕| 伊人男人综合视频网| 日韩视频欧美视频| 激情欧美一区二区三区| 亚洲国产日韩一级| 欧美激情视频一区二区三区不卡| 亚洲欧美日韩精品久久久久| 日韩一区二区精品在线观看| 国产精品视频yy9299一区| 亚洲一区国产一区| 一本一本久久a久久精品综合麻豆| 国产精品亚洲综合一区在线观看| 一区二区三区精品久久久| 国内自拍视频一区二区三区| 国产伦精品一区二区三区高清版| 午夜国产不卡在线观看视频| 亚洲区欧美区| 久久久美女艺术照精彩视频福利播放| 国语自产精品视频在线看8查询8| 黄色精品一区| 欧美一区二区三区在线播放| 一区二区高清视频| 亚洲国产精品一区二区久| 久久国产99| 久久精品一区二区三区四区| 久久超碰97人人做人人爱| 亚洲电影免费| 欧美三级免费| 欧美精品啪啪| 久久aⅴ国产欧美74aaa| 99视频有精品| 国产午夜精品在线| 亚洲小说区图片区| 欧美中文字幕视频| 女仆av观看一区| 亚洲激情在线播放| 裸体一区二区| 国产视频综合在线| 国产伦精品一区二区三区视频孕妇| 欧美精品在线播放| 欧美性事免费在线观看| 久热国产精品| 亚洲福利久久| 欧美日韩国产高清| 国产精品卡一卡二卡三| 性一交一乱一区二区洋洋av| 欧美日韩亚洲三区| 欧美日韩1080p| 久久色在线观看| 亚洲欧洲另类国产综合| 欧美日韩一区二区欧美激情| 欧美久久成人| 亚洲一区视频在线观看视频| av成人动漫| 亚洲欧美视频一区二区三区| 欧美精品色一区二区三区| 麻豆成人在线| 午夜日韩福利| 久久国产精品久久国产精品| 亚洲精品一品区二品区三品区| 牛人盗摄一区二区三区视频| 亚洲国产成人在线| 欧美有码在线视频| 久久精品国产亚洲高清剧情介绍| 国产在线视频欧美| 黑人巨大精品欧美黑白配亚洲| 欧美日韩精品免费观看视频完整| 亚洲茄子视频| 国产乱码精品1区2区3区| 久久xxxx精品视频| 性色一区二区三区| 欧美视频一二三区| 美女在线一区二区| 亚洲一区在线视频| 亚洲黄色精品| 免费永久网站黄欧美| 老司机凹凸av亚洲导航| 久久视频这里只有精品| 亚洲国产裸拍裸体视频在线观看乱了中文| 黄色av一区| 在线精品亚洲| 欧美中文在线免费| 亚洲一区视频| 欧美va天堂在线| 激情综合色丁香一区二区| 国产精品免费在线| 久久久99久久精品女同性| 欧美不卡高清| 欧美在线免费看| 欧美午夜美女看片| 欧美性色视频在线| 亚洲三级电影全部在线观看高清| 亚洲国产精品一区二区尤物区| 欧美日韩综合网| 欧美大片免费| 国产精品久久久久久亚洲毛片| 毛片基地黄久久久久久天堂| 一区二区不卡在线视频 午夜欧美不卡'| 国产精品日韩电影| 欧美伦理影院| 欧美电影免费观看| 黄色欧美日韩| 国产精品久久久久秋霞鲁丝| 每日更新成人在线视频| 免费亚洲一区二区| 国产日韩一级二级三级| 另类av导航| 亚洲日本va午夜在线电影| 国产日韩欧美中文| 欧美三区不卡| 亚洲一区二区三区影院| 国产综合在线视频| 久久久综合激的五月天| 久久免费视频在线| 亚洲综合色丁香婷婷六月图片| 性欧美精品高清| 欧美日本国产精品| 久久午夜精品一区二区| 国产日韩欧美视频| 欧美性猛交xxxx乱大交蜜桃| 国产精品一区二区三区乱码| 欧美日本高清一区| 亚洲精品视频免费观看| 欧美大胆人体视频| 亚洲免费在线| 欧美日韩国产在线| 午夜精品免费视频| 国产精品久久久久久久久搜平片| 国产精品视频在线观看| 久久久激情视频| 最新中文字幕亚洲| 国产精品日日摸夜夜添夜夜av| 午夜精品久久一牛影视| 国产偷自视频区视频一区二区| 亚洲欧美日韩直播| 欧美视频在线观看| 一区二区亚洲精品国产| 国产精品夜夜夜| 国产亚洲欧美一区在线观看| 一区二区免费在线观看| 欧美日韩一区二区三区高清| 伊人久久久大香线蕉综合直播| 久久婷婷久久一区二区三区| 国产一区二区三区免费观看| 国产日韩欧美二区| 欧美性事在线| 久久久精彩视频| 国产精品男gay被猛男狂揉视频| 国产情人综合久久777777| 欧美激情国产日韩精品一区18| 国产精品美女久久久久av超清| 亚洲视频日本| 亚洲最新中文字幕| 亚洲免费在线视频一区 二区| 一本色道精品久久一区二区三区| 99国产精品国产精品毛片| 欧美精品少妇一区二区三区| 亚洲综合999| 99精品久久免费看蜜臀剧情介绍| 欧美日韩在线视频一区| 国产精品亚洲视频| 亚洲欧美清纯在线制服| 永久555www成人免费| 久久国产主播精品| 国产精品九色蝌蚪自拍| 亚洲视频精品在线| 亚洲视频一起| 国内精品美女av在线播放| 久久人91精品久久久久久不卡| 欧美午夜精品久久久| 欧美日韩国产成人在线| 久久九九电影| 亚洲丶国产丶欧美一区二区三区| 一本色道久久综合狠狠躁篇怎么玩| 国产目拍亚洲精品99久久精品| 亚洲国产成人一区| 狂野欧美激情性xxxx欧美| 国产人妖伪娘一区91| 亚洲欧美综合v| 先锋亚洲精品| 欧美高清视频在线观看| 久久黄色小说| 亚洲国产欧洲综合997久久| 怡红院精品视频在线观看极品| 国产视频精品xxxx| 国产乱码精品一区二区三| 美日韩在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲区第一页| 久久久久久有精品国产| 国产精品久久久久aaaa九色| 国产日韩在线看片| 亚洲午夜一二三区视频| 亚洲精品久久久久| 亚洲福利在线观看| 欧美日韩中文在线| 亚洲国产岛国毛片在线| 亚洲一区二区视频| 国产精品国产成人国产三级| 欧美一区二区福利在线| 国产自产2019最新不卡| av成人国产| 亚洲乱码国产乱码精品精98午夜| 一区二区欧美激情| 午夜日韩激情| 欧美国产乱视频| 国产精品国产福利国产秒拍| 欧美国产精品一区| 国产精品性做久久久久久| 老司机凹凸av亚洲导航| 免费不卡在线视频| 欧美国产丝袜视频| 国产精品免费一区二区三区在线观看| 国产精品嫩草影院一区二区| 国产欧美精品日韩| 亚洲人成网站精品片在线观看| 亚洲一区二区三区在线看| 好男人免费精品视频| 国产精品美女久久久| 欧美日韩一区在线| 亚洲第一页在线| 亚洲欧美在线磁力| 久久综合狠狠综合久久综青草| 国产精品亚洲不卡a| 久久人人97超碰人人澡爱香蕉| 亚洲国产成人久久综合| 在线欧美日韩精品| 国产亚洲亚洲| 欧美va亚洲va国产综合| 亚洲国产91精品在线观看| 一色屋精品亚洲香蕉网站| 亚洲全黄一级网站| 国产日韩av高清| 亚洲欧美日本精品| 国产精品人人做人人爽| 亚洲少妇诱惑| 亚洲性视频网址| 欧美午夜理伦三级在线观看| 9色国产精品| 久久久免费精品视频| 国产免费成人| 国产精品自拍网站| 亚洲高清视频一区| 欧美色精品天天在线观看视频| 久久九九久久九九| 一本久久综合| 国产精品成人一区二区艾草| 欧美一区二区精品| 欧美成年人网| 欧美.www| 国产精品a久久久久久| 亚洲欧美日韩一区二区三区在线观看| 国语自产精品视频在线看一大j8| 亚洲成色www8888| 亚洲高清久久久| 国产免费成人在线视频| 亚洲神马久久| 蜜臀久久99精品久久久画质超高清| 欧美丝袜一区二区三区| 99国内精品久久久久久久软件| 亚洲福利视频网站| 欧美一级淫片aaaaaaa视频| 99精品国产在热久久下载| 亚洲小说欧美另类社区| 久久女同互慰一区二区三区| 欧美日韩国产精品成人| 一区二区三区在线高清| 日韩午夜三级在线| 黄色成人在线免费| 老司机午夜精品视频在线观看| 久久精品观看| 欧美日韩在线精品一区二区三区| 亚洲免费一在线| 欧美日韩在线播放三区四区| 国产伦一区二区三区色一情| 国产欧美精品日韩区二区麻豆天美| 欧美成黄导航| 久久久久中文| 宅男在线国产精品|