TQ2440之初级制作内核

2024-05-13 19:38
文章标签 初级 制作 内核 tq2440

本文主要是介绍TQ2440之初级制作内核,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、首先拷贝TQ提供的已经移植好的内核到/usr/src/目录下。

cp  /mnt/hgfs/share/linux-2.6.30.4_20100531.tar.bz2  /usr/src/

 

2、解压linux-2.6.30.4_20100531.tar.bz2压缩包

tar  -xvjf  linux-2.6.30.4_20100531.tar.bz2

 

3、进入linux-2.6.30.4这个目录 (一定要在这个目录下配置内核)

cd  /opt/EmbedSky/linux-2.6.30.4

————————————————————————————————————

下面开始再PC机的虚拟机上配置、编译内核

————————————————————————————————————

4 、清除原有配置与中间文件

make distclean

 

5、将config_EmbedSky_W43的内容复制到 .config这个文件里。(至关重要)

如果没有做这一步,将导致,启动不了内核。

cp config_EmbedSky_W43  .config

 

6、配置内核

make menuconfig

 

因为TQ公司已经将顶层的Makefile里面的

ARCH  ?=  $(SUBARCH)

CROSS_COMPILE   ?=

修改成

ARCH  ?=  arm

CROSS_COMPILE   ?=arm-linux-

 

故我们可以直接使用 make menuconfig 命令,而不用make menuconfig  ARCH=arm 命令

其实这里不用做什么,直接exit退出。因为配置的结果就是为了产生 .config这个配置文件。

我们在第五步已经完成了这个配置。

 

7、编译内核

make zImage 

同样道理,我们也不用使用make  zImage  CROSS_COMPILE=arm-linux- 命令。否则,会累死委屈

编译成功后,看到 Kernel: arch/arm/boot/zImage is ready

说明,已经在 arch/arm/boot/生成了 zImage 镜像。

 

8、拷贝zImage到/tftpboot/目录下

cp  ach/arm/boot/zImage  /tftp/

 

————————————————————————————————————

下面是烧写内核到开发板上。

首先,确保开发板已经烧写好了u-boot,我们通过u-boot的命令,通过tftp网络烧写内核

到开发板上。

其次,确保开发板能够ping通虚拟机。(因为是通过网络来烧写)。

————————————————————————————————————

9、EmbedSky> tftp 31000000 zImage
dm9000 i/o: 0x20000300, id: 0x90000a46 
MAC: 0a:1b:2c:3d:4e:5f
TFTP from server 192.168.0.105; our IP address is 192.168.0.5
Filename 'zImage'.
Load address: 0x31000000
Loading: T #################################################################
         #################################################################
         #############################
done
Bytes transferred = 2314748 (2351fc hex)

 

10、擦除nand flash

EmbedSky> nand erase 200000 300000

NAND erase: device 0 offset 0x200000, size 0x300000
Erasing at 0x4e0000 -- 100% complete.
OK

 

11、烧写到nand flash里面去

EmbedSky> nand write 31000000 200000 300000

NAND write: device 0 offset 0x200000, size 0x300000
 3145728 bytes written: OK

 

12、启动内核

EmbedSky> boot_zImage
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00300000 ... Copy Kernel to SDRAM done,NOW, Booting Linux......
Uncompressing Linux......................................................................................................................................................... done, booting the kernel.
Linux version 2.6.30.4-EmbedSky (
root@localhost.localdomain) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176) ) #3 Mon Nov 26 20:19:27 CST 2012

CPU:  ........

......

......

Please press Enter to activate this console. eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

 

到这里,内核就完全启动完毕了。

————————————————————————————————————

敲入Enter键后,出现类似于虚拟机里面的输入窗口命令行。

[root@EmbedSky /]# 
[root@EmbedSky /]#

输入ls命令后,

制作

这些就是一些存在于开发板上的文件系统啦。

 

 

这篇关于TQ2440之初级制作内核的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986638

相关文章

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

Ubuntu22.04回退系统内核

文章目录 起因回退操作卸载内核禁止内核升级 起因 最近因为系统内核自动升级,导致显卡驱动检测不到,炼丹环境被破坏。无奈只能重装驱动,于是跟着手册操作发现驱动要求的是内核版本是5.15.0-25-generic,而我通过uname -r发现这时候的内核版本是6.8.0-40-generic,看来只能回退了。 我搜索了网上很多的文章,没有一篇文章能够完全解决这个问题,所以在我多次尝

跟我一起玩《linux内核设计的艺术》第1章(四)——from setup.s to head.s,这回一定让main滚出来!(已解封)

看到书上1.3的大标题,以为马上就要见着main了,其实啊,还早着呢,光看setup.s和head.s的代码量就知道,跟bootsect.s没有可比性,真多……这确实需要包括我在内的大家多一些耐心,相信见着main后,大家的信心和干劲会上一个台阶,加油! 既然上篇已经玩转gdb,接下来的讲解肯定是边调试边分析书上的内容,纯理论讲解其实我并不在行。 setup.s: 目标:争取把setup.