make: execvp: /opt/EmbedSky/u-boot-1.1.6/mkconfig: 权限不够

本文档详细介绍了如何在Linux虚拟机中编译U-Boot 1.1.6,包括解压、设置交叉编译器路径、修改配置文件以适应TQ2440开发板,并解决执行`make`时遇到的`mkconfig`权限问题。通过修改文件权限、更新Makefile和配置文件,最终成功配置并编译U-Boot。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说先在把U-BOOT- 1.1.6复制到SMB共享文件里面,然后到虚拟机里面解压他,执行命令:tar xjvf U-BOOT-1.1.6

编译U-BOOT需要采用arm-linux-gcc-3.3.2的交叉编译器

将编译器的压缩文件复制到smb的共享文件夹里面,然后采用tar xjvf 进行解压,解压后的文件需要移动到usr/local/arm里面,然后要修改编译器的环境变量:

执行vi /etc/profile,然后在里面的修改成

export PATH =/usr/local/arm/3.3.2/bin:$PATH

修改好了以后,需要执行 source /etc/profile,可以查看编译器的版本 a

执行arm-linux-gcc –v

接下来可以进入U-BOOT-1.1.6里面进行编译,但是还需要修改一个地方,

执行:vi cpu/arm920t/config.mk然后再该目录下,把-msoft-float用#号注释掉(意思是不用软浮点进行编译)

U-BOOT没有像VIVI那样的图形配置界面,我们只能修改其中的文件进行配置,

解压U-BOOT-1.1.6,进入U-BOOT目录,修改Makefile:

每个文件都有这样的语句,意思是代表每个开发板,具体就是 开发板的名称_config

各项的意思如下:
arm: CPU
的架构(ARCH)
arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。
TX2440: 开发板的型号(BOARD),对应于board/TX2440目录。
NULL: 开发者/或经销商(vender)。
s3c24x0: 片上系统(SOC)。

smdk2410_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

加上

TQ2440_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t TQ2440 NULL s3c24x0

修改好了以后需要保存,但是这时候,是没法保存的,因为没权限,这时候,需要在虚拟机里面修改权限:

u-boot-1.1.6目录里面 执行chmod 666 Makefile 把文件的权限修改成可以读写

指定交叉编译器的工具 在Makefile第128行里面的CROSS_COMPILE=arm-linux- 意思就是指定arm-linux-为交叉编译器

在虚拟机里面U-Boot-1.1.6的board里面新建一个自己开发板的目录TQ2440:

在U-Boot-1.1.6中进入Board目录中,把里面的一个文件,smdk2410改名成TQ2440.

进入到TQ2440中,把里面的文件 ,smdk2410.c改名成TQ2440.c

返回到Board目录。只保留TQ2440文件,其余的可以删除掉,删除方法可以这样:

把TQ2440移动上一层目录:mv TQ2440 ../

然后执行 rm – rf*,把所以得文件删除掉(注意这个命令的格式,多几个空格)

最后把上一层目录上的TQ2440移回来:mv ../ TQ2440 ./

在这个board目录中修改Makefile文件。我们可以再smb共享的文件进入到board文件中

打开Makefile。在第28行的smdk2410.o改为TX2410.o

在修改中,会遇到没有权限修改文件,我们回到虚拟机中,修改权限:

打开TQ2440,执行:chomd 666 Makefile.

在返回去保存!

在include/configs目录下创建板子的配置头文件,把smdk2410.h改名为TQ2440.h:

首先进入到include/configs目录中,执行mv smdk2410.h TQ2440.h

然后把该目录下除了TQ2440.h,其余的都删除了。

看看配置是否成功:

回到U-Boot-1.1.6目录

执行 make TQ2440_config

当出现Configuring for TX2440 board.....表示配置以已经成功

出现make: execvp: …………/mkconfig: 权限不够

查看mkconfig的权限,发现没有可执行权限,用chmod 764 mkconfig加上权限

然后再make,成功后可出现 Configuring for TX2440 board.....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值