|
发表于 2021-6-20 17:37:01
12446 浏览 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,要怎么修改?
|
|
|
|
|
|
|
登录或注册
扫一扫关注迅为公众号
|