Linux™ — семейство UNIX-подобных ОС основанных на ядре Linux™. В США Linux™ является зарегистрированной торговой маркой, принадлежащей Линусу Торвальдсу.
Для получения сборки (образа) ядра необходимы:
make, patch, sed, awk и др.linux-kernel:tar xjf linux-kernel.tar.bz2tar xzf linux-kernel.tar.gzkernel.patchgunzip kernel.patch.gzlinux-kernelcd linux-kernelpatch -p0 < ../kernel.patch
Подразумевается, что файл патча kernel.patch располагается в той же директории, что и директория исходных кодов ядра linux-kernel. Номер в параметре p может быть другим, см. документацию по утилите patch.
| Файл | Размер | Изменение |
|---|---|---|
| linux-2.6.20.21_tion_svn1084_201007071644.tar.gz | 562537 | 2010/07/07 20:48 |
| linux-2.6.20.21_tion_svn922_201003181631.tar.gz | 560421 | 2010/03/18 20:26 |
| linux-2.6.20.21_tion_svn861_200912021805.tar.gz | 560777 | 2010/01/31 19:20 |
| Файл | Размер | Изменение |
|---|---|---|
| linux-2.6.22.19_tion270_svn888_201003181637.tar.gz | 402300 | 2010/03/18 20:29 |
| linux-2.6.22.19_tion270_svn818_200911271637.tar.gz | 402195 | 2010/01/31 19:20 |
| linux-2.6.22.19_tion270_svn700_200907291855.tar.gz | 395366 | 2010/01/31 19:20 |
export ARCH=armexport CROSS_COMPILE=arm-linux-gnu-arm-linux-gnu- — префикс используемого инструментарияcd linux-kernelmake tion_defconfigmake tion-pro1_defconfigmake tion-pro2_defconfigmake tion270_defconfigmake tion-pro270_defconfigncurses-devmake menuconfigmakeМодуль — объектный код, который может быть добавлен к ядру во время работы (выполнения) для расширения функциональности. Например, драйвер устройства может быть включён в ядро или собран в виде модуля. Существуют как преимущества, так и недостатки использования модулей в ядре для встроенных систем.
Собранные модули должны быть установлены в КФС целевой платформы в
директории /lib/modules/<version>/, где <version> — версия ядра.
make modulesmake<mod_dir>export INSTALL_MOD_PATH=<mod_dir>make modules_install
Загрузка модуля (на целевой платформе) выполняется командами modprobe или insmod, удаление — rmmod,
отображение информации о модуле — insmod.
Сборки выполнены с конфигурацией по умолчанию (defconfig).
| Файл | Размер | Изменение |
|---|---|---|
| md5.sum | 426 | 2010/08/19 12:01 |
| uImage-2.6.20.21_tion_svn889_eabi | 1710976 | 2010/02/15 19:44 |
| uImage-2.6.20.21_tion_svn787_oabi | 1744028 | 2010/01/31 19:20 |
| uImage-2.6.20.21_tion-pro_svn889_eabi | 1711032 | 2010/02/15 19:44 |
| uImage-2.6.20.21_tion-pro_svn787_oabi | 1744000 | 2010/01/31 19:20 |
| uImage-2.6.20.21_tion-pro2_svn889_eabi | 1743488 | 2010/02/15 19:43 |
| uImage-2.6.20.21_tion-pro2_svn787_oabi | 1764972 | 2010/01/31 19:20 |
| Файл | Размер | Изменение |
|---|---|---|
| uImage-2.6.22.19_svn818_tion270_eabi | 1526548 | 2010/01/31 19:20 |
| uImage-2.6.22.19_svn818_tion-pro270_eabi | 1465320 | 2010/01/31 19:20 |
| uImage-2.6.22.19_svn746_tion270_oabi | 1542300 | 2010/01/31 19:20 |
| uImage-2.6.22.19_svn746_tion-pro270_oabi | 1479120 | 2010/01/31 19:20 |
| md5.sum | 283 | 2010/01/31 19:20 |
В процессе загрузки ядро Linux™ выполняет монтирование корневой файловой системы (КФС).
КФС является необходимой частью для работы системы и содержит:
/lib/modules/)/lib/)/dev/)/etc/inittab, /etc/init.d/)/sbin, /bin, /usr/sbin)/etc/)/usr/bin)Размещение КФС на Flash позволяет сэкономить оперативную память не используя Ramdisk и сохранить данные при отключении питания/перезагрузке. На Flash должна размещаться предназначенная для этого файловая система, например, JFFS2.
root=/dev/mtdblock2 rootfstype=jffs2, где mtdblock2 — соответствующее блочное устройство для КФС с файловой системой JFFS2
Также можно в параметрах ядра указать ro, при этом КФС будет смонтирована в режиме только для чтения. Перемонтировать КФС в режиме для записи можно командой: mount -o remount,rw /
Для создания образа JFFS2 в Buildroot в menuconfig указать:
Target filesystem options --->
[*] jffs2 root filesystem
Flash Type (Select custom page and erase size) --->
(0x1000) Page Size
(0x40000) Erase block size
[ ] Do not use Cleanmarker
[ ] RootFS in SREC file formet
[*] Pad output
(0x0) Pad output size (0x0 = to end of EB)
Использование NFS как КФС упрощает процесс разработки, позволяя вносить изменения в файлы КФС с host-компьютера и сразу видеть их на target-платформе.
Для использования NFS как КФС следует:
CONFIG_ROOT_NFS)root=/dev/nfs nfsroot=10.42.42.12:/nfs/root ip=10.42.42.205:10.42.42.12:10.42.42.1, где 10.42.42.12 — IP-адрес сервера; 10.42.42.205 — IP-адрес клиента (платы)#auto eth0 #iface eth0 inet dhcp
Для использования КФС на CF-карте следует:
fdisk, cfdisk, mke2fs, mkfs.ext2root=/dev/hda1, если КФС располагается на первом разделе CF-картыДля использования КФС на SD-карте следует:
root=/dev/mmcblk0p1, если КФС располагается на первом разделе SD-карты
См. КФС на CF-карте. Может пригодиться параметр ядра rootdelay, если попытка монтирования КФС будет выполнена раньше чем определение USB-Flash.
В параметрах ядра указать: root=/dev/sda1, если КФС располагается на первом разделе USB-Flash.
Если вы не знаете с какой именно сборки начать, рекомендуется сборка выполненная Buildroot.
В некоторых сборках при входе в систему используется логин root без пароля.
Если название файла начинается на u, то этот файл уже является образом U-Boot.
Конфигурация, вспомогательный скрипт и дополнительные файлы КФС находятся в директории local/tion.
Основные этапы сборки:
local/tion/tion.config в .config и выполнить make oldconfigmake BOARD=tion
При этом конфигурация будет использоваться из local/tion/tion.config, и если конфигурация изменяется (make menuconfig), то она должна быть сохранена в local/tion/tion.config (или сделайте ссылку local/tion/tion.config на .config).
Git репозиторий: http://zao-zeo.ru/media/files/linux/buildroot-2009.08.git
| Файл | Размер | Изменение |
|---|---|---|
| buildroot-2009.08_20100713.tar.gz | 48411 | 2010/07/14 12:28 |
Вы можете собрать КФС и ядро для плат на основе EP93xx с помощью Crater (модификация системы сборки
Buildroot от Cirrus Logic). См. также
описание сборки Crater.
| Файл | Размер | Изменение |
|---|---|---|
| crater-1.0.0_svn1082.tar.gz | 8068617 | 2010/07/07 20:48 |
| crater-1.0.0_svn789.tar.gz | 8074486 | 2010/01/31 19:19 |
| crater-1.0.0_svn747.tar.gz | 8046909 | 2010/01/31 19:19 |
Некоторые файлы архивов исходных кодов используемые в Crater.
| Файл | Размер | Изменение |
|---|---|---|
| md5.sum | 326 | 2010/06/02 18:12 |
| rootfs_crater_svn819mod_tion-pro.jffs2 | 4194304 | 2010/06/02 18:12 |
| uramdisk_crater-1.0.0.gz | 4836918 | 2010/01/31 19:20 |
| uramdisk_bb1.8.2_opie.gz | 10564753 | 2010/01/31 19:20 |
| uramdisk_bb1.8.2.gz | 2923726 | 2010/01/31 19:20 |
| rootfs_crater_svn819_tion-pro2.jffs2 | 13369344 | 2010/01/31 19:20 |
Конфигурация, вспомогательный скрипт и дополнительные файлы КФС находятся в директории local/tion270.
Основные этапы сборки:
local/tion270/tion270.config в .config и выполнить make oldconfigmake BOARD=tion270
При этом конфигурация будет использоваться из local/tion270/tion270.config, и если конфигурация изменяется (make menuconfig), то она должна быть сохранена в local/tion270/tion270.config (или сделайте ссылку local/tion270/tion270.config на .config).
Git репозиторий: http://zao-zeo.ru/media/files/linux/buildroot-2009.08.git
| Файл | Размер | Изменение |
|---|---|---|
| buildroot-2009.08_20100713.tar.gz | 48411 | 2010/07/14 12:28 |
| Файл | Размер | Изменение |
|---|---|---|
| rootfs_pxa_ptx1.0.2.jffs | 9175040 | 2010/01/31 19:20 |
| rootfs.arm.ext2.gz | 545569 | 2010/01/31 19:20 |
| md5.sum | 287 | 2010/01/31 19:20 |
| buildroot_svn24430_pxa_20081224.tar.gz | 1019018 | 2010/01/31 19:20 |
| buildroot_svn23990_softfloat_oabi_rootfs.arm-xscale.ext2.gz | 1244224 | 2010/01/31 19:20 |
| buildroot_svn23990_softfloat_oabi.config | 16607 | 2010/01/31 19:20 |
datehwclock -whwclock -r
Для отключения засыпания дисплея можно использовать:
echo -en "\033[9;0]" > /dev/tty0
При использовании патчей для ядра с http://www.zao-zeo.ru/soft
В параметрах ядра укажите:
video=ep93xxfb:vout=1,vmode=<val>, где <val> — номер соответствующий дисплею:
| Дисплей | <val> |
|---|---|
| VGA | 16 |
| 3.5" (320x240) | 17 |
| 5.7" (640x480) | 18 |
| 8", 10.4" (640x480) | 19 |
| 8" (800x600) | 20 |
| 8" (800x600) A080SN01 | 22 |
Если тип дисплея не указан, используется VGA-выход.
В параметрах ядра укажите:
video=pxafb:tag=<val>, где <val> — значение соответствующее дисплею:
| Дисплей | <val> |
|---|---|
| VGA | vga |
| 3.5" (320x240) | 3.5 |
| 5.7" (640x480) | 5.7 |
| 8" (640x480) | 8 |
| 8" (800x600) OSD080TN42 | 8-800x600 |
| 10" (640x480) | 10 |
Видео контроллер включается в режиме 18 bpp, если у вас адаптер для 16 bpp или Сириус270 старше rev1.0, то нужно добавить :bpp=16 (начиная с svn700), например:
video=pxafb:tag=vga:bpp=16
Если тип дисплея не указан, то VGA-выход отключён, потребление уменьшается на ~50 мА.
/sys/class/backlight).
На адаптерах для различных дисплеев есть перемычки — включить подсветку (bl_on) или управлять подсветкой (bright). Замыкается только одна из двух перемычек!
Перед использованием сенсорного экрана (touch screen) его необходимо откалибровать, для этого в составе образа КФС
Linux есть утилита ts_calibrate (из tslib), запустите её и откалибруйте сенсорный экран. Проверить работу откалиброванного
сенсорного экрана можно утилитой ts_test (из tslib).
Перед калибровкой убедитесь, что устройство не занято другой программой и, в случае если устройство занято, — завершите программу которая занимает устройство.
Если вы используете ramdisk, то в него следует внести изменённые параметры калибровки, см. Как изменить ramdisk, как использовать CF-карту в качестве КФС. Изменённый файл калибровки /etc/pointercal не должен содержать лишних символов: пробела, табуляции, новой строки и т.д.
Корректное отображение утилит ts_calibrate и ts_test при цвете 18 bpp для плат на основе PXA270.
| Файл | Размер | Изменение |
|---|---|---|
| tslib-0.0.2.patch | 1139 | 2010/01/31 19:20 |
Для использования сенсорного экрана нужно установить значение переменной окружения QWS_MOUSE_PROTO перед запуском OPIE.
Например, для одноплатных компьютеров на основе Cirrus Logic EP9312/15 значение QWS_MOUSE_PROTO устанавливается в скрипте /sbin/startup (ранее в /sbin/start-opie):
export QWS_MOUSE_PROTO=TPanel:/dev/misc/ep93xx_tsexport QWS_MOUSE_PROTO=IntelliMouse:/dev/input/mice| Файл | Размер | Изменение |
|---|---|---|
| serial-pair_svn371.gz | 2352 | 2010/01/31 19:20 |
QT версии 2.3.10, для других версий, возможно, требуются изменения
| Файл | Размер | Изменение |
|---|---|---|
| leds-qt_svn413.tar.gz | 2431 | 2010/01/31 19:20 |
QT версии 2.3.10, для других версий, возможно, требуются изменения
| Файл | Размер | Изменение |
|---|---|---|
| keypad-qt_svn815.tar.gz | 3251 | 2010/01/31 19:20 |
| Файл | Размер | Изменение |
|---|---|---|
| can-test_svn733.tar.gz | 3665 | 2010/01/31 19:20 |
Пример настройки для pppd демона (можно собрать в Buildroot) используемого для соединения по модему, в том числе GSM-модему.
/etc/ppp/etc/ppp/options: устройство последовательного порта, скорость и пр.ln -s /etc/ppp/resolv.conf /etc/resolv.conf
/etc/ppp/start, например /etc/ppp/start mts
| Файл | Размер | Изменение |
|---|---|---|
| ppp_config_svn923.tar.gz | 964 | 2010/03/11 13:01 |
1. Если вы используете Buildroot, то используйте компилятор и библиотеки собранные им.
Cross-компиляторы собранные Buildroot 2009.08:
| Файл | Размер | Изменение |
|---|---|---|
| gcc-4.3.4_armv4_arm920t_eabi.tar.gz | 57387260 | 2010/07/13 20:42 |
Для установки распакуйте в /, нужны права на запись в директорию /usr/local/arm.
2. http://arm.cirrus.com/files/tools/arm-linux-gcc-4.1.1-920t.tar.bz2
Для установки распакуйте в /usr/local/arm, нужны права на запись в эту директорию.
Этим компилятором можно собрать Crater.
1. Если вы используете Buildroot, то используйте компилятор и библиотеки собранные им.
Cross-компиляторы собранные Buildroot 2009.08:
| Файл | Размер | Изменение |
|---|---|---|
| gcc-4.3.4_armv5te_xscale_eabi.tar.gz | 51370840 | 2010/07/14 20:52 |
Для установки распакуйте в /, нужны права на запись в директорию /usr/local/arm.
2. Cross-компиляторы собранные Pengutronix OSELAS®.Toolchain( ) с конфигурацией по умолчанию (библиотека glibc).
| Файл | Размер | Изменение |
|---|---|---|
| arm-iwmmx-linux-gnueabi_oselas.toolchain-1.1.1.tar.gz | 73272430 | 2010/01/31 19:21 |
| arm-xscale-linux-gnu_oselas.toolchain-1.1.1.tar.gz | 69915673 | 2010/01/31 19:21 |
| md5.sum | 173 | 2010/01/31 19:21 |
Для установки распакуйте в /, нужны права на запись в директорию /opt.