Linux机器码可以修改么,u-boot和linux的机器码
启动u-boot后,用bootm命令来引导内核(执行bootm 0x30008000),但是执行后,卡住了,无法启动内核,现象如下:
Starting kernel ...
Uncompressing Linux.............................................................
Error: unrecognized/unsupported machine ID (r1 = 0x000000c1).
Available machine support:
ID (hex) NAME
000000** ****
从这里的提示信息可知,是u-boot的机器码和linux的不相同造成的,u-boot是0x000000c1(193),内核是0x000000**。大多数都是修改的linux内核的机器码,让它们一致即可。
先看u-boot的机器码和linux的机器码是在什么地方决定的。
1、 u-boot的机器码是在u-boot的board/fs2410/fs2410.c文件里决定的:
/* arch number of SMDK2410-Board */
gd->bd->bi_arch_number = MACH_TYPE_SMDK2410;
参照查看u-boot的include/asm-arm/mach-types.h文件,有:
#define MACH_TYPE_SMDK2410 193这就是我们上面看到r1 = 0x000000c1(193)的原因。
2、 而linux内核的机器码是由arch/arm/mach-s3c2410/mach-smdk2410.c下面的MACHINE_START(SMDK2410, "SMDK2440")中的第一个参数SMDK2410(关键字)决定的:
MACHINE_START(SMDK2410, "SMDK2410") /* @TODO: request a new identifier and switch
* to SMDK2410 */
/* Maintainer: Jonas Dietsche */
.phys_io = S3C2410_PA_UART,
.io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
.boot_params = S3C2410_SDRAM_PA + 0x100,
.map_io = smdk2410_map_io,
.init_irq = s3c24xx_init_irq,
.init_machine = smdk2410_init,
.timer = &s3c24xx_timer,
MACHINE_END
参照查看内核目录下的arch/arm/tools/mach-types.h文件,有:
smdk2410 ARCH_SMDK2410 SMDK2410 193
Linux机器码可以修改么,u-boot和linux的机器码相关推荐
- linux root密码修改失败,【转】Linux root修改密码失败
问题: 当使用root修改密码时,报错passwd:Authentication token manipulation error 解决: 1.查看是否权限问题, /etc/passwd /etc/s ...
- 修改linux引导文件系统,修改/etc/fstab文件加快Linux系统的启动速度
Linux系统的启动速度有点慢!我们可以修改/etc/fstab文件来加快启动速度. 就是把NTFS和FAT的分区检测功能关闭就行了.下面以fstab文件内容为例: # /etc/fstab: sta ...
- linux 用chomd修改权限时报:只读文件系统,linux下修改文件夹权限提示chmod: 更改xx 的权限: 只读文件系统...
1.当前用户权限是否正确2.当前分区是否可读写3.是否设置权限遮罩4.是不是RP有问题,那需要看你修改的文件在什么位置,是怎么mount上来的如果是cdrom一类的路径的话,那肯定就是只读的还有就是m ...
- linux显卡内核修改,iTOP-4412开发板-驱动-linux显卡驱动的修改方法
本文档介绍迅为4412开发板的显卡分辨率修改方法. iTOP-4412 开发板支持 4.3 寸.7 寸和 9.7 寸等 lcd 显示屏.其中 4.3 寸屏是用的 cpu 直接出来的 RGB 信号,7 ...
- linux mysql配置修改_【Mysql】linux下mysql的配置修改
1.mysql启动和停止等操作 # /etc/init.d/mysqld start:# service mysqld start:#service mysqld stop :#/etc/init.d ...
- linux查找指定修改时间的文件夹,linux 查找某个日期以后修改过哪些文件 shell脚本...
今天有一个需求,就是程序在 2019-10-16以后有哪些文件被修改过,在百度也找了好久,可以使用find的方式去搞定,但是需要使用-newermt的参数,也是第一次使用该参数.并在此记录一下.分享出 ...
- 【OS】Linux和AIX修改主机名的方法
[OS]Linux和AIX修改主机名的方法 linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname //查看机器名 #hos ...
- linux 批量更换文件名,Linux下批量修改文件名的方法
Linux下批量修改文件名的方法 在Linux环境下修改文件名可以有不同的命令方式,比如rename.mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改 ...
- linux终端更改bashrc文件,linux .bashrc文件修改和生效
linux .bashrc文件修改和生效 cd home ==>选择用户文件夹=>ll -la .bashrc 使用man bash命令查看到的联机帮助文件中的相关解释如下: .ba ...
- 【Linux】批量修改文件名
[Linux]批量修改文件名 文章目录 [Linux]批量修改文件名 1. 介绍 2. rename命令 3. 示例 1. 介绍 在Linux中,当你想要改变一个文件名,使用mv命令就好了. 然而mv ...
最新文章
- C#(WPF)去除事件中注册的事件处理方法!
- string和json转换的简单应用
- OA软件实施中三个不能做的
- 校办研修之计算机培训简报,“2018校本研修培训”第二期学习简报
- stm32中的延时函数
- django models
- php curl get post请求
- 二维数组循环赋值c语言,C/C++ 定义并赋值二维数组
- 独家干货|基于大数据的人体组织微结构的解析与构建
- 8.7.1. Declaration of Enumerated Types
- UCOSIII---工程移植
- 嵌入式分享合集106
- 【帝国CMS】灵动标签循环调用广告
- Java进阶之路~适配器设计模式amp;字符串方法
- 思科警告:旗下某些产品可能存在无法修补的WannaCrypt漏洞
- 如何保存window10锁屏壁纸
- rovisional headers are shown Learn more 报错
- 项目上线前出Bug,测试人该如何调整心态
- SQL编写:表A{id, name},表B{id, course, score}。求每名学生的 id 和 name 和平均成绩
- Android原生集成MUI框架进行混合开发