玩转mini2440开发板之【linux内核的编译和下载】

今天首先来玩一玩linux内核的编译和下载。

1、背景交代

  • 开发环境:64位的Ubuntu 14.04;
  • 编译工具:arm-linux-gcc 4.4.3;
  • 下载工具:SuperViVi USB Transfer Utility;
  • 调试工具:SecureCRT 7.2.6;
  • 开发板材:友善之臂mini2440(64M版本);
  • 内核版本:linux-2.6.32.2-20150709;

2、编译步骤

首先按照友善之臂官方手册(mini2440用户手册-20140103)的介绍,将linux 2.6.32.2的源码解压出来,我本人是解压到/opt/FriendlyARM/mini2440/linux-2.6.32.2-20150709目录下。

然后进入该目录,拷贝对应的config文件,具体可参考用户手册上的介绍。我本人的开发板配备的LCD显示屏的NEC 3.5寸的版本,因此我的命令是:

cp config_mini2440_n35 .config

注意:n35后面有个空格,然后有个“.”的 开头的 config。

输入make menuconfig命令,启动图形化配置窗口。这里有可能会出错,提示“’make menuconfig’ requires the ncurses libraries.”,此时可参见我的另外一篇博客(如何解决Ubuntu 14.04编译make menuconfig时缺少’ncurses-devel’库)的介绍来解决这个问题。

如果一切顺利,则会出现如下的图形窗口:

这里写图片描述

此时,就可以根据你自己的要求定制linux内核了。由于我这里只是做最基本的尝试,因此不涉及具体的技术和参数,我的目的只是生成一个尽可能简单小型化的内容用来学习学习。因此,我将其中很多的部分都删除或者清空了,比如网络驱动、USB驱动等等,当然,我也做了一点小小的定制化修改,比如把开发板的名字改成了My2440,这一点在后面开发板启动之后的调试信息中可以看的出来。总之就是,大家可以根据自己的要求来进行定制。

一切调整完毕之后,将鼠标移到最下面,保存你的配置内容到.config文件中,然后再点击EXIT按钮退出,回到命令行界面,输入make zImage,开始编译内核。大约2-3分钟就可编译完毕。进入到arch/arm/boot目录下,就能找到刚刚编译出来的zImage文件了。

leon@Ubuntu:/opt/FriendlyARM/mini2440/linux-2.6.32.2-20150709/arch/arm/boot$ ll
总用量 3060
drwxr-xr-x  4 leon  126    4096  815 17:23 ./
drwxr-xr-x 80 leon  126    4096 1011  2014 ../
drwxr-xr-x  2 leon  126    4096 1011  2014 bootp/
drwxr-xr-x  2 leon  126    4096  815 17:23 compressed/
-rwxrwxr-x  1 leon leon 2052288  815 17:23 Image*
-rw-rw-r--  1 leon leon     130  815 17:23 .Image.cmd
-rw-r--r--  1 leon  126    1274 1011  2014 install.sh
-rw-r--r--  1 leon  126    3118 1011  2014 Makefile
-rwxrwxr-x  1 leon leon 1044188  815 17:23 zImage*
-rw-rw-r--  1 leon leon     157  815 17:23 .zImage.cmd

3、下载步骤

连接开发板,启动SuperViVi USB Transfer Utility工具和SecureCRT 7.2.6工具,再给开发板上电,SuperViVi USB Transfer Utility中会提示mini2440连接成功,串口端也会给出如下信息:

##### FriendlyARM BIOS for 2440 #####
[x] bon part 0 320k 2368k
[v] Download vivi 
[k] Download linux kernel 
[y] Download root_yaffs image 
[a] Absolute User Application
[n] Download Nboot 
[l] Download WinCE boot-logo
[w] Download WinCE NK.bin 
[d] Download & Run 
[z] Download zImage into RAM 
[g] Boot linux from RAM 
[f] Format the nand flash 
[b] Boot the system 
[s] Set the boot parameters 
[u] Backup NAND Flash to HOST through USB(upload) 
[r] Restore NAND Flash from HOST through USB 
[q] Goto shell of vivi 
[i] Version: 1026-12
Enter your selection: 

输入k,然后在SuperViVi USB Transfer Utility中点击upload按钮,将刚刚生成的zImage文件下载至开发板,重启上电,便可看到成果了。

Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0"
MACH_TYPE = 1999
NOW, Booting Linux......
Uncompressing Linux.................................................................. done, booting the kernel.
Linux version 2.6.32.2-My2440 (leon@Ubuntu) (gcc version 4.4.3 (ctng-1.6.1) ) #2 Wed Aug 15 17:23:42 CST 2018
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: FriendlyARM Mini2440 development board
........

猜你喜欢

转载自blog.csdn.net/LEON1741/article/details/81708326