題:
如何在Ubuntu主機上交叉編譯內核?
Alex Chamberlain
2012-06-13 15:14:29 UTC
view on stackexchange narkive permalink

我想了解更多有關內核如何工作的信息。其中一部分是自己編譯。如何在Ubuntu主機上交叉編譯內核?

三 答案:
#1
+24
Alex Chamberlain
2012-06-13 15:14:29 UTC
view on stackexchange narkive permalink

準備工作

首先,我們需要安裝必需的先決條件。我假設您具有 sudo 訪問權限。

  sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi  
  • git 是Linux內核團隊使用的版本控制系統。
  • ncurses 是用於構建控制台菜單的庫。 menuconfig 是必需的。
  • make 為我們運行編譯。
  • gcc-arm-linux- gnueabi 是交叉編譯器。

下一步,我們需要檢索源,運行:

  git clone https:// github .com / raspberrypi / linux raspberrypi-linuxcd raspberrypi-linux  

這會將源代碼克隆到名為 raspberrypi-linux 的目錄並更改為該目錄。

編譯

我們首先需要通過運行來移動配置文件

  cp arch / arm / configs / bcmrpi_cutdown_defconfig .config  

然後配置內核構建

  make ARCH = arm CROSS_COMPILE = / usr / bin / arm-linux-gnueabi- oldconfig  

可選:使用menuconfig自定義構建

  make ARCH = arm CROSS_COMPILE = / usr / bin / arm-linux-gnueabi- menuconfig  

然後運行編譯

  make ARCH = arm CROSS_COMPILE = / usr / bin / arm-linux-gnueabi- -k  
參考文獻
非常感謝您提供使用** crosstool-ng **的替代方法。
在我的情況下,CROSS_COMPILE只是一個前綴,因此以下內容就足夠了(末尾沒有gcc):
#2
+4
aronadaal
2013-05-13 03:33:18 UTC
view on stackexchange narkive permalink

我認為Alex是正確的,但是gcc-arm-linux-gnueabi是為arm cpus編譯的,沒有硬件浮點單元。您可以在以下網址找到具有armhf支持的交叉編譯器: https://github.com/raspberrypi/tools以及從此處開始的好教程: http://hertaville.com/ 2012/09/28 / development-environment-raspberry-pi-cross-compiler /

#3
  0
Ciro Santilli 郝海东冠状病六四事件法轮功
2018-04-24 09:08:58 UTC
view on stackexchange narkive permalink

官方文檔 ​​strong>

https://www.raspberrypi.org/documentation/linux/kernel/building.md GitHub

我建議您按照那裡的步驟操作,或者在某些東西過時或不夠清晰時發送拉取請求:這些說明最有可能是正確的迄今為止,因為它們是項目官方文檔的一部分。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...