4个版本
0.1.3 | 2022年7月31日 |
---|---|
0.1.2 | 2021年1月3日 |
0.1.1 | 2021年1月3日 |
0.1.0 | 2021年1月3日 |
#2 in #kindle
2.5MB
1K SLoC
包含 (ELF库,1MB) so/libglib-2.0.so.0,(ELF库,1MB) so/libglib-2.0.so,(ELF库,170KB) so/libdbus-1.so,(ELF可执行文件/库,170KB) so/libdbus-1.so.3,(ELF库,68KB) so/liblipc.so,(ELF库,68KB) so/liblipc.so.0 以及更多。
LibOpenLIPC-sys
Rust中的Kindle liblipc包装。仅暴露了一小部分功能。
使用了OpenLIPC头文件,并使用bindgen
进行转换。[文档在这里](https://arkq.github.io/openlipc)。
下载目标
rustup target add armv7-unknown-linux-gnueabi
获取工具链,并在您的.cargo/config
中进行配置
[target.armv7-unknown-linux-gnueabi]
linker = "Amazon-Kindle-Cross-Toolchain/arm-kindle-linux-gnueabi/bin/arm-kindle-linux-gnueabi-cc"
在编译前导出sysroot/lib的路径
export SYSROOT_LIB_DIR=~/git/Amazon-Kindle-Cross-Toolchain/arm-kindle-linux-gnueabi/arm-kindle-linux-gnueabi/sysroot/lib/
将仓库中的.so文件复制到SYSROOT_LIB_DIR
(这些是从我的Kindle上获取的)
cp -vt $SYSROOT_LIB_DIR so/*
有用的链接
其他
我尝试使用qemu-arm-static
运行二进制文件,但它们发生段错误。不知道原因。
谢谢
感谢在Rust discord频道中的pie_flavor
,他向我解释了整个FFI问题。