Вопрос, наверное, больше к железячникам и электронщикам.
Объясните толком в чем принципиальное техническое/аппаратное/программное отличие armhf от armel и что это такое, как расшифровывается, это архитектуры arm-контроллеров, режимы работы или что-то другое? Гугление ничего толкового и внятного не выдает, лишь некое достаточно туманное и расплывчатое представление, что-то про работу с плавающей точкой и порядок байтов… В частности, если у меня, к примеру, смарт на андроиде по команде uname выдает процессор armv7l это armhf или armel или это никак не связанно? И если я на нем разворачиваю дистриб линуха и есть выбор между armel и armhf архитектурой (но не понятно — это архитектура чего, и обе устанавливаются и работают), то какой вариант будет более эффективен и чем будет отличаться?
armhf (hard float) код может выполняться только на процессорах с аппаратной поддержкой вычислений с плавающей точкой.
armel (emulation) код включает в себя эмулятор соответствующих операций. Выполняется медленнее, но на большем количестве процессоров.
armv7 по идее должен работать с armhf. Подробнее ищите по ключевым словам «ARM floating point»
А про программную реализацию не совсем правда. Оно действительно считает вещественные числа программно на процессорах, которые не имеют FPU, но если процессор имеет FPU, то он считает на FPU, но гораздо медленней, чем HF.