嵌入式LAB 6 Linux核心編譯

2021-07-13 18:46:40 字數 1570 閱讀 8905

mac os x + ubuntu14.04虛擬機器

安裝交叉編譯工具

適合樹莓派的linux核心

樹莓派

外接顯示屏

從github上,把核心源**轉殖下來。位址如下:

為了達到一致的效果,我選用了和教程一樣的3.18版本。

新增系統呼叫

系統呼叫實際上是呼叫核心某個函式的過程。所以,為了告訴作業系統什麼時候該用什麼函式,需要在核心中進行一些修改。首先,你需要在核心中有乙個這樣的可執行的函式。在arch/arm/kernel中新建乙個sys_mysyscall.c檔案,只包含乙個函式,其作用為在執行後輸出一條核心日誌。

修改makefile中的obj-y欄位,將sys_mysyscall.o加入目標檔案中。即將該函式納入系統的編譯程序。

而後,你需要讓作業系統知道這個函式是處理某個系統呼叫的函式。此時,需要修改系統的中斷向量表。此時需要修改arch/arm/kernel/calls.s檔案。

在include/uapi/asm-generic/unistd.h標頭檔案中將223號呼叫與某個巨集進行關聯,在syscall()中註冊乙個位置,方便呼叫。接下來就可以開始編譯了。

下面可以開始編譯了。編譯方式如上圖所示。編譯期間出過幾次錯誤,不過都能夠順利地解決。

編譯完成之後就是安裝,如果燒錄了樹莓派官方給出的sdcard映象,那麼現在你的sd卡分區長這樣。sdcard使用讀卡器接入電腦。sdcard有兩個分割槽,乙個是boot區,格式是fat32,大小僅有數十兆。乙個是ext4區,需要掛在到磁碟上。學長的部落格上有很多教程。我們只需要寫乙個指令碼就好。

做好之後,我們就可以把核心移植到樹莓派上,並開機了。

用上述兩種方式進行系統呼叫,結果如下圖所示:

嵌入式Linux核心製作

一.linux核心簡介 linux系統架構分為核心空間和使用者空間。它們之間切換條件 1.系統呼叫 2.硬體中斷。核心架構 1.系統呼叫介面 2.程序管理塊 3.記憶體管理 4.體系結構相關 4.虛擬檔案系統 5.網路棧 6.裝置驅動 二.製作linux核心 1.修改配置檔案 make config...

嵌入式Linux核心介紹

張建波 linux最早是由芬蘭的linus torvalds為在英特爾x86架構上提供乙個自由免費的類unix作業系統而開發的。準確來說,linus torvalds僅僅是完成了linux 的 核心 也就是說 linux 核心 linux作業系統。現在pc機上比較流行的redhat ubuntu等等...

嵌入式Linux核心安裝

1 編譯linux原始碼 rtouch.sh make menuconfig make clean 該命令用於清除舊的編譯檔案 make make uimage 編譯完後,會在arch armboot 目錄下生成新的核心壓縮映象檔案uimage 2 uimage ramdisk.gz.img use...