搜索

2

主题

3

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2021-6-20 17:37:01 10333 浏览 0 回复

移植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,要怎么修改?
回复

使用道具 举报

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

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

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