亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方法

文檔序號:6573227閱讀:212來源:國知局
專利名稱:一種適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種Linux操作系統(tǒng)的實現(xiàn)方法,尤其涉及一種存儲 在移動存儲器上,隨時連接主機并從移動存儲器上直接啟動系統(tǒng)的 Linux操作系統(tǒng)的實現(xiàn)方法,屬于計算機操作系統(tǒng)技術(shù)領(lǐng)域。
技術(shù)背景Linux是一種開放源代碼的操作系統(tǒng),與目前通行的Windows操 作系統(tǒng)相比,具有成本低、資源占用率低、適合高性能運算等多方面 的優(yōu)勢,加之其具有良好的可擴展性和可維護性,因此受到了廣大用 戶和程序員的普遍歡迎。Lirmx操作系統(tǒng)以目錄樹的形式存放有關(guān)的文件,圖1顯示了一個 典型的Linux系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)。在根目錄下,分別包括/bin、 /etc、 /boot、 /dev、 /home、 /lib、 /mnt、 /root、 /sbin、 /tmp、 /usr、 /var 等文 件夾。其中/bin用于存放必要的命令,/boot用于存放內(nèi)核以及啟動所 需的文件等,/dev用于存放設(shè)備文件,/etc用于存放系統(tǒng)的配置文件, /home是用戶文件的主目錄,用戶數(shù)據(jù)存放在其主目錄中,/lib用于存 放必要的運行庫等。Linux具有內(nèi)核便于進行剪裁的特點,即根據(jù)用戶的需要,刪除或 者修改文件系統(tǒng)中的部分文件,Linux操作系統(tǒng)的整體運行不受影響。 因此,將Linux操作系統(tǒng)中的文件系統(tǒng)進行適當?shù)募舨煤驮O(shè)置,就可 以實現(xiàn)多種有用的功能,例如Live CD版所具有的無需安裝就可以直 接使用的功能。Live CD版使用了一種將物理內(nèi)存虛擬成磁盤來運行 Linux的技術(shù)。利用該技術(shù),只用CD-ROM或者USB設(shè)備就可以運行 Linux,可以不必考慮硬盤的存在,同時也避免了破壞硬盤數(shù)據(jù)的可能 性。目前,幾種較為常見的Linux Live CD版本主要有基于Slack Ware 的SLAX,基于Fedora Core 2的Fedora Core 2 Live CD,基于Debian 的Knoppix,基于Mandrake的Mandrake Move和基于SUSE的SUSE LINUX 9.1 Live-Eval ISO等。但是,上述的現(xiàn)有Live CD版普遍對USB存儲設(shè)備的支持很弱,例如在有的版本中,系統(tǒng)啟動后要等待根文件系統(tǒng)掛載完成后,再根據(jù)硬件探測是否在USB接口上有USB存儲設(shè)備來決 定是否需要加入USB存儲設(shè)備支持。依照這樣的執(zhí)行邏輯,沒有掛載根 文件系統(tǒng)也就無法加入對USB存儲設(shè)備的支持,這就在邏輯上形成了一 個死鎖狀態(tài),導致系統(tǒng)根本無法啟動。另外一方面,現(xiàn)有主流的Linux操作系統(tǒng)中,如果要使其具有完備的 功能,安裝所需要的空間在1.8G以上,而現(xiàn)有的主流USB移動存儲設(shè)備 如U盤等,其容量大多在1G以內(nèi),根本無法安裝下一個完整版本的Linux 桌面操作系統(tǒng)。雖然Linux操作系統(tǒng)具有內(nèi)核便于進行剪裁的特點,但 是這種剪裁勢必導致相應(yīng)功能的喪失,從而不能充分滿足廣大普通用 戶的需求。 發(fā)明內(nèi)容本發(fā)明的目的是提供一種適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn) 方法。經(jīng)過該方法處理后的Linux操作系統(tǒng)的體積大為減小,并且具 有不用安裝就可以直接使用的特性。為實現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案-一種適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方法,其特征在于包 括如下步驟(1) 在操作系統(tǒng)中使用GRUB引導程序進行系統(tǒng)引導;(2) 在內(nèi)核啟動后,所述操作系統(tǒng)初始化時首先加入移動存儲設(shè)備支 持,然后再掛載根文件系統(tǒng);(3) 對所述操作系統(tǒng)的文件進行壓縮,并將壓縮后的文件存放到移動 存儲設(shè)備中。其中,所述步驟(l)中,使用root=/dev/sdal指令,使內(nèi)核掛載/dev/sdal 成根文件系統(tǒng)。所述步驟(2)中,在移動存儲設(shè)備的文件目錄中生成一個完整的分區(qū)表 空間;在所述移動存儲設(shè)備中創(chuàng)建新的安裝分區(qū),并在該安裝分區(qū)上創(chuàng)建 基文件系統(tǒng);在/dev/sdal分區(qū)上建立一個/base目錄,將壓縮鏡像文件安裝到 /dev/sdal分區(qū)的/base目錄下;在/dev/sdal分區(qū)上建立/boot目錄,在/boot目錄中安裝系統(tǒng)引導所需的文件;生成Initrd.img文件,用于內(nèi)核啟動后執(zhí)行生成正常系統(tǒng)的根文件系統(tǒng)。所述基文件系統(tǒng)為ext3文件系統(tǒng)。所述壓縮鏡像文件為用mksquashfs命令制作的/bin、 /lib、 /etc、 /root、 /sbin、 /usr、 /var、 /opt、 Zboot目錄的壓縮鏡像文件。所述Initrd.img文《牛中包含/bin、 /etc、 /lib、 /sbin、 /sys、 /proc、 /dev、 /sysroot目錄和Init、 Initlib文件;所述Init腳本用于告訴內(nèi)核在chroot到目標根系統(tǒng)前要做的工作, 所述Initlib文件是Init腳本的函數(shù)庫。所述Init腳本通過如下的步驟獲得a. 指定環(huán)境變量;b. 掛載proc文件系統(tǒng)和sysfs文件系統(tǒng);c. 向內(nèi)核插入移動存儲設(shè)備支持模塊,再創(chuàng)建對應(yīng)的塊設(shè)備符;d. 力口入ext3、 unionfs、 squashfs、 loop文件系統(tǒng)支持;e. 創(chuàng)建unionfs文件系統(tǒng)類型的目標根文件系統(tǒng);f. 掛載所有的.mo數(shù)據(jù)鏡像文件模塊,創(chuàng)建目標根系統(tǒng)中的內(nèi)容;g. 生成最終目標系統(tǒng)實際使用的fstab;h. 在目標根文件系統(tǒng)中補全目錄結(jié)構(gòu);i. chroot到目標根系統(tǒng)SUNION,并執(zhí)行目標根文件系統(tǒng)的正常啟動 過程。所述步驟(3)中,使用squashfs文件系統(tǒng)對所述操作系統(tǒng)的文件進行壓縮。通過unionfs技術(shù)將只讀的squashfs文件系統(tǒng)和可讀寫的文件系統(tǒng)整 合成一個根文件系統(tǒng)中。所述移動存儲設(shè)備為支持USB接口的U盤或者USB Key。 本發(fā)明所提供的方法可以將具有完全功能的Limix操作系統(tǒng)和相 關(guān)應(yīng)用文件剪裁壓縮到1個G以內(nèi),從而便于存放在U盤之類的移動 存儲設(shè)備上。利用本發(fā)明,使用者在外出工作時只需要攜帶存儲有該 Linux操作系統(tǒng)的U盤而不需要攜帶筆記本電腦。實際使用時,把該U 盤連接到任意一臺電腦上就可以直接使用。即使在所連接的電腦沒有 硬盤的情況下也可以正常工作。


下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步的說明。圖1為一個典型的Linux操作系統(tǒng)的物理存儲結(jié)構(gòu)示意圖。圖2為本發(fā)明所提供的Linux操作系統(tǒng)的物理存儲結(jié)構(gòu)示意圖。圖3為現(xiàn)有的SLAX版本中,物理存儲空間的劃分方式示意圖。圖4為本發(fā)明所提供的Linux操作系統(tǒng)中,物理存儲空間的劃分方式示意圖。
具體實施方式
參見圖2所示的Linux操作系統(tǒng)的物理存儲結(jié)構(gòu),本發(fā)明的主要 發(fā)明點就在于對構(gòu)成Linux操作系統(tǒng)的各個文件進行合理的剪裁和配 置,使之在減少體積的同時,保留操作系統(tǒng)的基本功能,同時具備直 接通過存儲在U盤中的操作系統(tǒng)啟動并運行計算機的能力。具體而言,鑒于現(xiàn)有用作引導盤的U盤中通常使用LILO引導程序, 導致Linux桌面系統(tǒng)無法從U盤中啟動的問題,本發(fā)明人在U盤中的操 作系統(tǒng)中增加了 GRUB引導程序。GRUB (GRand Unified Bootloader)是 一個將引導裝載程序安裝到主引導記錄的程序,主引導記錄是位于一個 硬盤開始的扇區(qū)。它允許位于主引導記錄區(qū)中特定的指令來裝載一個 GRUB菜單或是GRUB的命令環(huán)境。這使得用戶能夠開始操作系統(tǒng)的選 擇,在內(nèi)核引導時傳遞特定指令給內(nèi)核,或是在內(nèi)核引導前確定一些系 統(tǒng)參數(shù)(如可用的RAM大小)。在現(xiàn)有的Linux操作系統(tǒng)如Red Hat Linux 7.2中,GRUB取代LILO成為了默認的啟動引導程序,但是,現(xiàn)有的系 統(tǒng)啟動引導程序GRUB是使用root—dev/hdx來引導硬盤啟動系統(tǒng)的,而 在本發(fā)明中,使用root=/dev/sdal來告訴內(nèi)核啟動的根文件系統(tǒng)在U盤上, 讓內(nèi)核掛載/dev/sdal成根/。需要說明的是,這里的/dev/sdal只是一個示 例,表示根文件系統(tǒng)在U盤的sdal分區(qū)上。根據(jù)U盤上分區(qū)的不同,還 可以有其它的命令形式。另一方面,現(xiàn)有技術(shù)是在根文件系統(tǒng)掛載后,根據(jù)硬件探測是否有 USB存儲設(shè)備來決定是否需要加入USB存儲設(shè)備支持,這就造成一個邏 輯死鎖狀態(tài),導致系統(tǒng)無法啟動。針對這一問題,本發(fā)明人在Linux內(nèi)核 啟動后,系統(tǒng)初始化時先加入USB存儲設(shè)備支持,然后再掛載根文件系 統(tǒng),這樣就解決了 USB存儲設(shè)備啟動支持的問題。基于上述兩方面的技術(shù)方案,本發(fā)明主要采用了如下的具體實施步驟首先,選擇一臺普通的計算機,在該計算機的硬盤上安裝一個普通 的完整Linux源系統(tǒng)。該源系統(tǒng)中的數(shù)據(jù)文件為制作本發(fā)明所提供的特殊 Linux系統(tǒng)的安裝數(shù)據(jù)源。作為本發(fā)明所述方法的第二步,用mksquashfs命令制作/bin、 /lib、 /etc、 /root、 /sbin、 /usr、 /var、 /opt、 /boot目錄的壓縮鏡像文件。具體而 言,命令mksquashfs bin bin.mo —keep-as-directory, 制作出bin.mo, 并將其權(quán)限改為只讀權(quán)限,chmod 555 bin.mo,其他的目錄鏡像也類似處 理。在現(xiàn)有技術(shù)中,由于U盤上沒有bios可訪問的完整分區(qū)表部分,因 此無法在U盤上生成操作系統(tǒng)啟動引導程序的預(yù)裝代碼。為了解決這一 問題,本發(fā)明人在U盤的起始物理地址空間上開辟出一個完整的分區(qū)表空間。具體的操作步驟是這樣的首先在安裝有上述源操作系統(tǒng)的計算機上插接制作目標系統(tǒng)用的U盤,假定目標系統(tǒng)裝載后,U盤上生成的 文件目錄為/dev/sdal,則在/dev/sdal上生成一個完整的分區(qū)表空間,操 作指令為dd if=/dev/zero of=/dev/sdal bs=512 count=l。下一個步驟是在U盤上創(chuàng)建新的安裝分區(qū),即使用fdisk分區(qū)工具在 用戶干預(yù)下創(chuàng)建新的分區(qū)。然后,在新創(chuàng)建的分區(qū)上創(chuàng)建基文件系統(tǒng), 在本發(fā)明中,采用穩(wěn)定的ext3文件系統(tǒng)作為基文件系統(tǒng),具體的操作指 令是mkfs.ext3 /dev/sdal。然后,掛載U盤上的/dev/sdal分區(qū)到當前的源操作系統(tǒng),操作指令 為mount /dev/sdal /mnt。接著,在/dev/sdal分區(qū)上建立一個/base目錄,將前面制作的壓縮鏡 像文件安裝到/dev/sdal分區(qū)的/base目錄下。下一步,在/dev/sdal分區(qū)上建立/boot目錄,在/boot目錄中安裝系統(tǒng) 引導所需的文件,操作指令為cp -rf /boot/* /mnt/boot 。然后,生成一個新的Initrd.img文件,用于內(nèi)核啟動后執(zhí)行生成正常 系統(tǒng)的根文件系統(tǒng)。在本發(fā)明中,為了支持U盤啟動Linux系統(tǒng),本發(fā)明人對原有的 Initrd.img文件做了重大改動。在新的Initrd.img文件中,包含了 /bin 、 /etc 、 /lib、 /sbin、 /sys、 /proc、 /dev、 /sysroot目錄和Init、 Initlib文件。其中, /bin目錄中為一些生成根文件系統(tǒng)所必需的最基本工具,包括busybox、unionctl、 uniondbg、 lsmod、 modprobe、 eject、 blkid, 以及至U busybox的 鏈接/bin/sh 、 /bin/ash 、 /bin/bash 、 /bin/[ 、 /bin/mount 、 /bin/umount 、 /bin/poweroff、 /bin/halt、 /bin/reboot、 /bin/ld、 /bin/ls、 /bin/head、 /bin/cat、 /bin/grep、 /bin/sleep。 /lib目錄中是內(nèi)核啟動后訪問U盤所需的內(nèi)核驅(qū)動 支持模塊,內(nèi)有文件系統(tǒng)支持模塊unionfs.ko、 squashfs.ko、 loop.ko、 ext3.ko,語言支持模塊,USB支持模塊usb-storage.ko、 ehci-hcd.ko、 ohci-hcd.ko、 uhci-hcd.ko,硬盤控制模塊scsi—mod.ko、 sd—mod.ko、 sg.ko、 ide。 /sbin是/bin目錄的鏈接目錄。/etc中有fstab和mtab文件,這二個 文件是mount文件系統(tǒng)所需的。/dev目錄中是系統(tǒng)啟動所需的基本設(shè)備 文件,包括額外所需的loop設(shè)備文件10op0 loop254和ram設(shè)備文件。/sys、 /proc、 /sysroot是空目錄,/proc目錄用作proc文件系統(tǒng)內(nèi)核信息鏡像掛 載用,這是Initrd.img的通用做法。Init、和Initlib是內(nèi)核在自解壓完成 和初始化基本硬件支持后,在轉(zhuǎn)向目標根文件系統(tǒng)前所執(zhí)行的腳本代碼。 Initlib是Init腳本的函數(shù)庫,Init腳本的作用是告訴內(nèi)核在chroot到目標 根系統(tǒng)前要做的工作。在本發(fā)明中,對現(xiàn)有Linux系統(tǒng)的最重要改進就體現(xiàn)在Init腳本上。 現(xiàn)有的Linux系統(tǒng)中,Init腳本執(zhí)行如下的動作a.掛載proc文件系統(tǒng)和 sysfs文件系統(tǒng);b.創(chuàng)建基本的設(shè)備文件;c.chroot到引導程序參數(shù)中指定 的根分區(qū)。本發(fā)明為了實現(xiàn)對U盤啟動的支持,對Init腳本進行了如下 的重要改動a. 指定環(huán)境變量,操作指令為export PATH=.:/:/bin:/sbin:/usr/bin:/usr/sbin;b. 掛載proc文件系統(tǒng)和sysfs文件系統(tǒng);c. 為支持USB塊設(shè)備,以便訪問到U盤中內(nèi)容,在此步向內(nèi)核插入 USB 支持模塊 modprobe一moduleehci-hcd, modprobe—moduleohci-hcd, modprobe_moduleuhci-hcd, modprobe—modulescsi—mod , modprobe一moduleusb-storage , modprobe—modulesd—mod , modprobe—modulesg , 再倉寸建對應(yīng)的塊設(shè)備符create—block—devices;d. 力口入ext3、 unionfs、 squashfs、 loop文件系統(tǒng)支持;e. 創(chuàng)建unionfs文件系統(tǒng)類型的目標根文件系統(tǒng),操作指令為mount -t unionfs -o dir=$CHANGES=rw unionfs $UNION;f. 掛載所有的.mo數(shù)據(jù)鏡像文件模塊,創(chuàng)建目標根系統(tǒng)中的內(nèi)容,操作指令為union—insert_modules$UNION$DATA $IMAGES , union—insert—modules$UNION$MEMORY $IMAGES ,這里的 union—insert—modules過程實際是將每個.mo的squashfs文件系統(tǒng)格式鏡 像使用一個loop設(shè)備以只讀方式掛載到SUNION目錄上;g. 生成最終目標系統(tǒng)實際使用的fstab ,操作指令為echo -ne >$UNION/etc/fstab, fstab_update $UNION;h. 在目標根文件系統(tǒng)中補全目錄結(jié)構(gòu),操作指令為mkdir -p $UNION/proc, mkdir-p $UNION/sys, mkdir-p $UNION/dev, mkdir-p $UNION/tmp;i. chroot到目標根系統(tǒng)SUNION,并執(zhí)行目標根文件系統(tǒng)的正常啟動 過程,操作指令為cd $UNION和exec chroot . sbin/Init <dev/console >dev/console 2〉$1。另外,為了減少本發(fā)明所提供的Linux操作系統(tǒng)的體積,使之能夠在 存儲容量為1個G的U盤中保存,需要對上述方法獲得的操作系統(tǒng)進行 進一步壓縮。為此,本發(fā)明人使用squashfs文件系統(tǒng)將該桌面操作系統(tǒng) 壓縮到550M以內(nèi)。但是,squashfs是一種只讀的壓縮文件系統(tǒng)格式,不 支持寫操作。為了解決這一問題,本發(fā)明人采用了 unionfs技術(shù)。unionfs 是一種堆棧式的聯(lián)合文件系統(tǒng),它把多個目錄(也叫分支)內(nèi)容合并在一起, 而目錄的物理位置是分開的。通過該技術(shù),可以實現(xiàn)只讀和可讀寫目錄 的并存,也就是說可以同時刪除和增加內(nèi)容。具體的實現(xiàn)步驟是這樣的設(shè)定/tmpl和/tmp2目錄為原物理磁盤存 儲目錄,/tmpl目錄下有目錄A,文件為afile, /tmp2目錄下有文件bfile, 空目錄/mnt/imion為目標文件結(jié)構(gòu)整合的最終實現(xiàn)位置,首先,使用如下 指令mount—t unionfs—0/tmpl=ro:/tmp2=ro unionfs/mnt/union, 該指令 用于將/tmpl和/tmp2目錄整合。此時,再進入/mnt/union目錄就會看到目 錄A,文件afile、 bfile都在/mnt/union下,因為使用了ro參數(shù),所以都 是只讀的。當然,還可以添加可寫目錄,例如設(shè)定還有一個/tmp3目錄, 其下有B目錄,指令為unionctl /mnt/union —add—after /tmp2 —mode rw /tmp3即可將其加入/mnt/union。在mnt/union中出現(xiàn)的B目錄是可寫的。通過上述的技術(shù)措施,可以將只讀的squashfs文件系統(tǒng)和可讀寫的 文件系統(tǒng)整合成一個根文件系統(tǒng)中,從而屏蔽底層文件系統(tǒng)技術(shù)的差異, 使用戶的操作和已有習慣一致。需要說明的是,在現(xiàn)有技術(shù)中,SLAX也可以實現(xiàn)基于U盤的啟動, 但是該版本的Linux系統(tǒng)其原形是工作在光盤介質(zhì)上的。具體的工作方式 是使用syslinux在fatl6分區(qū)上工作引導系統(tǒng),由于syslinux不支持直接 ext2、 ext3、 fat32文件系統(tǒng)訪問,但支持fatl6文件系統(tǒng),因此SLAX系 統(tǒng)需要采用如圖3所示的物理存儲空間劃分方式,先在fatl6文件系統(tǒng)上 啟動引導器本身,再加載對其它文件系統(tǒng)的支持模塊,然后引導在其它 文件系統(tǒng)下的系統(tǒng)。而在本發(fā)明中,如圖4所示,利用GRUB本身直接 支持ext2、 ext3文件系統(tǒng)的特性,無需建立獨立的引導器分區(qū),因此不 需要ext2、 ext3兩個分區(qū)和fatl6分區(qū)格式,只需要在512字節(jié)的分區(qū)表 后具有l(wèi)inux的分區(qū)格式ext2或者ext3 —個根分區(qū)即可工作。在上述的實施例中,所使用的移動存儲設(shè)備以支持USB接口的U盤 為例。但本發(fā)明顯然不限于在U盤上使用。例如在內(nèi)部存儲有數(shù)字證書 的USB Key也很適合實現(xiàn)本發(fā)明。利用USB Key中內(nèi)置的數(shù)字證書,還 可以進一步實現(xiàn)針對Linux操作系統(tǒng)的版權(quán)保護功能,充分保障有關(guān)著作 權(quán)人的權(quán)益。上面對本發(fā)明所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方法進 行了詳細的說明。對本領(lǐng)域的一般技術(shù)人員而言,在不背離本發(fā)明實質(zhì) 精神的前提下對它所做的任何顯而易見的改動,都將構(gòu)成對本發(fā)明專利 權(quán)的侵犯,將承擔相應(yīng)的法律責任。
權(quán)利要求
1. 一種適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方法,其特征在于包括如下步驟(1)在操作系統(tǒng)中使用GRUB引導程序進行系統(tǒng)引導;(2)在內(nèi)核啟動后,所述操作系統(tǒng)初始化時首先加入移動存儲設(shè)備支持,然后再掛載根文件系統(tǒng);(3)對所述操作系統(tǒng)的文件進行壓縮,并將壓縮后的文件存放到移動存儲設(shè)備中。
2. 如權(quán)利要求1所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方 法,其特征在于所述步驟(l)中,使用root=/dev/sdal指令,使內(nèi)核掛載/dev/sdal成根 文件系統(tǒng)。
3. 如權(quán)利要求2所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方 法,其特征在于所述步驟(2)中,在移動存儲設(shè)備的文件目錄中生成一個完整的分區(qū)表 空間;在所述移動存儲設(shè)備中創(chuàng)建新的安裝分區(qū),并在該安裝分區(qū)上創(chuàng)建 基文件系統(tǒng);在/dev/sdal分區(qū)上建立一個/base目錄,將壓縮鏡像文件安裝到 /dev/sdal分區(qū)的/base目錄下;在/dev/sdal分區(qū)上建立/boot目錄,在/boot目錄中安裝系統(tǒng)引導所需 的文件;生成Initrd.img文件,用于內(nèi)核啟動后執(zhí)行生成正常系統(tǒng)的根文件系統(tǒng)。
4. 如權(quán)利要求3所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方 法,其特征在于所述基文件系統(tǒng)為ext3文件系統(tǒng)。
5. 如權(quán)利要求3所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方 法,其特征在于所述壓縮鏡像文件為用mksquashfs命令制作的/bin、 Aib、 /etc、 /root、/sbin、 /usr、 /var、 /opt、 /boot目錄的壓縮鏡像文件。
6. 如權(quán)利要求3所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方 法,其特征在于所述Initrd.img文件:中包含/bin、 /etc、 /lib、 /sbin、 /sys、 /proc、 /dev、 /sysroot目錄和Init、 Initlib文件;所述Init腳本用于告訴內(nèi)核在chroot到目標根系統(tǒng)前要做的工作, 所述Initlib文件是Init腳本的函數(shù)庫。
7. 如權(quán)利要求6所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方 法,其特征在于所述Init腳本通過如下的步驟獲得-a. 指定環(huán)境變量;b. 掛載proc文件系統(tǒng)和sysfs文件系統(tǒng);c. 向內(nèi)核插入移動存儲設(shè)備支持模塊,再創(chuàng)建對應(yīng)的塊設(shè)備符;d. 力口入ext3、 unionfs、 squashfs、 loop文件系統(tǒng)支持;e. 創(chuàng)建unionfs文件系統(tǒng)類型的目標根文件系統(tǒng);f. 掛載所有的.mo數(shù)據(jù)鏡像文件模塊,創(chuàng)建目標根系統(tǒng)中的內(nèi)容;g. 生成最終目標系統(tǒng)實際使用的fstab;h. 在目標根文件系統(tǒng)中補全目錄結(jié)構(gòu);i. chroot到目標根系統(tǒng)SUNION,并執(zhí)行目標根文件系統(tǒng)的正常啟動 過程。
8. 如權(quán)利要求1所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方 法,其特征在于-所述步驟(3)中,使用squashfs文件系統(tǒng)對所述操作系統(tǒng)的文件進行壓縮。
9. 如權(quán)利要求8所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方 法,其特征在于-通過unionfs技術(shù)將只讀的squashfs文件系統(tǒng)和可讀寫的文件系統(tǒng)整 合成一個根文件系統(tǒng)中。
10. 如權(quán)利要求1 9中任意一項所述的適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方法,其特征在于所述移動存儲設(shè)備為支持USB接口的U盤或者USB Key。
全文摘要
本發(fā)明公開了一種適合移動應(yīng)用的Linux操作系統(tǒng)的實現(xiàn)方法,包括如下步驟(1)在操作系統(tǒng)中使用GRUB引導程序進行系統(tǒng)引導;(2)在內(nèi)核啟動后,操作系統(tǒng)初始化時首先加入移動存儲設(shè)備支持,然后再掛載根文件系統(tǒng);(3)對操作系統(tǒng)的文件進行壓縮,并將壓縮后的文件存放到U盤或者USB Key之類的移動存儲設(shè)備中。利用本發(fā)明,使用者在外出工作時只需要攜帶存儲有該Linux操作系統(tǒng)的U盤而不需要攜帶筆記本電腦。實際使用時,把該U盤連接到任意一臺電腦上就可以直接使用。即使在所連接的電腦沒有硬盤的情況下也可以正常工作。
文檔編號G06F9/445GK101226477SQ20071006277
公開日2008年7月23日 申請日期2007年1月16日 優(yōu)先權(quán)日2007年1月16日
發(fā)明者王仲俊 申請人:北京共創(chuàng)開源軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1