日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

ARM Linux.2.6.34内核移植

發布時間:2025/3/15 linux 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM Linux.2.6.34内核移植 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ARM-LINUX-GCC版本4.3.2.以安裝在/usr/local/arm/4.3.2下.

第一步:
修改linux-2.6.34/Makefile文件,在makefile中找到以下兩條信息并做修改
ARCH ? =arm?
CROSS_COMPILE ?=/usr/local/arm/4.3.2/bin/arm-linux-

第二步:
修改平臺輸入時鐘
修改平臺的時鐘頻率,修改內核源碼“arch/arm/mach-s3c2440/mach-smdk2440.c”
把時鐘初始化中(S3C24XX_init_clocks(16934400 ))的16934400 改為12000000,因為我們的開發板上為12M

第三步:
修改機器類型ID號::
?? bootloader啟動內核時,會傳遞機器類型ID進來,這里需根據bootloadr傳進的ID修改內核ID號.
?? 在內核源碼的“arch/arm/tools/mach-types”文件查找S3C2440,這里剛好與我們的bootloader相同,所以不用做修改,直接保存退出即可,如果不同則根據bootloader的內容修改此文件,或根據此文件修改boorloader的內容(在vivi中可通過param show查看)。

第四步:
解壓yaffs2.tar.gz源碼包,進入yaffs2文件夾,給內核打上補丁使內核支持yaffs2
# ./patch-ker.sh? c? /home/linux-2.6.34
結果:更新了兩個文件系統下的文件
Updating /home/linux-2.6.34/fs/Kconfig
Updating /home/linux-2.6.34/fs/Makefile

第五步:
修改內核mtd分區和bootloader(vivi)使其一致
編輯文件arch/arm/plat-s3c24xx/common-smdk.c

static struct mtd_partition smdk_default_nand_part[] = {
??? [0] = {
??? ??? .name??? = "vivi",
??? ??? .size??? = 0x30000,
??? ??? .offset??? = 0,
??? },
??? [1] = {
??? ??? .name??? = "kernel",
??? ??? .offset = 0x50000,
??? ??? .size??? = 0x300000,
??? },
??? [2] = {
??? ??? .name??? = "root",
??? ??? .offset = 0x350000,
??? ??? .size??? = 0x3cac000,
??? },
};

第六步:
修改文件drivers/mtd/nand/s3c2410.c
將s3c2410_nand_init_chip函數里的NAND_ECC_SOFT改為NAND_ECC_NONE(因為在內核中默認配置不支持ECC校驗,當然也可以在內核配置時選中ECC選項)
修改后如下:
chip->ecc.mode??? ??? = NAND_ECC_NONE;

第七步:
到llinux-2.6.30目錄下執行命令
?? #cp? arch/arm/configs/s3c2410_defconfig? .config

第八步:
執行make menuconfig,并對選項進行配置

??? 1)System Type --->
??? ??? S3C2440 and S3C2442 machines --->
??? ??? ??? 僅保留SMDK2440 與SMDK2440 whith S3C2440 CPU module兩個選項,將其他的選項全部勾掉

??? 2)Kernel Features --->
??? ??? [*]Use the arm EABI to compile the kernel(選中該選項)
??? ???
??? 3)File systems --->
??? ??? a、把與ext2 ext3 ext4相關的所有選項全部去掉

??? ??? b、Miscellaneous filesystems --->
??? ??? ??? <*>yaffs2 file system support(選中此選項)

????????? 去除所有與jffs2相關的選項

保存退出

第九步:執行make?zImage 編譯生成內核.

在arch/arm/boot下生成編譯好的可執行程序zImage.??這個是在vivi下使用的.



???????????????????????????????????????????????????????????????????????????????????????? wenhao@20110609





轉載于:https://www.cnblogs.com/hnrainll/archive/2011/06/09/2076522.html

總結

以上是生活随笔為你收集整理的ARM Linux.2.6.34内核移植的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。