whatshot 0

編譯Linux kernel的教學?

我來回答這個問題
匿名者
匿名者
0 匿名者
最佳回答

最佳回答

許建豪
許建豪
15335
小有名氣

這行是用來指定系統要使用的核心,您可以透過這樣的方式同時在系統上放置多個不同的核心,以便隨時切換。

這樣新編譯好的核心就安裝好了。

在 Raspberry Pi 中編譯核心

如果您想要在 Raspberry Pi 中直接編譯新的核心也是可以,不過這樣的方式會非常慢(通常都要好幾個小時以上),除非特殊情況,不然一般都不會用這樣的方式。

STEP 1

在 Raspberry Pi 上編譯的步驟跟 PC 上差不多,首先下載 Linux 核心原始碼:

git clone --depth=1 https://github.com/raspberrypi/linux

STEP 2

安裝一些必要的工具:

共有15人贊同
匿名者

次佳回答

許建豪
許建豪
15335
小有名氣

這個部分跟 PC 交叉編譯的都相同,因為是在 Raspberry Pi 中直接編譯,所以不需要指定交叉編譯的參數,指令比較簡單,但是因為 Raspberry Pi 的處理速度很慢(比起 PC 來說),因此編譯的過程會需要非常久的時間。

共有15人贊同
匿名者
4個回答
許建豪
許建豪
15335
小有名氣

因為我們是在另外一台 PC 中編譯的,所以編譯完之後,要再把編譯好的核心複製到 Raspberry Pi 上面,您也可以直接將 Raspberry Pi 的 MicroSD 卡直接插在 PC 上,這樣就可以將新的核心直接安裝上去,我這裡是用手動複製的方式,兩種做法其實差不多。

將編譯好的 Linux 核心複製出來:

共有14人贊同
匿名者
許建豪
許建豪
15335
小有名氣

要進行編譯之前,先要安裝好一些交叉編譯所需要的編譯器:

apt-get install gcc-arm-linux-gnueabihf

因為每個人的系統會有些差異,如果您在編譯的過程缺少什麼工具的話,可以再利用 apt 來安裝。

STEP 3

首先進入 linux 目錄

cd linux

進行編譯之前,要先設定編譯的各種選項,這裏我們使用預設的編譯設定:

共有13人贊同
匿名者
許建豪
許建豪
15335
小有名氣

這時候在目前的目錄中,我們應該已經有兩個檔案:

一個編譯好的核心(kernel-new.img)

一個核心模組的壓縮檔(modules.tar.bz2)

這樣在 PC 上面的編譯工作就算完成了。

STEP 6

接著把 kernel-new.img 與 modules.tar.bz2 複製到 Raspberry Pi 中,並且將 kernel-new.img 放進 /boot 中:

sudo cp kernel-new.img /boot/

將 modules.tar.bz2 解壓縮

tar jxf modules.tar.bz2

把 modules/lib/modules/ 裡面的東西複製到 /lib/modules/

共有13人贊同
匿名者
許建豪
許建豪
15335
小有名氣

編譯 Raspberry Pi 的 Linux 核心

要編譯 Raspberry Pi 用的 Linux 核心有兩種方式,一種是在 Raspberry Pi 中直接編譯,另外一種是在一般的個人電腦中交叉編譯(cross compilation),兩種方式各有利弊,以下分別是這兩種編譯方式的步驟教學。

在個人電腦中交叉編譯

在個人電腦中交叉編譯可以讓編譯的速度加快,一般我是建議使用這樣的方式,會節省很多時間。

共有12人贊同
匿名者
熱門問答
熱門議題
更多問題