一.建立環境
1.目標環境:
linux-2.6.32.2(smdk2440->mini2440)
2.指定交叉編譯變數
修改總目錄下的makefile,設定預設目標平台及預設編譯器
原export kbuild_buildhost := $(subarch)
arch ?= $(subarch)
cross_compile ?=
改為export kbuild_buildhost := $(subarch)
arch ?= arm
cross_compile ?= arm-linux-
接下來,要測試一下linux 的編譯是否能正常通過。
執行:#make s3c2410_defconfig ;使用預設核心配置檔案,s3c2410_defconfig 是smdk2440 的,make help可以看到所有支援平台的核心配置檔案
預設配置檔案
#make ;
3.轉殖建立目標平台
1)機器碼
核心在啟動的時候,是通過bootloader傳入的機器碼(mach_type)確定應啟動哪種目標平台,從linux2.6.31,官方核心已經支援mini2440,
bootloader要啟動核心,必須mach_type保持一致,否則
linux2.6.32核心中已經有機器碼
[root@localhost linux-2.6.32.2]#vim arch/arm/tools/mach-types
2)刪除原有mini2440,
刪除linux-2.6.32.2/arch/arm/mach-s3c2440 目錄下mach-mini2440.o,mach-mini2440.c
3)修改時鐘源頻率
smdk2440外接晶振是16.9344mhz,mini2440是12mhz
4)從smdk2440到mini2440
將mach-mini2440中smdk2440改為mini2440,使用批處理命令
:%s/smdk2440/mini2440/g
注釋掉smdk_machine_init()
5)編譯測試
#make mini2440_defconfig//建立mini2440的核心配置檔案
#make zimage
mini2440系統移植篇之kernel編譯
linux核心的 makefile分為5 個部分 makefile 頂層 makefile config 核心配置檔案 arch arch makefile 具體架構的 makefile scripts makefile.通用的規則等。面向所有的 kbuild makefiles。kbuild ma...
Madplay移植到mini2440全過程詳解
madplay交叉編譯 交叉編譯器 arm linux gcc 3.4.1 pc環境 ubuntu 8.10 注意 最好在root許可權下執行以下移植,否則在make install時可能許可權不夠。一 移植madplay前的準備 madplay的移植需要以下的幾個包 libid3tag 0.15....
Madplay移植到mini2440步驟
移植madplay 1.1 libmad簡介 mad libmad 是乙個開源的高精度 mpeg 音訊解碼庫,支援 mpeg 1 layer i,layer ii 和 layeriii 也就是 libmad 提供 24 bit 的 pcm 輸出,完全是定點計算,非常適合沒有浮點支援的平台上使用。使用...