編譯Linux 2.6核心for ARM step by step

來源:互聯網
上載者:User
資源
========================================
OS
Ubuntu 7.04 (kernel version: 2.6.20-15)

ToolChain
ARM-GCC v3.4.1
http://www.handhelds.org

Linux kernel
linux-2.6.20.10.tar.bz2 & linux-2.6.20.tar.bz2
http://www.kernel.org

Linux kernel patch for OMAP
patch-2.6.20-omap1.bz2
http://www.muru.com

教程
OSK5912 Newbie Guide
http://oskfordummies.hp.infoseek.co.jp

步驟
1. 安裝tool chain;
2. 根據《OSK5912 Newbie Guide》中的步驟編譯核心linux-2.6.20.10:
  2.1. 當執行到“make menucongig”時候出錯,出錯提示如下:
-----------------------------------------------------------------------
shawn@shawn-laptop:/usr/src/linux-2.6.20.10$ make menuconfig
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
在包含自 scripts/kconfig/lxdialog/checklist.c:24 的檔案中:
scripts/kconfig/lxdialog/dialog.h:32:20: 錯誤: curses.h:No such file or directory
......
-----------------------------------------------------------------------

3. 根據《OSK5912 Newbie Guide》中的步驟編譯核心linux-2.6.20:
  3.1. 執行到patch那一步時候就提示“不能把/tmp/*** patch到/documentomap/**”下面。懷疑是許可權問題影響建立臨時檔案到/tmp下,但是sudo也不行;
  3.2. 第二天重試,這次直接在console中切換成root許可權。step 3.1.通過,不知道原因;
  3.3. 執行“make omap_osk_5912_defconfig”,問題同step 2.

4. 問題可能出在沒有安裝ncurses-dev軟體包,從而導致“make menuconfig”就不能使用。
  4.1. 使用命令“sudo apt-get install ncurses-dev”安裝,提示“我選了 libncurses5-dev 而非 ncurses-dev”;
  4.2. 安裝後“make menuconfig”正常;

5. 文檔提示“make menuconfig”時候注意NFS相關選項要選中,查看一下,預設已經選中;

6. 執行“make”,開始等待;
  6.1. 特別看了下,預設編輯的FS包括autofs,autofs4,ext2,fat(M),jffs2,lockd(?),msdos(?)(M),nfs,nls(M),ramfs,sysfs,vfat(M);

7. 漫長的等待後,編譯成功,產生二進位檔案arch/arm/boot/compressed/vmlinux,另存新檔/home/shawn/doc/OMAP/vmlinux.20070429.

8. 下面的步驟需要編譯uboot產生的工具mkimage,跳轉到編譯uboot;

9. 編譯uboot之後,執行如下命令產生鏡像檔案uImage.cc,1.2MB大小;
@mkimage -A arm -O linux -T kernel -C gzip -a 0x10c08000 -e 0x10c08000 -n 'Linux Kernel Image' -d /usr/src/linux-2.6.20/linux.bin.gz /usr/src/linux-2.6.20/uImage.cc
  9.1. 有機會需要研究這些選項的使用方法,例如-n;
  9.2. 產生鏡像檔案時候給出提示資訊如下:
--------------------------------------------------------------------------------
Image Name:   Linux Kernel Image
Created:      Sun Apr 29 22:41:33 2007
Image Type:   ARM Linux Kernel Image (gzip compressed)
Data Size:    1229135 Bytes = 1200.33 kB = 1.17 MB
Load Address: 0x10C08000
Entry Point:  0x10C08000
--------------------------------------------------------------------------------
  9.3. 另存新檔/home/shawn/doc/OMAP/uImage.cc.20070429.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.