ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

从零开始搭建DM368开发环境,安装DVSDK4_02_00_06并编译生成uboot、rootfs和kernel镜像

2020-02-03 14:02:59  阅读:248  来源: 互联网

标签:02 kernel 00 Ubuntu10.04 sudo apt 编译 安装 arm


目录

〇、前言

本文全文基础参考:DM365 dvsdk_4_02_00_06开发环境搭建

应原作者要求的声明:

本文源自蓝海@博客站:http://kevinxie.blog.51cto.com,原创作品,转载请保留本声明,以示对作者劳动的尊重。

上述的博文非常详细的介绍了DVSDK的安装过程,为什么我还要再重新排版一次呢?这不禁让我发自内心的想说一句: 大人,时代变了

截止到我写这个博文,已经0202年了,前几日看到Ubuntu社区都要推出Ubuntu20.04了,然而DVSDK依赖的环境却是Ubuntu10.04,我抱着试试看的态度在Ubuntu18.04的系统上运行安装程序,得到不能安装的提示;不甘心的我查找官网发现即便是最新的DVSDK4_03也是在Ubuntu10.04上运行的。

QWQ,我能怎么办呢?时代在发展,但是需求却是一直在徘徊。既然规定了使用DM368,那就用之。但是在按照原博文安装的过程中却遇到了一些问题,因为Ubuntu10.04实在是太老了,甚至被划归到old release版本中了。所以一些东西和方法需要做修改,这些内容网上都能查到,此处列出,emmm,希望能方便以后用得上的人吧。

本文配置说明
Windows环境 Windows 10, 64-bit (Build 19041) 10.0.19041
虚拟机平台 VMware® Workstation 15 Pro 15.5.1 build-15018445
Ubuntu版本 Ubuntu10.04 32-bit LTS
DVSDK版本 DVSDK4_02_00_06

一、Ubuntu10.04的安装

1.VMWare15的安装

这个安装过程很简单,网上教程也很多,安装时也没有什么困难,所以直接上安装包。

[VMware Workstation Pro 15]

百度网盘连接: https://pan.baidu.com/s/1D_0rI8WEyyQEmYrtaK_ttw

提取码: w7nm

2.Ubuntu10.04的镜像获取

首先,Ubuntu10.04 LTS的下载源为:

http://old-releases.ubuntu.com/releases/

进去之后别看花了眼,按照官网的要求,我们只需要 Ubuntu 10.04.4 LTS (Lucid Lynx) 这个版本的镜像。在VMWare中安装操作系统就不多说了,也没有什么问题,甚至因为Ubuntu10.04比较小,安装的速度还会更快一些。

3.Ubuntu10.04中需要做的修改

在安装了系统之后先别急,把系统调好了再说。有以下几步需要安排一下:

更改apt-get源

将/etc/apt/sources.list中的内容全部删除替换为:

deb http://old-releases.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid main restricted

——>参考来源

比较方便的改法是先建立一个sources.list文件,输入上面的内容保存之后,使用cp替换原文件:

sudo cp sources.list /etc/apt/

文件的修改可以使用系统中自带的编辑器,别纠结在不好用的vi上。

更新apt-get

Ubuntu10.04中没有apt命令,只好麻烦自己多输入几个字符咯:

sudo apt-get update
sudo apt-get upgrade

这样就可以使用apt-get工具安装应用了。

安装vim

aot-get工具可用后,为了以后方便,建议安装vim:

sudo apt-get install vim

至此,对Ubuntu10.04的配置就算完成了。

二、安装交叉编译工具链arm-none-linux-gnueabi-gcc

DVSDK使用的交叉编译工具链是arm-none-linux-gnueabi-gcc,而且必须在安装的时候指定好工具链的安装位置,这是因为很多配置文件的内容在安装的时候就固定了的缘故。在安装后再手工修改工具链的路径不现实。所以一开始就要装好工具链。

工具链的下载

各版本下载地址:https://www.veryarm.com/arm-none-linux-gnueabi-gcc

其中版本众多,我只爱一个:arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

工具链的安装

在下载之后,将其拷贝到/usr/local目录下:

sudo cp arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /usr/local/

这里顺带说一嘴,VMWare和虚拟机之间的文件交换可以不使用VMWare Tools,在设置中挂载共享文件夹即可。

切换到目标目录

cd /usr/local

在当前目录下解压

sudo tar -jxvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

增加PATH变量:打开配置文件

sudo vim /etc/bash.bashrc

在末尾添加

export PATH=$PATH:/usr/local/arm-2009q1/bin/

*执行(之所以标星是因为这步也可以不执行,重启即可)

source /etc/bash.bashrc

至此,在Terminal中输入arm-并按两次TAB之后应该可以看到如下提示:

工具链安装验证

三、安装DVSDK4_02_00_06

1.安装包的获取

http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/4_02_00_06/index_FDS.html

2.安装流程

首先安装fakeroot:

sudo apt-get install fakeroot

然后安装autoconf automake:

sudo apt-get install autoconf automake

实际上只输入一个也是可以的,例如:sudo apt-get install autoconf,此时automake会被自动安装。

然后在DVSDK安装程序所在目录下执行SDK安装:

./dvsdk_dm365-evm_4_02_00_06_setuplinux

安装过程中应手动指定交叉编译工具(arm-none-linux-gnueabi-gcc)的安装目录以及SDK目标安装目录,toolchain详细到 /XXX/arm-2009q1/bin

此时基本的安装已经搞定,可以在安装目录下执行make以编译所有项目,编译过程不会出错。

四、编译u-boot和Kernel

1.编译uboot

在DVSDK安装目录下执行:

make u-boot

如果已经执行过make,那么uboot是已经编译好的了,编译得到的u-boot.bin在uboot文件夹内。

2.获取mkimage工具

进入 ./psp/uboot文件夹/tools/ ,将其中的mkimage拷贝到toolchain的安装目录下bin文件夹内:

sudo cp mkimage /usr/local/arm-2009q1/bin/

mkimage是生成kernel的uImage需要使用的工具,本来在Ubuntu18.04下可以使用sudo apt install u-boot-tools得到的,但是很可惜,Ubuntu10.04中不能使用这个方法,甚至原来的mkimage源也失效了。所以使用上面的方法是最简单的了。

而拷贝到toolchain安装目录下的原因是,这个目录已经添加在了系统环境变量中,使用相应命令时系统能找得到。要是愿意,放在其它位置也行,把那个位置添加到PATH就成了。

3.编译Kernel

在DVSDK目录下输入:

make linux

生成的uImage在 ./psp/linux文件夹/arch/arm/boot/ 内。

五、制作根文件系统

1.创建根文件系统目录

在home下新建文件夹targetfs,将DVSDK安装目录下 ./filesystem/ 中较大的包解压到该文件夹:

sudo tar -zxvf dvsdk-dm365-evm-rootfs.tar.gz -C ~/targetfs

修改文件系统的用户和组为普通用户

sudo chown username:username ~/targetfs -R

编辑DVSDK安装目录下的Rules.make文件,把最后一行改成:

EXEC_DIR=$(HOME)/targetfs

在DVSDK文件夹下执行

make install

2.安装mkfs.jffs2

在Ubuntu18.04中,下面的命令就行了:

sudo apt-get install mtd-utils

但是在Ubuntu10.04中有可能是执行失败的,那么需要这样安装:

(注意,以下操作只为了得到mkfs.jffs2)

首先安装

sudo apt-get install zlib1g-dev liblzo2-dev

然后在下面这个地址中下载1.5.2版本的mtd-utils:

ftp://ftp.infradead.org/pub/mtd-utils/

之所以是这个版本是因为最新版和1.5.0我都没有编译出来…可能是我太菜了吧。

tar jxf解压之后进入其中进行编译:

make WITHOUT_XATTR=1

参考mtd-utils交叉编译中的内容,指定WITHOUT_XATTR=1 是由于在编译 mkfs.jffs2使其不调用acl.h而是用zlib的库.

后续编译会报错,但是不用管,在目录下我们得到了mkfs.jffs2可执行文件了。

最后拷贝该文件到toolchain目录下:

sudo cp mkfs.jffs2 /usr/local/arm-2009q1/bin/

最后,在tergetfs上层目录执行:

mkfs.jffs2 -r /home/wind/targetfs/ -o  /home/wind/dm368_basefs.bin -e 0x20000 -s 0x800 -n

即可得到根文件系统的二进制文件。

六、后记

实际上,安装了DVSDK之后还有很多路要走,比如如何对不同的硬件做适配,比如读懂它的例程QWQ。

不过有一句话说得好,万事开头难,然后中间难,然后结尾难,困难总是有的,干就完了。

————2020-2-3@燕卫博————

燕卫博 发布了17 篇原创文章 · 获赞 1 · 访问量 885 私信 关注

标签:02,kernel,00,Ubuntu10.04,sudo,apt,编译,安装,arm
来源: https://blog.csdn.net/Turix/article/details/104154718

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有