【debian11】系统中ModemManager 1.14.12升级到1.18.12

ModemManager官方资源
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/384

1、打包.deb文件

添加链接描述
mkdir DEBIAN目录,DEBIAN目录和要安装的root根目录同级
在DEBIAN目录下,创建control文件,内容如下

Package: ModemManager
Version: 1.18.12
Section: utils 
Architecture: all
Installed-Size: 
Maintainer: ning.pan@advantech.com.cn
Description: modemmanager soft package

注意,control文件要多一行空白行

2、debian11系统中ModemManager升级

先安装依赖的库

apt-get update
apt-get install -y gir1.2-gudev
apt-get install -y libgudev-1.0-dev 

libqmi版本升级
./configure;make;make install;
以上为依赖,gudev和libqmi

完成ModemManager版本升级需要注意以下:
–libdir= 要加上
./autogen.sh --prefix
和make install DESTDIR=
–prefix(运行时将在何处查找文件)
make install DESTDIR=$PWD/install/usr(用于安装临时目录,在构建deb包时使用);可参考如下链接
https://qastack.cn/programming/11307465/destdir-and-prefix-of-make

3、交叉编译的步骤:

–without-qmi --without-udev默认debian11原生系统中两者的版本需要升级,否则,在执行./autogen.sh时,需要加上–without-xxx

mkdir -p install/usr
./autogen.sh --prefix=/usr --libdir=/usr/lib/aarch64-linux-gnu/ --without-mbim
make;
make install DESTDIR=$PWD/install/usr

打包deb包之前,删除install/usr/lib目录下libmm-glib.so.0的软连接,并需要将install目录进行调整

执行dpkg-deb -b usr ModemManager-1.18.12-destdir.deb
接下来,安装验证

dpkg -i ModemManager-1.18.12-destdir.deb 
cd /usr/lib/aarch64-linux-gnu/
 ln -sf libmm-glib.so.0.8.0 libmm-glib.so.0
stemctl daemon-reload
systemctl restart ModemManager

判断状态

systemctl status ModemManager

4. libmm-glib.so.0在系统中的依赖关系

libmm-glib.so.0在以下package中有依赖关系:

apt-get remove network-manager-vpnc network-manager-strongswan network-manager-pptp network-manager-openvpn network-manager-l2tp network-manager-gnome
apt-get remove network-manager
apt-get remove libmm-glib0

执行以上步骤,可删除libmm-glib0

apt-get install libmm-glib0

在安装ModemManager时已经安装了libmm-glib0库,继续安装network-manager仍提示需要安装

apt-get install network-manager
apt-get install network-manager-vpnc network-manager-strongswan network-manager-pptp network-manager-openvpn network-manager-l2tp network-manager-gnome

在打包deb文件时,把libmm-glib库删除,然后dpkg -i安装完成后,再手动创建libmm-glib软连接

5、libmm-glib库升级

cp -rf /usr/lib/libmm-glib.so.0.8.0 /usr/lib/aarch64-linux-gnu/
cd /usr/lib/aarch64-linux-gnu/
ln -sf libmm-glib.so.0.8.0 libmm-glib.so.0

6、ModemManager.service内容如下

[Unit]
Description=Modem Manager
After=polkit.service
Requires=polkit.service

[Service]
Type=dbus
BusName=org.freedesktop.ModemManager1
ExecStart=/usr/sbin/ModemManager
StandardError=null
Restart=on-abort
CapabilityBoundingSet=CAP_SYS_ADMIN
ProtectSystem=true
ProtectHome=true
PrivateTmp=true
RestrictAddressFamilies=AF_NETLINK AF_UNIX
NoNewPrivileges=true
User=root

[Install]
WantedBy=multi-user.target
Alias=dbus-org.freedesktop.ModemManager1.service

猜你喜欢

转载自blog.csdn.net/weixin_53860846/article/details/127920752