请选择 进入手机版 | 继续访问电脑版
搜索

2

主题

3

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2021-6-20 19:41:44 10869 浏览 2 回复

移植linux内核到4412精英版失败,求助!!!!!

使用的内核版本linux-4.19-rc3。
1.修改linux-4.19-rc3/arch/arm/configs/exynos_defconfig文件
  将
  CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc mem=256M"
  改为:
  CONFIG_CMDLINE="root=/dev/mmcblk1p2 console=ttySAC2,115200 init=/linuxrc rootwait"


2.设置好ARM=arm,CROSS_COMPILE   := arm-none-linux-gnueabi-之后执行
make exynos_defconfig
make uImage LOADADDR=0x40007000 -j4
编译出来的uImage文件大小6472kb。

3.TF卡启动uboot,
执行 fastboot 0
然后在win系统上执行:
        fastboot.exe flash bootloader u-boot-iTOP-4412.bin
        fastboot.exe flash kernel uImage
        fastboot.exe flash dtb exynos4412-itop-elite.dtb

其中u-boot-iTOP-4412.bin,exynos4412-itop-elite.dtb都是itop4412_SCP_kernel_4_14_2_bsp_20171130.tar.gz编译出来使用的。

假如烧入的uImage使用的也是itop4412_SCP_kernel_4_14_2_bsp_20171130.tar.gz那么没问题,但是烧入我自己编译的新的linux内核则出现问题,如下:

U-Boot 2017.11 (Mar 05 2019 - 19:04:15 -0800) for itop-4412
CPU:   Exynos4412 @ 1 GHz
Model: TOPEET iTop 4412 Elite board based on Exynos4412
Board: TOPEET iTop 4412 Elite board based on Exynos4412
DRAM:  1 GiB
WARNING: Caches not enabled
MMC:   SAMSUNG SDHCI: 1, EXYNOS DWMMC: 0
*** Warning - bad CRC, using default environment

Hit any key to stop autoboot:  0
SD/MMC found on device 0
** Unable to read file uEnv.txt **
** Unable to read file boot.scr **

MMC read: dev # 1, block # 1120, count 12288 ... 12288 blocks read: OK

MMC read: dev # 1, block # 13408, count 160 ... 160 blocks read: OK
## Booting kernel from Legacy Image at 40007000 ...
   Image Name:   Linux-4.19.0-rc3
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6425952 Bytes = 6.1 MiB
   Load Address: 40007000
   Entry Point:  40007000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
** Unable to read file exynos4412-itop-elite.dtb **
## Booting kernel from Legacy Image at 40007000 ...
   Image Name:   Linux-4.19.0-rc3
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6425952 Bytes = 6.1 MiB
   Load Address: 40007000
   Entry Point:  40007000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!


问题1:
这里是不是因为我编译的uImage文件太大导致的,假如是的话,那么我应该在那里修改?linux-4.19-rc3\arch\arm\mach-exynos目录中并没有看到修改uImage大小的。


问题2:
假如说是要修改设备树,但是我使用的设备树就是itop4412_SCP_kernel_4_14_2_bsp_20171130.tar.gz生成的exynos4412-itop-elite.dtb,要怎么修改?
回复

使用道具 举报

0

主题

7

帖子

8062

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8062

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2021-6-21 11:25:01
看报错不是uImage过大导致的,可以参考使用手册用gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz这个压缩包里的编译器来编译内核,执行make exynos_defconfig后在menuconfig中 找到System Type 配置为4412,内核 arch/arm/boot/dts/下搜索 itop 关键字可以找到设备树文件
回复 点赞

使用道具 举报

2

主题

3

帖子

27

积分

新手上路

Rank: 1

积分
27
 楼主| 发表于 2021-6-21 13:31:15
ShunLiu 发表于 2021-6-21 11:25
看报错不是uImage过大导致的,可以参考使用手册用gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz这 ...

你好,我用的编译器就是这个,版本号如下:
gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20)
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表