在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-12-05 08:14 ? 次閱讀

1 引言

隨著USB 3.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 閱讀器、解壓縮軟件等。

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

圖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,在內核編譯時需要加如下的選項:

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

編譯出來的內核會將這兩類硬盤同等對待。從而使不同接口硬盤的盤符名在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 兩種壓縮算法的比較。

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

目前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 文件配置如下:

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

本系統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 如下:

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

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 系統的啟動。

在USB盤上搭建Linux微型桌面系統的方案設計與優勢介紹

圖2 系統啟動過程。

5 實驗結果

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

圖3 Linux 微型桌面系統。

6 結論

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    7951

    瀏覽量

    264904
  • 存儲
    +關注

    關注

    13

    文章

    4320

    瀏覽量

    85906
  • Linux
    +關注

    關注

    87

    文章

    11312

    瀏覽量

    209713
  • 計算機
    +關注

    關注

    19

    文章

    7511

    瀏覽量

    88078
收藏 人收藏

    評論

    相關推薦

    低電壓冗余電源方案設計

    低電壓冗余電源方案設計
    發表于 12-16 14:47 ?0次下載

    混合部署 | 迅為RK3568上同時部署RT-Thread和Linux系統

    RT-Thread介紹 RT-Thread 是一個高安全性、實時性的操作系統,廣泛應用于任務關鍵領域,例如電力、軌道交通、車載系統、工業控制和新能源等。它的加入讓 RK3568 能夠
    發表于 11-01 10:31

    混合部署 | 迅為RK3568上同時部署RT-Thread和Linux系統

    RT-Thread介紹 RT-Thread 是一個高安全性、實時性的操作系統,廣泛應用于任務關鍵領域,例如電力、軌道交通、車載系統、工業控制和新能源等。它的加入讓 RK3568 能夠
    發表于 09-18 10:54

    戶用光儲系統方案設計

    【古瑞瓦特儲能逆變器】戶用光儲系統方案設計 戶用光儲系統主要由光伏組件、儲能電池、儲能逆變器、計量設備及監控管理系統等組成,旨在實現家庭能源的自給自足、節能減排以及提高供電可靠性;戶用
    的頭像 發表于 09-13 16:44 ?694次閱讀
    戶用光儲<b class='flag-5'>系統</b><b class='flag-5'>方案設計</b>

    增量編碼器中磁性與光學解決方案設計優勢

    電子發燒友網站提供《增量編碼器中磁性與光學解決方案設計優勢.pdf》資料免費下載
    發表于 09-12 10:03 ?0次下載
    增量編碼器中磁性與光學解決<b class='flag-5'>方案設計</b>的<b class='flag-5'>優勢</b>

    微型逆變器上使用TI GaN的優勢

    電子發燒友網站提供《微型逆變器上使用TI GaN的優勢.pdf》資料免費下載
    發表于 09-04 09:37 ?0次下載
    <b class='flag-5'>在</b><b class='flag-5'>微型</b>逆變器上使用TI GaN的<b class='flag-5'>優勢</b>

    Mac 上好用的遠程桌面軟件推薦

    遠程控制Mac電腦已經成為現代辦公和遠程支持的常見需求。無論是Mac遠程控制Mac,還是Mac和Windows電腦之間進行遠程操作,你通常有兩種方案:使用操作系統自帶的遠程桌面服務,
    的頭像 發表于 08-30 13:20 ?399次閱讀
    Mac 上好用的遠程<b class='flag-5'>桌面</b>軟件推薦

    小白也會的,linux上跑android應用的方案

    介紹一個可以linux上跑安卓應用的linux桌面——OpenFDE
    的頭像 發表于 08-23 11:14 ?679次閱讀
    小白也會的,<b class='flag-5'>在</b><b class='flag-5'>linux</b>上跑android應用的<b class='flag-5'>方案</b>

    存儲器微型計算機系統中的作用

    存儲器微型計算機系統中扮演著至關重要的角色,它是計算機存儲和處理數據的核心部件。以下將詳細介紹存儲器微型計算機系統中的作用,包括其分類、
    的頭像 發表于 08-22 14:25 ?2419次閱讀

    RK3588J正式發布Ubuntu桌面系統,絲滑又便捷!

    本文主要介紹瑞芯微RK3588J的Ubuntu系統桌面演示,開發環境如下: U-Boot:U-Boot-2017.09Kernel:Linux
    發表于 08-22 13:53

    安森美OBC系統解決方案設計指南

    “OBC系統解決方案設計指南”又上新了,第一篇文章介紹系統用途、系統實施方法、系統說明、市場趨
    的頭像 發表于 08-20 16:34 ?905次閱讀
    安森美OBC<b class='flag-5'>系統</b>解決<b class='flag-5'>方案設計</b>指南

    USB轉IIS應用SSS1700參考電路圖

    SSS1700設計參考電路,SSS1700應用USB轉IIS方案設計電路,鑫創SSS1700設計方案
    發表于 07-31 10:38 ?6次下載

    國產芯,米爾基于全志T527的商顯主板及工業微型控制器

    TINA Linux, Android、Ubuntu等多種系統; 完善的外設驅動; 提供MEasy HMI V2.0參考代碼; 提供多種軟硬件方案、文檔資料,硬件設計建議、原理圖評審服務等技術支持
    發表于 06-14 17:26

    imotion解決方案設計器中使用不同的參數集,為什么總是加載參數集0嗎?

    我正在嘗試 imotion 解決方案設計器中使用不同的參數 集 。 我有 2 組參數 0 和 1,構建階段,我 設置 為設備啟動時加載參數 集 1。 但是當我對設備進行編程并重新
    發表于 06-03 08:13

    周界安防系統介紹、優勢和解決方案

    優勢 08 為您的企業規劃周界安防系統方案 ? 01 什么是周界安防 周界安防保護機場、電站、油廠和監獄等重要建筑及其周邊設施免受入侵危害起到重要作用。雖然大門和圍墻等固定屏障能為
    發表于 03-04 15:24 ?1236次閱讀
    周界安防<b class='flag-5'>系統</b><b class='flag-5'>介紹</b>、<b class='flag-5'>優勢</b>和解決<b class='flag-5'>方案</b>
    主站蜘蛛池模板: 免费爱爱网站| 天天操91| 深夜福利一区| 欧美一区二区三区激情啪啪| 天天性视频| 欧美一级在线观看播放| 色老头久久网| 午夜剧场官网| 你懂的手机在线| 亚洲视频一| 欧美在线资源| 操干| 黄色工厂在线播放| 婷婷sese| 婷婷五月在线视频| 羞羞视频靠逼视频大全| 欧美一区二区不卡视频| 成人久久伊人精品伊人| 三级网站免费看| 欧美成人a| 久久精品re| 一色屋精品免费视频 视频| 欧美日韩高清一本大道免费| 日本黄色录像视频| 日本特黄a级高清免费大片18| 久久综合色区| 性xxx无遮挡| 很黄很暴力 很污秽的小说| 狠狠干b| 国产亚洲精品美女2020久久| 哟交小u女国产精品视频| 天天爽夜爽免费精品视频| 中文永久免费看电视网站入口| 国产色婷婷亚洲| 黄色毛片儿| 午夜精品国产| 8天堂资源在线| 日本69xxxxxxx69| 久久精品国产99国产精品免费看| 婷婷久久综合网| 狠狠干干|