linux20.04下安装嵌入式gcc交叉工具编译链
linux20.04下安装嵌入式gcc交叉工具编译链
主要内容是从开始安装并解决在安装过程中遇到的问题
开始
版本信息
windows 10 2004
Ubuntu 20.04.01(64位)
vmware 15
嵌入式板子 s5pv210
1.选择交叉编译链版本
选择 arm-2009q3.tar
相对可靠,三星公司通用版本
2.安装步骤
步骤1:打开虚拟机,打开终端(ctrl+shift+t),在/usr/local/下创建/usr/local/arm文件夹
将此压缩包复制到linux共享文件夹:winshare中,我的地址是:E:\study\winshare\s5pv210\tar
步骤2:在linux中进入到/usr/local/arm文件夹中,将共享文件夹中的压缩包复制到当前目录中,代码:cp /mnt/hgfs/winshare/s5pv210/tar/arm-2009q3.tar.bz2 ./
注意代码分为三部分,第一部分为复制命令cp,第二部分为要复制的目标文件,第三部分为想要复制到的目标地址(在此为./表示当前地址)
步骤3:将arm-2009q3.tar.bz2解压到当前文件夹tar -jxvf arm -2009q3.tar.bz2在一些列解压命令行结束后,ls查看当前目录下的文件,进入/arm-2009q3/bin文件夹中查看当前文件夹中的文件,其中都是交叉编译链的程序,解压结束就代表安装成功,相当于windows中的绿色软件。真正的应用程序安装在/usr/local/arm/arm-2009q3/bin
目录下
步骤4:安装后的测试
到真正的安装程序的目录下(/usr/local/arm/arm-2009q3/bin
),去执行其中的程序
执行方法是 ./arm-none-linux-gnueabi-gcc -v
,(-v指令显示程序的版本号)出来一堆信息,只要后面已经显示gcc版本号就代表安装成功。
3.所遇到的问题
步骤4中执行查看版本号命令不成功
这是由于所安装的linux版本是64位,而安装的文件是32位不兼容引起,解决办法是执行sudo apt install lib32stdc++6
或者sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
输入后为上图信息,又有新的问题,这是由于上次使用apt出现异常,没有正常关闭,线程还在继续,解决办法使用ps 和 grep查找apt的pid,并使用kill杀死掉。执行:ps afx|grep apt
,将出来的列表中的进程使用kill结束。
之后在输入apt命令成功,若出现如下信息
还需要进一步输入:sudo rm /var/lib/dpkg/lock-frontend
将相应的锁文件删除
之后重新输入apt可以正确安装
之后成功安装,显示出版本号
4.总结
其中在64位linux中安装32位软件,需要安装32位的库,使用apt-get中要注意apt是否正在运行,或者异常,需要手动使用命令找见并结束。关于/var/lib/dpkg/lock-frontend - open的详细信息看这篇文章
https://blog.****.net/xy_sugar/article/details/84999808
其中涉及dpkg (软件包管理)即 package manager for Debian,看这篇文章。
https://www.jianshu.com/p/2ec0f4b945a2
补充: linux下/bin目录放置一些系统自带的用户使用的应用程序,/sbin目录下存放的是系统自带的系统管理方面的应用程序。
自己装软件一般都放在/usr目录下。可以在/usr/local下创建文件夹,将自己所使用的程序安装进去。