Linux内核4.1.12在2440/2410上的移植步骤

需积分: 0 2 下载量 91 浏览量 更新于2024-09-12 收藏 329KB DOC 举报
"这篇文档是关于在S3C2440和S3C2410平台上移植Linux内核4.1.12的详细记录。作者在移植过程中遇到了YAFFS文件系统不兼容的问题,因此选择了使用3.2.50版本的内核作为替代。移植过程包括从官方网站下载内核源码、修改Makefile、以及针对网卡(DM9000)和NAND分区的配置。" 在移植Linux内核4.1.12的过程中,首先需要从官方仓库下载对应版本的源代码,并进行解压。这一步可以通过以下命令完成: ```bash wget https://www.kernel.org/pub/linux/kernel/linu... tar -xzvf linux-4.1.12.tar.gz cd linux-4.1.12 ``` 接下来,需要修改内核的`Makefile`以适应目标硬件平台。具体修改内容没有给出,通常包括设置正确的体系结构、配置选项和目标设备的标识。 对于网卡驱动的移植,这里涉及到的是DM9000网络芯片。在`arch/arm/mach-s3c24xx/mach-smdk2410.c`文件中添加了与DM9000相关的资源定义和平台数据结构,以使内核能够识别并初始化这个网卡。这包括内存映射区域、中断处理和平台数据结构的配置。 NAND分区的修改通常涉及到配置内核如何识别和处理存储设备。由于4.1.12版本的内核在YAFFS文件系统上的支持出现问题,作者可能需要切换到其他文件系统,如JFFS2或EXT4,并相应地调整内核配置。 在内核配置阶段,使用`make menuconfig`或`make xconfig`命令打开图形配置界面,选择或取消选择所需的硬件驱动和支持。对于S3C2410平台,可能需要确保NAND闪存控制器和DM9000网卡驱动被正确启用。 编译和安装内核时,执行`make`和`make install`命令,然后需要更新引导加载程序(如u-boot)以指向新编译的内核映像。 最后,为了确保系统正常运行,还需要构建并安装相应的模块,以及更新设备树(Device Tree)以匹配新的内核配置。设备树是描述硬件布局的数据结构,对嵌入式系统尤其重要。 移植Linux内核到特定硬件平台是一项复杂的工作,涉及多个层次的配置和代码修改。在这个过程中,理解硬件特性、内核结构和驱动编写是至关重要的。对于初学者来说,这是一个很好的学习实践,但对于没有经验的人来说,可能会面临诸多挑战。