x86 Ubuntu上编译eudev给龙芯loongarch64架构主机使用

news/2024/6/3 0:17:43 标签: ubuntu, linux, 运维

1、下载eudev库eudev-master.zip,链接:eudev库官方地址

2、下载龙芯的交叉编译工具:loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2.tar.xz,链接:龙芯交叉编译官方地址

3、交叉编译器环境搭建

(1)、解压loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2.tar.xz到/opt/路径下

cp loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2.tar.xz /opt/
cd /opt/
tar -zxvf loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2.tar.xz

(2)、修改~/路径下的.bashrc文件,在末尾添加如下内容

#add loongarch64 env
export PATH=/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2/bin:$PATH
export LIB_PATH=/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2/lib:/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2/loongarch64-linux-gnu/lib:$LIB_PATH
export CROSS_COMPILE=loongarch64-linux-gnu-
export ARCH=loongarch64

(3)、.bashrc文件修改后,执行source .bashrc让环境生效,输入loongarch后tab键如果自动补全如下内容,说明环境设置OK

4、交叉编译eudev库

(1)、解压eudev-master.zip,并进入eudev-master目录

unzip eudev-master.zip
cd eudev-master

(2)配置GCC C++编译器,在终端输入以下命令

export CC=/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2/bin/loongarch64-linux-gnu-gcc

export CXX=/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2/bin/loongarch64-linux-gnu-g++

(3)执行命令 ./autogen.sh,在eudev-master路径下会生成一些文件,还可能会报make.sh找不到的一些错误,不用理会,继续往下走。

(4)生成makefile文件

./configure --host=loongarch64 --prefix=$PWD/build

如果这一步报错

"Invalid configuration 'loongarch64' : machine 'loongarch64' not recognized"

"configure:error: /bin/bash config.sub loongarch64 failed"

需要更换eudev-master文件夹中的config.guess 和 config.sub文件,文件从以下链接下载

https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub

如果是拷贝,注意windows和linux的换行符可能导致执行报“Configure: error: cannot run /bin/bash” 等错误,需要修改一下两个文件的编码格式。

vim config.guess
:set ff=unix
:wq
vim config.sub
:set ff=unix
:wq

修改完成后,再次执行./configure --host=loongarch64 --prefix=$PWD/build 

然后执行make & make install

在生成的build/bin/路径下看一下文件的格式,如果文件类型是unknown arch 0x102* version 说明编译成功,将需要的文件拷贝到loongarch64主机即可


http://www.niftyadmin.cn/n/5411601.html

相关文章

Ubuntu 20.04 ROS1 与 ROS2 通讯

激光雷达和3d视觉传感器驱动很多都是基于ros1开发的,由于自己项目在ros2环境开发,需要获取从驱动出来的点云数据流,所以尝试订阅ros1出来的点云topic话题,固需要ros1与ros2之间建立通讯连接。 项目环境: Legion-Y7000…

安卓部分手机使用webview加载链接后白屏(Android低版本会出现的问题)

前言 大爷:小伙我这手机怎么打开你们呢这个是白屏什么都不显示。 大娘:小伙我这也是打开你们呢这功能,就是一个白屏什么也没有,你们呢的应用不会有病毒吧。 小伙:我的手机也正常; 同事:我的也正…

[云原生] K8s之pod控制器详解

Pod 是 Kubernetes 集群中能够被创建和管理的最小部署单元。所以需要有工具去操作和管理它们的生命周期,这里就需要用到控制器了。 Pod 控制器由 master 的 kube-controller-manager 组件提供,常见的此类控制器有 Replication Controller、ReplicaSet、Deployment、…

打家劫舍(java版)

📑前言 本文主要是【动态规划】——打家劫舍(java版)的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一…

【JS】关于this的使用

this 前言一、this是什么?二、做什么?1.全局环境2.函数环境3.new实例对象4.apply、bind、call绑定4.1 apply()4.2 call()4.3 bind() 三、为什么用this?四、如何改变this?五、应用场景?总结 前言 痛点 经常写Vue项目&a…

微软亚太区AI智能应用创新业务负责人许豪,将出席“ISIG-AIGC技术与应用发展峰会”

3月16日,第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导,企智未来科技(AIGC开放社区、RPA中国、LowCode低码时代)主办。大会旨在聚合每一位产业成员的力量,深入探索A…

Node.js的诞生

Node.js是什么,为何产生的,解决的痛点是什么? 1.Node是什么? Node.js是一个基于Chrome V8引擎的JavaScript运行时环境。 JavaScript语言以前只能在浏览器端被解释并运行,而Node.js的出现帮助开发者使用JavaScript语言在后端/服…

AI Agent涌向移动终端,手机智能体开启跨端跨应用业务连接新场景

AI Agent涌向移动终端,手机智能体势不可挡还没搞清楚什么是AI Agent,手机Agent就已经横空出世AIGC为何涌向移动端?背后有哪些逻辑?什么是手机智能体?一文看明白科技大厂、手机厂商、企服领域都在发力,手机智…