libnvram.so编译教程
- 使用交叉编译环境
- 进行符号链接配置
sudo ln -s ~/am-toolchains/brcm-arm-sdk/hndtools-arm-linux-2.6.36-uclibc-4.5.3 /opt/brcm-arm
echo "PATH=\$PATH:/opt/brcm-arm/bin" >> ~/.profile
source ~/.profile
- 下载 libnvram 项目
- 配置编译相关依赖
export CC=arm-uclibc-gcc
<em>export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/brcm-arm/lib:/usr/local/lib:/usr/lib</em>
- 使用 ldd 命令查看依赖是否补全
ldd arm-uclibc-gcc
发现还缺少 libelf 库,32 位版本
- 对 kali 添加 32 架构支持
sudo dpkg --add-architecture i386
sudo apt update
- 安装 libelf1:i386
sudo apt-get install libelf1:i386
- 修改 config.h 中的配置文件
为了初始化 nvram 时能够正确的配置信息,需要对 config.h 修改
修改图中参数为 eth0 网卡 ip 地址与广播地址
修改挂载点,修改后需要在文件系统中创建目录 mkdir ./mnt/libnvram
如果需要加其他 nvram 的启动配置参数,也在这里进行添加
- 尝试编译
make
提示一个 warning
- 修改 Makefile,添加 gnu,修复 warning
-D_GNU_SOURCE
9.再次编译,大功告成