Hard-Soft News

Новости железа и софта

Posts Tagged ‘Linux’

YAGF 0.8.9

Воскресенье, Декабрь 18th, 2011

Очередной релиз. Основные новшества: функция автоматического исправления наклона страницы (deskew) и улучшенный пользовательский интерфейс.

Страница проекта:  http://symmetrica.net/cuneiform-linux/yagf-ru.html

YAGF 0.8.9

Читать дальше…

Безопасный запуск Linux на устройстве ARM (часть II)

Среда, Ноябрь 16th, 2011

Продолжаем обживаться в системе ARM Linux, установленной на флешку.

Первая часть

Читать дальше…

Безопасный запуск Linux на устройстве ARM

Понедельник, Ноябрь 7th, 2011

Речь пойдет о запуске полноценного дистрибутива Linux на устройствах, на которых уже установлен урезанный Linux. Проще говоря, на устройствах с Android и Angstrom.

Этот способ установки является на сегодняшний день самым безболезненным для девайса, что хорошо подходит тем, кто хочет по-прежнему пользоваться устройством по назначению, а не только как площадкой для тестирования Linux. При использовании этого способа файлы Linux вообще не будут устанавливаться на устройство с Андроидом. Вместо этого мы установим их на USB-флешку. Читать дальше…

Системные вызовы ARM Linux

Понедельник, Октябрь 31st, 2011

Номера и порядок передачи аргументов системных вызовов ARM Linux соответствуют таковым на платформе Intel, и это очень хорошо и правильно. Существует два режима системных вызовов – старый и новый (новый является частью стандарта EABI). Нынешние ядра ARM Linux поддерживают оба режима, но использовать режим EABI, разумеется, предпочтительнее. У двух режимов много общего: аргументы вызова передаются в регистрах r0-r6, а сам вызов выполняется с помощью инструкции SWI.
В старом режиме номер вызова является частью операнда инструкции SWI. Операнд инструкции выглядит так:

MOV r0, дескриптор_файла;
MOV r1, адрес_буфера;
MOV r2, длина_буфера;
SWI 0x900004;

В режиме EABI номер вызова передается в регистре r7, а операндом SWI всегда является значение 0×0. Еще одно отличие связано с передачей 64-битных аргументов. В обоих режимах их передают в паре 32-битных регистров, но в старом режиме это просто два следующих не занятых регистра, а в режиме EABI – следующая пара регистров, в которой первый регистр имеет четный номер. Тот же вызов _write() в режиме EABI будет выглядеть так:

MOV r0, дескриптор_файла;
MOV r1, адрес_буфера;
MOV r2, длина_буфера;
MOV r7, #4;
SWI 0x0;

Помимо прочего, между двумя режимами существует одно, не сразу заметное, различие: режим EABI может использовать как в режиме ARM MODE (32-битные инструкции), так и в более компактном THUMB MODE. Старый режим не может использоваться в THUMB MODE просто потому, что число 0×900000 не поместится в 16-битном операнде инструкции SWI режима THUMB.
Ну и напоследок, описания нескольких системных вызовов ARM Linux. Зная общий принцип, остальные описания легко «конвертировать» из описаний аналогичных вызовов для Intel.

Номер Обозначение Используемые регистры
1 sys_exit() r0
3 sys_read() r0, r1, r2
4 sys_write() r0, r1, r2
5 sys_open() r0, r1, r2
6 sys_close() r0

Самый компактный исполнимый файл для Linux

Четверг, Октябрь 27th, 2011

Размер исполнимого файла обычной программы Hello World при сборке в моей системе (X86-64, Linux) после выполнения strip составляет  6208 байтов. Для ARM Linux (ARMv9) — 2720 байтов. Можно ли улучшить эти результаты? Читать дальше…

M-508 — ARM-компьютер для Linux

Пятница, Декабрь 24th, 2010

Хотели бы вы иметь компьютер с возможностями, близкими к возможностям нетбука, с встроенными портами Ethernet и USB и энергопотреблением не боле 3-х Ватт? Для сравнения: энергопотребление современного нетбука (без учета энергии, потребляемой монитором!)  колеблется в районе 10-15 Ватт, хотя и тут есть свои чемпионы. Низкое энергопотребление это не только экономия электроэнергии и возможность долго работать от автономного источника питания (буде таковая необходимость возникнет), это еще и отсутствие активного охлаждения, то есть шумных и ломких вентиляторов.

В общем, я говорю о компьютере, который можно оставлять включенным, уезжая из дому хоть на месяц, о компьютере, который сможет часами функционировать, используя обычный аккумулятор, который работает совершенно беззвучно (не считая шелеста электронов, бегущих по проводам) и который не перегреется от того что у него сломался вентилятор. Не знаю как вы, а я хочу такой компьютер. И не только по тем причинам, которые я перечислил. Читать дальше…