導航:首頁 > 操作系統 > 自製linux操作系統

自製linux操作系統

發布時間:2022-11-02 02:23:21

linux系統分析、裁減及RAMOS製作

使用Linux開發,根據應用需求的不同有不同的配置開發方法,但是一般都要經過如下的過程:

1.建立開發環境
操作系統一般使用RedHat-Linux,版本從7到9都可以,選擇定製安裝或全部安裝,通過網路下載相應的GCC交叉編譯器進行安裝(例如arm-Linux-gcc、arm-μclibc-gcc),或者安裝產品廠家提供的交叉編譯器。

2.配置開發主機
配置MINICOM,一般的參數為波特率為115 200bps,數據位為8位,停止位為1,無奇偶校驗,軟體硬體流控設為無。在Windows下的超級終端的配置也是這樣的。MINICOM軟體的作用是作為調試嵌入式開發板的信息輸出的監視器和鍵盤輸入的工具。配置網路,主要是配置NFS網路文件系統,需要關閉防火牆,簡化嵌入式網路調試環境設置過程。

3.建立引導裝載程序BOOTLOADER
從網路上下載一些公開源代碼的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據自己具體的晶元進行移植修改。有些晶元沒有內置引導裝載程序,例如三星的ARM7、ARM9系列晶元,這樣就需要編寫開發板上Flash的燒寫程序,網路上有免費下載的Windows下通過JTAG並口簡易模擬器燒寫ARM外圍Flash晶元的燒寫程序,也有Linux下的公開源代碼的J-Flash程序。如果不能燒寫自己的開發板,就需要根據自己的具體電路進行源代碼修改。這是系統正常運行的第一步。如果購買了廠家的模擬器當然比較容易燒寫Flash,這對於需要迅速開發自己產品的人來說可以極大地提高開發速度,但是其中的核心技術是無法了解的。

4.下載別人已經移植好的Linux操作系統
如μCLinux、ARM-Linux、PPC-Linux等,如果有專門針對所使用的CPU移植好的Linux操作系統那是再好不過的,下載後再添加自己的特定硬體的驅動程序,進行調試修改,對於帶MMU的CPU可以使用模塊方式調試驅動,對於μCLinux這樣的系統則需編譯進內核進行調試。

5.建立根文件系統
從下載使用BUSYBOX軟體進行功能裁減,產生一個最基本的根文件系統,再根據自己的應用需要添加其他程序。默認的啟動腳本一般都不會符合應用的需要,所以就要修改根文件系統中的啟動腳本,它的存放位置位於/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛裝文件系統的配置文件/etc/fstab,具體情況會隨系統不同而不同。根文件系統在嵌入式系統中一般設為只讀,需要使用mkcramfs、genromfs等工具產生燒寫映像文件。

6.建立應用程序的Flash磁碟分區
一般使用JFFS2或YAFFS文件系統,這需要在內核中提供這些文件系統的驅動,有的系統使用一個線性Flash(NOR型)512KB~32MB,有的系統使用非線性Flash(NAND型)8~512MB,有的兩個同時使用,需要根據應用規劃Flash的分區方案。

7.開發應用程序
應用程序可以放入根文件系統中,也可以放入YAFFS、JFFS2文件系統中,有的應用不使用根文件系統,直接將應用程序和內核設計在一起,這有點類似於μCOS-II的方式。

8.燒寫內核、根文件系統、應用程序

9.發布產品

② 如何用u盤製作成linux系統的安裝盤

以製作Ubuntulinux系統為例:

1、首先要下載Ubuntu系統,在網路搜索Ubuntu,打開Ubuntu官網。

③ 如何製作windows7,ubuntu,linux系統啟動盤

介紹如何在Windows7操作系統下,實現linux的dd命令製作windows的u盤啟動盤:工具:
Linux發行版的ISO鏡像或IMG鏡像
Windows7操作系統
DD for Windows軟體命令行工具版本0.6-beta3
圖形界面工具ddwin.exe.
用於安裝Linux系統的U盤一個,其容量大於ISO鏡像.
1.我提供ddwin.exe網路盤鏈接
2.打開ddwin.exe軟體,默認已經選定了當前U盤.選擇ddwin.exe上[Choose file]按鈕,選擇你的ISO鏡像,選擇界面的文件類型請改為所有類型.3.選擇ddwin.exe的[Restore]按鈕,它首先會提示你ISO鏡像是小於U盤大小的.(必須要小於啊,不然怎麼燒錄進去),我們選擇[是]表示確認.接下來ddwin.exe詢問你是否要燒錄,我們選擇[是].
4.ddwin.exe正在燒錄ISO鏡像到U盤.
5.ISO鏡像已成功dd到U盤,至此,一個Linux系統啟動U盤我們已經製作完成.

④ 製作linux文件系統為什麼要用QT

qt是一套圖形界面和圖形庫,商業化比較成功,文檔豐富,移植比較簡單,所以qt用的比較多

⑤ 如何才能自己寫一個簡單的linux操作系統

推薦一下看的資料吧——自己動手寫操作系統,就是手寫一個linux 系統的demo ,語言 代碼 步驟都很清晰,你要徹底的了解linux 這本書值得看

⑥ Linux To Go:製作隨身攜帶、即插即用的Linux系統

如何把Linux系統移植到U盤或移動硬碟上,並從USB驅動器中啟動並運行?下面我將教大家製作隨身攜帶、即插即用的Linux操作系統。(把當前系統移植到移動硬碟上)

為什麼需要這個功能呢?

硬體:

軟體:
Linux發行版自帶的工具 如 gparted grub cp

製作
Linux啟動盤的製作分為以下幾個步驟:分區、復制文件、安裝grub並配置、測試。 目的是把當前系統移植到移動硬碟上。

從LiveCD啟動,打開gparted分區工具, 把移動硬碟的分區表改為GPT 。我使用以下分區方案:

sdb1是UEFI+GPT模式下的引導分區,grub引導器就要裝在這里。
sdb2是放數據的,為了與Winodws兼容所以採用NTFS。
sdb3是Linux系統的全部內容,如果你想把家目錄單獨分出來也可以。
後面留空備用,結果如下圖

我原系統的文件儲存在 /dev/nvme0n1p3 (根分區)和 /dev/nvme0n1p4 (家分區)上,把這兩個分區掛載到 /mnt /mnt/home。每個人的分區情況不同,需要對應修改。掛載後,/mnt 目錄包括原系統的所有內容。

掛載 /dev/sdb3 到 /media/backup,把 /mnt 內容全部復制到 /media/backup
cp -a /mnt/* /media/backup/

GRUB 提供一個安裝程序grub-install用以安裝 GRUB 到磁碟,下面是grub-install的一些常用參數及選項:

UEFI 特有參數及選項:

掛載 /dev/sdb1 到 /media/backup/boot/efi ,把grub安裝到移動硬碟上

上面的 --boot-directory --efi-directory --removable 不可省略。

安裝之後要修改grub配置文件,就讓他自動生成好了。但要禁用os-prober功能——自動探測硬碟上的其他操作系統然後生成配置。Linux To Go 不依賴於其他操作系統,它的啟動菜單里只有自己。注意,不要使用update-grub,因為它會修改UEFI啟動項。

修改 /media/backup/etc/fstab,把UUID換成對應的值

安裝grub後,還要手動修改 /media/backup/etc/fstab 。Linux To Go只需要自動掛載兩個分區—— sdb1 ESP 和 sdb3 DEEPIN_ROOT,修改對應的UUID。

現在可以重啟試試了。開機按下F12 UEFI啟動菜單中有移動硬碟這個啟動項,選擇即可。

如果成功就OK;如果黑屏斷電,查看/media/backup/boot/efi 下的文件 把BOOTX64.EFI刪除,把 grubx64.efi 重命名為 BOOTX64.EFI 再重啟。

⑦ 如何製作linux操作系統鏡像

img/iso文件是鏡像文件,在Linux系統操作中有時需要製作鏡像文件,那麼製作鏡像文件的方法有哪些呢?下面小編就給大家介紹下如何下Linux下製作可啟動img/iso文件。
如何在Linux系統中製作可啟動img/iso鏡像文件
製作鏡像文件有三種方法,cp, cat, dd 和其它專用工具。cp ,cat 和 dd都可以從設備復制文件來創建鏡像。而 dd 命令更為強大,可以通過指定塊大小,塊多少來直接創建鏡像。
IMG 文件:
因為cp, cat 只能從設備來製作鏡像,但又沒有專用工具來做 IMG 文件,故這里用 dd 命令來製作 IMG 文件。
1,製作
dd if=/dev/zero of=fdimage.img count=2880
or
dd if=/dev/zero of=fdimage.img bs=1024 count=1440
2,格式化
mkfs.msdos fdimage.img
3,修改
可以用下面的命令 mount 後,可直接修改
mount -o loop *.img /mnt
4,可啟動
因為製作可啟動鏡像一定會用到虛擬機,推薦用 Virtualbox,先到網上下個 DOS 啟動盤來引導。用 DOS 的 sys 命令傳遞系統。推薦使用 FreeDOS,屬自由軟體。也可用 dd 命令 來傳遞引導引導信息,並復制啟動啟動時所需文件來做啟動盤。以 FreeDOS 為例,傳遞啟動信息用以下命令,其中下載的啟動盤為 balder10.img 文件
dd if=balder10.img of=fdimage.img bs=512 count=1 conv=notrunc
多系統用 grub4dos,
1),用 grub.exe 引導多系統
2),安裝 grub 到MBR,用 grldr 來引導多系統。當然也可用同上面一樣的辦法用 dd 直接寫入引導信息。
bootlace.com --floppy --chs 0x00
註:才發現用 dd 命令只能從邏輯扇區開始 ,先前我想可否用 dd 來將 grldr.mbr 寫入 u 盤,我用自己的 U 盤試了,結果不能打開了。因為我的 U 盤為 fat16 格式,邏輯扇區開始是OBR,接著是FAT表,結果把 FAT1 表給蓋了,那時還沒有想到還有 FAT2 呢,就格了,現在想起來郁悶啊,好多東西都沒有了。
為什麼軟盤可以呢,因為它就沒有前面的63個扇區,直接從邏輯0扇區開始的。
ISO 文件:
因為文件系統的關系,就不能用 dd 來直接做 ISO 鏡像了(當然,它還是可以從設備製作 ISO 鏡像)。 ISO 文件的製作有專用工具,
1,製作
mkisofs -r -o cdimage.iso /home/XXX/cddir
2,格式化
用mkiso製作的 iso 已有文件系統 iso9660
3,可啟動
無論是引導單系統還是引導多系統都還是用 mkisofs 這個工具,只是載入到光碟的 boot loader 不一樣而已。當然也可以將 DOS 的引導器 (也就是它的引導扇區) 或 windows 的引導器 ( XP 系統的是 ntldr ) 放入讓光碟引導。下面只討論 grub4dos 的使用
1),用 grub.exe 引導多系統
用 DOS 載入 grub.exe 引導多系統
2),將 grub 安裝到光碟 MBR
在製作時可用下面的命令直接生成可啟動鏡像,其中 grldr, menu.lst 要放在 cddir 目錄下,也就是在 cd 根目錄。
mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o cdimage.iso cddir
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o cdimage.iso cddir
PS,下面給出 dd 命令和 mkisofs 參數說明
dd (convert and files)
dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。
dd 的主要選項:
指定數字的地方若以下列字元結尾乘以相應的數字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
輸入文件名,預設為標准輸入。
of=file
輸出文件名,預設為標准輸出。
ibs=bytes
一次讀入 bytes 個位元組(即一個塊大小為 bytes 個位元組)。
obs=bytes
一次寫 bytes 個位元組(即一個塊大小為 bytes 個位元組)。
bs=bytes
同時設置讀寫塊的大小為 bytes ,可代替 ibs 和 obs 。
cbs=bytes
一次轉換 bytes 個位元組,即轉換緩沖區大小。
skip=blocks
從輸入文件開頭跳過 blocks 個塊後再開始復制。

⑧ 怎樣動手製作一個小型的Linux操作系統

首先build Kernel核心
然後配置安裝源
安裝open box圖形界面或者GNOME CLASSIC
登陸後安裝驅動
瀏覽器,office。。。。。。

⑨ 如何才能自己寫一個簡單的linux操作系統

只要你學過匯編和C,只滿足於寫個「簡單的操作系統",一兩天就能搞定。

隨便把你寫過的小程序,用直接寫硬碟軟體(或者自己編一個,調用winapi的WriteFile函數就可以),寫進硬碟/U盤引導區。記住,起始地址是7c00。

這就好了。注意,引導區只有440個位元組給你用,程序不能太大,所以這部分基本要用匯編寫。440位元組後面是硬碟/U盤分區信息,不可以亂動。亂動以後bios可能沒法識別硬碟/U盤。
引導區最後兩個位元組必須是55AA,不過一般你不用管,硬碟/U盤格式化的時候都已經給你寫好了。

這樣你的程序就在開機的時候直接運行了。

想調用大程序也沒問題,你需要寫個不超過440位元組的程序,負責把第二個扇區的內容載入內存並執行,由第二個扇區的代碼負責把所有代碼載入內存。後面的部分用C寫或者別的高級語言寫都沒什麼問題了。

至於你想要具體作什麼,就寫什麼,屏幕上畫個畫,管管硬碟上的文件,和用戶互動一下,你隨意。和你平常寫程序沒啥兩樣。總之一個能完成任務的簡單操作系統就完事了。

最多幾天時間你就能搞定。這差不多能搞個接近dos1.0的「簡單操作系統」。

不過接下來才是你真正要學的。例如文件管理,內存管理,保護模式,進程管理啥的。麻煩歸麻煩,但解放了自由了,終於可以編寫內核態才准用的代碼了,做的事情全部都是用戶態下面不讓做的事情。操作系統的學習,從這里才算真正開始。

⑩ 如何基於Linux開發屬於自己的操作系統

取決於你開發自己操作系統的目的。

也就是說,在Linux基礎上, 你不需要什麼功能, 需要添加什麼功能。
然後才能針對的去分析。
有些功能需要修改內核 甚至是boot。
有些功能,其實在上層增減一些可執行程序, 或者改一下UI就可以了。
難度和做法自然也是相差極大的。

閱讀全文

與自製linux操作系統相關的資料

熱點內容
怎麼批量有順序的命名文件夾 瀏覽:207
杭州程序員健身 瀏覽:13
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151