背景
在使用crash定位问题的时候需要使用ko使用对应的符号信息。直接用ko.xz无法正确加载。需要恢复成ko文件。本文介绍如何解压缩。
恢复步骤
在Linux系统中,.xz文件是一种使用LZMA2算法压缩的文件格式。要解压ko.xz文件,你可以使用xz命令行工具。
安装xz工具
sudo yum install xz
解压ko.xz文件
使用xz命令的-d(或–decompress)选项来解压ko.xz文件。
xz -d mlx5_core.ko.xz
注意解压缩之后会删掉原来的xz,建议将ko.xz拷贝到某个目录进行操作。
实战操作
这里以Mellanox使用的几个驱动为例,将多个ko拷贝到本目录然后执行xz进行解压。
注意解压后会把原始ko删掉。
mkdir /root/test
cd /root/test
cp /lib/modules/`unamr -r`/kernel/drivers/infiniband/core/*.xz ./
cp /lib/modules/`unamr -r`/kernel/drivers/infiniband/hw/mlx5/* ./
for f in `ls *.xz`; do echo $f; xz -d $f; done
其他
如果在crash使用,就用最新解压的目录mod -S /root/test 就能加载对应的符号文件了。
综述
本文简单记录linux内核汇总将ko压缩为ko.xz如何恢复的记录。以帮助在默认编译内核ko后无法在crash加载问题的方法。