MINI2440移植高版本内核

MINI2440移植高版本内核

网上大多大多都是2.6.32版本的内核,因为想要学习设备树相关的知识,所以在2440中移植4.9.2版本的内核,记录一下自己遇到的问题,搭建环境时参考了一个大佬的文章,特此感谢。
linux4.9.2内核在mini2440上的移植

内核版本:linux4.9.2
虚拟机环境:VMware Workstation15 Pro,Ubuntu20.04
编译器环境:arm-linux-gcc v4.4.3,arm-linux-gnueabihf-gcc

  1. 下载linux4.9.2源码到虚拟机并解压
  2. 根据自己的编译环境修改顶层Makefile文件第255行,也就是平台及
    当编译器环境为arm-linux-gcc时,修改为
ARCH            ?= arm
CROSS_COMPILE   ?= arm-linux-gnueabihf-

当编译器环境为arm-linux-gnueabihf-gcc时,修改为

ARCH            ?= arm
CROSS_COMPILE   ?= arm-linux-

注意:写的时候后面一定不能有空格,有空格导致解析工具链出错,make无法成功

  1. 复制平台配置文件到顶层并重命名为.config
    平台配置文件在arch/arm/configs目录下,执行cp ./.mini2440_defconfig ../../../.config

  2. make生成zImage

  Kernel: arch/arm/boot/Image is ready
  Building modules, stage 2.
  Kernel: arch/arm/boot/zImage is ready
  MODPOST 196 modules
  1. arch/arm/boot/下执行mkimage -n 'mykernel' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage uImage
    其中0x30008000是规定的内核的起始地址为基地址偏移0x80000x30008040应该是因为zImage多了一个64字节的信息头

自此生成了mini2440可以使用的内核

因为是要从头写平台文件,所以要多次编译内核生成uImage并复制到 tftp 目录下,很麻烦,所以写成一个脚本文件,脚本内容为:

mkimage -n 'mykernel' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage ./uImage_4_9_2         
    
cp ./uImage_4_9_2 /home/huizhe/tftp_share/uImage_4_9_2

赋予可执行权限chmod a+x mkuImage.sh

以上工作我们都是在Linux环境下操作,生成了可以在板子上运行的uImage,所以我们接下来配置环境将生成的内核跑在板子上。

  1. 配置板子ip环境
    串口工具为SecureCRT
    s3c2440.jflashuboot.bin文件通过J-Flash ARM软件烧入,连接开发板,连接串口,会显示
U-Boot 2010.03 (Oct 04 2017 - 23:09:46)

DRAM:  64 MB
Flash:  2 MB
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   dm9000

****************************************************************
        U-BOOT (Ver2010.03) for FriendlyARM MINI2440 Board
        CPU:Sumsung S3C2440A,Memory:64MB,NorFlash:2MB,NandFlash:256MB
        Modified By ZhangLiang,2016-3-18
        Copyright ZHL, All Rights Reserved
******************************************************************
Hit any key to stop autoboot:  0 

printenv查看当前环境

baudrate=115200
bootargs=root=/dev/nfs nfsroot=192.168.152.123:/home/huizhe/rootfs ip=192.168.152.125 console=ttySAC0,115200
bootdelay=5
ethact=dm9000
ethaddr=00:0c:29:4d:e4:f4
mtddevname=u-boot
mtddevnum=0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值