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.
相关推荐
森焱森6 小时前
GD32F4 DSP
linux·c语言·arm开发·驱动开发·嵌入式硬件
shandianchengzi10 小时前
【记录】ARM|Ubuntu 24 快速安装 arm-none-eabi-gdb 及 QEMU 调试实战
linux·arm开发·ubuntu·arm·qemu
切糕师学AI1 天前
ARM 架构中的 PRIMASK、FAULTMAST、BASEPRI 寄存器
arm开发·架构·嵌入式·寄存器
tang_shou1 天前
STM32CubeMx使用STM32F4系列芯片实现串口DMA接收
c语言·arm开发·stm32·单片机·嵌入式硬件·mcu·stm32cubemx
切糕师学AI1 天前
ARM 架构中的数据同步屏障(DSB)是什么?
arm开发·架构·数据同步·屏障
Ivy_belief1 天前
Linux:设置和获取单片机gpio引脚和key值
linux·arm开发·qt·gpio·event事件
徐某人..2 天前
网络编程学习--第一天
arm开发·单片机·学习·arm
嘻哈baby2 天前
WireGuard为何取代IPSec成为Linux内核首选:协议架构与性能实测
linux·arm开发·架构
物随心转2 天前
给arm的cpu设置为user模式
arm开发
切糕师学AI2 天前
ARM架构程序状态寄存器(PSR)详解:从基础概念到现代实现
arm开发·架构·嵌入式·程序状态寄存器·psr