1973|4

5

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

嵌入式作业:OK6410开发环境配置 [复制链接]

 

实验0:OK6410开发之Linux环境搭建

一、 实验环境:

Ubuntu20.04,VMware16.2

二、 实验过程:

1.Ubuntu的安装:

打开VMware,点击主页新建虚拟机,找到自己下载好的镜像文件点击确定,后面默认即可。以下是Ubuntu下载官网和VMware下载官网

Ubuntu官网下载地址

VMware官网下载地址

2.Ubuntu换源:

因为Ubuntu的官方源在国外网站需要FQ所以每次更新下载会非常慢,所以最好换成国内的源进行更新。具体操作如下:

Ctrl+Alt+T打开终端。


 

删除里面的源添加以下的内容:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse focal

这里是阿里的源,其他的源可以自行查找下


 

更新完如下:

3.Ubuntu切换root账户

这里参考https://cloud.tencent.com/developer/article/1726565博主写的文章

3.1. 第一步

以普通用户登录系统,创建root用户的密码

在终端输入命令:

sudo passwd root

然后输入设置的密码,输入两次,这样就完成了设置root用户密码了(注意Linux系统下密码是没有回显的)

3.2. 第二步

修改 50-ubuntu.conf 文件

在终端输入命令:

sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

在文件末尾增加如下两行:

greeter-show-manual-login=true

all-guest=false

3.3. 第三步

修改 gdm-autologin 文件

在终端输入命令:


 

前面加 # 注释掉第三行的 auth required pam_succeed_if.so user != root quiet_success

3.4. 第四步

修改 gdm-password 文件

在终端输入命令:


 

前面加 # 注释掉第三行的 *auth required pam_succeed_if.so user != root quiet_success

3.5. 第五步

修改 /root/.profile 文件

在终端输入命令:


 

将文件末尾的 mesg n 2> /dev/null || true 这一行注释掉加上 tty -s&&mesg n || true

3.6. 最后一步

赶紧注销重新登录试一下吧

选择 未列出(Not listed)? 然后输入root以及你之前设置的密码,即可成功登录

这样就变成root账户了。

4.交叉编译器 arm-linux-gcc安装

/*

后面具体要用到的文件在这

链接:https://pan.baidu.com/s/1gitMZZLJ6WK5RH50XvaYsg 提取码:lcbl

*/

打开终端输入

mkdir forlinx 

来新建forlinx文件

将 arm-linux-gcc-4.3.2.tgz 文件拷贝到 forlinx 目录下,然后终端打开forlinx

cd forlinx

mkdir /usr/local/arm

tar zxvf arm-linux-gcc-4.3.2.tgz -C /

编译器解压到/usr/local/arm

把交叉编译器路径添加到系统环境变量中,以后可以直接在终端窗口中输入 arm-linx-gcc 命令来编译程序。

在终端中执行: gedit /etc/profile

添加以下四行到该文件中:

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

export TOOLCHAIN=/usr/local/arm/4.3.2

export TB_CC_PREFIX=arm-linux

export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi

保存,退出。


 

arm-linx-gcc是一个32位的编译器而Ubuntu20.04是一个64位系统所以需要安装32位的库,否则可能出现command not found的情况

安装32位库指令:

sudo apt-get install libc6-i386

然后输入arm-linux-gcc -v检查安装

出现下图就ok说明安装成功。

5. 编译 UBOOT 和 Linux 内核

5.1安装make跟gcc,后面编译需要

sudo apt-get install make

sudo apt-get install gcc

5.2 解压和编译uboot源码

将 uboot 源码压缩包 ‘uboot1.1.6_FORLINX_6410.tgz’拷贝到 forlinx 目录下,解压并编译,Ubuntu 下操作过程如下所示:

tar zxf uboot1.1.6-V5.50-2014-09-19.tar.gz

编译 256M(128M) 内存平台 Uboot 方法:

进入 uboot1.1.6 目录、配置 config、编译:


 

如果编译成功,将在 ‘uboot1.1.6’目录下产生名为 ‘u-boot.bin’的二进制文件。该文件即我们 需要烧写到 Nandflash 的 U-boot 映像文件,

6.编译 Linux 系统

将压缩包 ‘FORLINX_linux-3.0.1.tar.gz’ 拷贝到forlinx文件下,解压:

tar zxf FORLINX_linux-3.0.1.tar.gz

打开解压后的linux-3.0.1文件

cd linux-3.0.1

6.1 配置内核

安装 ‘libncurses5’,以方便后面使用 ‘make menuconfig’ 命令

sudo apt-get install libncurses5-dev

如果失败sudo apt-get update更新下库

6.2 编译内核

make zImage

这里会报一个错如下,原因是新版本kernel的文档更新后不允许define这种写法

我们进入错误文件进行修改

cd /root/forlinx/linux-3.0.1/kernel

gedit timeconst.pl

将373行的if (!defined(@val))改成if(!@val)就可以了

保存,退出。

make zImage

编译一段时间后在forlinx/linux-3.0.1/arch/arm/boot的软件目录下生成zImage说明就编译成功了。

6.3 配置功能

完成编译后就可以在/forlinx/linux-3.0.1下

make menuconfig

开始配置硬件。

假如使用 wifi 功能的话,需要用 make menuconfig 命令对所使用的 wifi 进行下配置再编译内 核。配置方法如下: 在命令行输入 make menuconfig,会出现内核配置图形界面,然后依次选择:Device Drivers--->Network device support --->Wireless LAN --->Select rtl wifi,其中 Realtek 8192C USB WiFi 对应 使用 rtl8188 芯片的 usb wifi 模块,Realtek 8189E SDIO WiFi 对应飞凌的 8189ES 的 SDIO wifi 模块。选 择相应的配置然后点 Select,然后一步步点“Exit”退出,最后提示是否保存配置,点“yes”配置完成。

7.制作 yaffs2 文件系统映像

将压缩包 ‘FileSystem-Yaffs2.tar.gz’及文件系统映像制作工具 mkyaffs2image-nand256m 和 mkyaffs2image-nand2g 拷贝到forlinx文件中 解压缩文件系统源码包:

tar zxf FileSystem-Yaffs2.tar.gz

在 Linux-3.0.1filesystemYaffs2 文件系统制作工具 中有两个制作工具:

mkyaffs2image-nand2g 和 mkyaffs2image-nand256m

(1) mkyaffs2image-nand256m 制作出的映像,适用于 256M 的 nandflash 的平台 制作命令:

    ./mkyaffs2image-nand256m FileSystem-Yaffs2 rootfs.yaffs2

(2) mkyaffs2image-nand2g 制作出的映像,适用于 1G,2G 或者 4G 字节 nandflash 的平台 制作命令:

 ./mkyaffs2image-nand2g FileSystem-Yaffs2 rootfs.yaffs2

最后在文件系统源码包同级目录下生成 rootfs.yaffs2 文件,此文件即是可以下载到平台 nandflash 中的 yaffs2 文件系统映像。

假如用以上命令制作映像不成功,可能原因是制作工具权限不正确,需先修改下权限,修改权限的 命令:

 chmod 777 mkyaffs2image-nand256m

使用另外一个制作工具,修改权限的命令:

 chmod 777 mkyaffs2image-nand2g

注意:mkyaffs2image 可执行文件是使用 Linux3.0 源代码目录 yaffs2 文件夹下 utils 目录中的 mkyaffs2image.c 文件编译出来的,如果有兴趣可以自己制作适合 256MB NandFlash 和 2G NandFlash 的 Yaffs2 工具。

这样OK6410的Linux的环境文件就全部配置好了。

 

最新回复

nmg
是,我看到很多空的内容前入行,你用md导入还是怎样操作,把你markdown原文件分享一份,等初七技术上班,我们反馈过去,查查   帖子暂时不用删除,以便我们反馈技术问题,可以直接重新发一下   详情 回复 发表于 2022-2-4 09:23
点赞 关注
 
 

回复
举报

5

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

话说咋删除自己帖子啊,这个markdowm格式很有问题啊,我太难了

点评

nmg
是,我看到很多空的内容前入行,你用md导入还是怎样操作,把你markdown原文件分享一份,等初七技术上班,我们反馈过去,查查   帖子暂时不用删除,以便我们反馈技术问题,可以直接重新发一下  详情 回复 发表于 2022-2-4 09:23
 
 
 

回复

5263

帖子

239

TA的资源

管理员

板凳
 
Rdz 发表于 2022-2-3 10:53 话说咋删除自己帖子啊,这个markdowm格式很有问题啊,我太难了

是,我看到很多空的内容前入行,你用md导入还是怎样操作,把你markdown原文件分享一份,等初七技术上班,我们反馈过去,查查

 

帖子暂时不用删除,以便我们反馈技术问题,可以直接重新发一下

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

Rdz
我刚刚又复制一份没发出来放草稿里也是这样  详情 回复 发表于 2022-2-5 12:15
Rdz
好  详情 回复 发表于 2022-2-5 12:11
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

4
 
nmg 发表于 2022-2-4 09:23 是,我看到很多空的内容前入行,你用md导入还是怎样操作,把你markdown原文件分享一份,等初七技术上班, ...

 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

5
 
nmg 发表于 2022-2-4 09:23 是,我看到很多空的内容前入行,你用md导入还是怎样操作,把你markdown原文件分享一份,等初七技术上班, ...

我刚刚又复制一份没发出来放草稿里也是这样

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表