arm rk3588 升级glibc2.31到2.33

一、查看glibc版本

复制代码
root@ztl:~# ldd --version
ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

得出当前glibc版本为2.31

二、添加源

使用ubuntu-ports的source list,如

复制代码
http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/

这里说明下ubuntu/和ubuntu-ports/的区别:

  • 前者是achieve源,收录的架构为 AMD64 (x86_64) 和 Intel x86。
  • 后者是ports源,收录的架构为 arm64,armhf,PowerPC,ppc64el 和 s390x等,对于树莓派等ARM架构的开发板,需要使用ports源。

以ubuntu 22.04为例,可以使用如下清华源:

执行:

复制代码
sudo vim /etc/apt/sources.list

添加:

复制代码
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse

# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse

deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse

然后执行:

复制代码
sudo apt-get update
sudo apt install libc6

再次查看glibc版本:

复制代码
root@ztl:~# ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.8) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

三、其他方式

执行

复制代码
sudo vim /etc/apt/sources.list

添加:

复制代码
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ xenial main universe
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports xenial main universe

参考:

复制代码
You have errors in the sources.list configuration files.

The binary packages for arm64 architecture are not available on the same repository servers as the i386 and amd64 packages, but only on the ports.ubuntu.com server.

Do you really need binaries for arm64 architecture?

If no, then you should remove arm64 as foreign architecture with the command
sudo dpkg --remove-architecture arm64

If you need that additional architecture (e.g. because of doing cross-compilation), you have to reorganize your sources.list files and separate the lines for i386 and amd64 from those for arm64, something like

deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ xenial main universe
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports xenial main universe

In any case you have to make sure that the command "sudo apt-get update" does not show any error message (like 404 Not found) any more.
相关推荐
亿道电子Emdoor9 小时前
【Arm】访问陷阱简介
arm开发·单片机·mcu
ouynagda9 小时前
iMX6ull Linux 嵌入式驱动开发笔记(LCD / ADXL345 / SPI 子系统)
linux·arm开发·驱动开发·笔记·嵌入式硬件
小诗懂技术9 小时前
linux驱动中断,相关中断的方式与适用场景
linux·arm开发·驱动开发·算法
kyle~1 天前
Linux --- Socket 用户进程与内核网络协议栈之间的统一接口
linux·arm开发·网络协议
Awh-1 天前
ARM 裸机开发 DAY8 学习笔记
arm开发·笔记·学习
Awh-2 天前
ARM 裸机开发 DAY9 学习笔记
arm开发·笔记·学习
en.en..2 天前
8086、x86、ARM 结构化详解
arm开发
sunoo-2292 天前
嵌入式Linux驱动学习笔记(第3-6天):从misc封装、platform总线到设备树、中断与单总线外设实战
linux·arm开发·驱动开发·笔记·单片机·学习
半杯咖啡半行码3 天前
STM32之ARM通用汇编指令详解:从指令格式到寻址方式
汇编·arm开发·stm32