1 这些名词是什么的缩写
armel
是arm eabi little endian的缩写。eabi是软浮点二进制接口,这里的e是embeded,是对于嵌入式设备而言。
armhf
是arm hard float的缩写。
arm64
64位的arm默认就是hf的,因此不需要hf的后缀。
2 armel和armhf的区别
它们的区别体现在浮点运算上,它们在进行浮点运算时都会使用fpu,但是armel传参数用普通寄存器,而armhf传参数用的是fpu的寄存器,因此armhf的浮点运算性能更高。
gcc编译的时候,使用-mfloat-abi选项来指定浮点运算使用的是哪种,soft不使用fpu,armel使用fpu,使用普通寄存器,armhf使用fpu,使用fpu的寄存器。
编译时,kernel、rootfs和app的指定必须一致才行。
3 deb包
各自的软件包和平台不一致会导致无法安装,在amd64上可以安装amd包和amdhf包。但是往往amdhf的包其依赖也是amdhf,如果想在amd平台上安装amdhf包,就需要从libc6.deb开始,都安装成amdhf的,且amd和amdhf的同名包不能共存。