wiki:usomiq-ubuntu
no way to compare when less than two revisions
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версияПоследняя версия | |||
— | wiki:usomiq-ubuntu [2018/06/07 11:04] – [GCC Toolchain] maxx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== uSomIQ Ubuntu и Debian ====== | ||
+ | На этой странице описано как установить Ubuntu и Debian на модуль uSomIQ. | ||
+ | За основу взяты инструкции от Robert Nelson, доступные здесь: | ||
+ | [[http:// | ||
+ | |||
+ | ===== Основные ссылки ===== | ||
+ | |||
+ | * ARM Cross Compiler | ||
+ | * Linaro: [https:// | ||
+ | * Bootloader | ||
+ | * Das U-Boot -- the Universal Boot Loader [http:// | ||
+ | * Source -- [http:// | ||
+ | * Linux Kernel | ||
+ | * Linus' | ||
+ | * Linux omap tree: [http:// | ||
+ | * Arago Project TI Staging tree: [http:// | ||
+ | * ARM based rootfs | ||
+ | * Debian Squeeze: [http:// | ||
+ | |||
+ | ===== GCC Toolchain ===== | ||
+ | |||
+ | < | ||
+ | wget -c https:// | ||
+ | tar xJf gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux.tar.xz | ||
+ | export CC=`pwd`/ | ||
+ | </ | ||
+ | Проверьте работает ли компилятор: | ||
+ | < | ||
+ | ${CC}gcc --version | ||
+ | </ | ||
+ | Должны появится сообщения, | ||
+ | < | ||
+ | arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.8-2013.07-1 - Linaro GCC 2013.07) 4.8.2 20130624 (prerelease) | ||
+ | Copyright (C) 2013 Free Software Foundation, Inc. | ||
+ | This is free software; see the source for copying conditions. | ||
+ | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
+ | </ | ||
+ | ===== Bootloader ===== | ||
+ | |||
+ | Das U-Boot -- the Universal Boot Loader [http:// | ||
+ | |||
+ | ==== Загрузить U-Boot ==== | ||
+ | |||
+ | Загрузите U-Boot с помощью git: | ||
+ | < | ||
+ | git clone git:// | ||
+ | cd u-boot/ | ||
+ | git checkout v2013.07 -b tmp | ||
+ | </ | ||
+ | |||
+ | ==== U-Boot патчи ==== | ||
+ | Добавьте поддержку uSomIQ в u-boot | ||
+ | < | ||
+ | wget http:// | ||
+ | patch -p1 < u-boot-2013.07-usomiq.patch | ||
+ | </ | ||
+ | |||
+ | ==== Компиляция U-Boot ==== | ||
+ | |||
+ | < | ||
+ | make ARCH=arm CROSS_COMPILE=${CC} distclean | ||
+ | make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_config | ||
+ | make ARCH=arm CROSS_COMPILE=${CC} | ||
+ | </ | ||
+ | |||
+ | ===== Ядро Linux ===== | ||
+ | |||
+ | < | ||
+ | git clone git:// | ||
+ | cd linux-dev/ | ||
+ | git checkout origin/ | ||
+ | </ | ||
+ | |||
+ | Добавьте поддержку uSomIQ в ядре | ||
+ | < | ||
+ | wget http:// | ||
+ | patch -p1 < add-usomiq-rcn-v3.2.patch | ||
+ | </ | ||
+ | |||
+ | Сборка ядра: | ||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | Файл ядра zImage и модули будут в директории " | ||
+ | |||
+ | ===== Пресобранные бинарники ===== | ||
+ | Пресобранные бинарники находятся здесь, но лучше собрать самые актуальные вручную | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ====== Файловая система ====== | ||
+ | ===== Debian 7.0.0 (Wheezy) Root File System ===== | ||
+ | |||
+ | Это файловая система достаточно компактная (~75M), чтобы уместится на NAND флеш модуля. Но по-прежнему, | ||
+ | |||
+ | Идентификация пользователя: | ||
+ | login: root\\ | ||
+ | Password: root\\ | ||
+ | |||
+ | < | ||
+ | wget -c https:// | ||
+ | </ | ||
+ | Распакуйте архив: | ||
+ | < | ||
+ | tar xJf debian-7.8-minimal-armhf-2015-01-20.tar.xz | ||
+ | </ | ||
+ | Теперь у вас есть директория с tar-архивом, | ||
+ | ===== Ubuntu 14.04 (Trusty) ===== | ||
+ | |||
+ | Default User: ubuntu | ||
+ | Password: temppwd | ||
+ | |||
+ | < | ||
+ | wget -c https:// | ||
+ | </ | ||
+ | Распакуйте архив: | ||
+ | < | ||
+ | tar xJf ubuntu-14.04.1-minimal-armhf-2015-01-20.tar.xz | ||
+ | </ | ||
+ | Теперь у вас есть директория с tar-архивом, | ||
+ | |||
+ | ===== Файловая система для NAND ===== | ||
+ | Размер файловой системы около 64МБ, подходит для установки в NAND флеш | ||
+ | |||
+ | **Debian 7 (small flash)** | ||
+ | ^ User ^ Password ^ | ||
+ | | debian | temppwd | | ||
+ | | root | root | | ||
+ | |||
+ | Скачайте архив: | ||
+ | < | ||
+ | wget -c https:// | ||
+ | </ | ||
+ | |||
+ | Распакуйте архив: | ||
+ | < | ||
+ | tar xJf debian-7.8-bare-armhf-2015-01-20.tar.xz | ||
+ | </ | ||
+ | Теперь у вас есть директория с tar-архивом, | ||
+ | ====== Установка Ubuntu/ | ||
+ | ===== На SD карту ===== | ||
+ | |||
+ | ==== Подготовка карты microSD ==== | ||
+ | |||
+ | Для этих инструкций предположим, | ||
+ | < | ||
+ | export DISK=/ | ||
+ | </ | ||
+ | |||
+ | Очистим microSD: | ||
+ | < | ||
+ | sudo dd if=/ | ||
+ | sudo parted --script ${DISK} mklabel msdos | ||
+ | </ | ||
+ | |||
+ | Установка загрузочного раздела: | ||
+ | < | ||
+ | sudo fdisk ${DISK} << __EOF__ | ||
+ | n | ||
+ | p | ||
+ | 1 | ||
+ | |||
+ | +64M | ||
+ | t | ||
+ | e | ||
+ | p | ||
+ | w | ||
+ | __EOF__ | ||
+ | </ | ||
+ | |||
+ | Установим флаг " | ||
+ | < | ||
+ | sudo parted --script ${DISK} set 1 boot on | ||
+ | </ | ||
+ | |||
+ | Форматируем загрузочный раздел как vfat: | ||
+ | < | ||
+ | sudo mkfs.vfat -F 16 ${DISK}1 -n boot | ||
+ | </ | ||
+ | |||
+ | Создадим раздел для файловой системы: | ||
+ | < | ||
+ | sudo fdisk ${DISK} << __EOF__ | ||
+ | n | ||
+ | p | ||
+ | 2 | ||
+ | |||
+ | |||
+ | w | ||
+ | __EOF__ | ||
+ | </ | ||
+ | |||
+ | Отформатируем rootfs как ext4: | ||
+ | < | ||
+ | sudo mkfs.ext4 ${DISK}2 -L rootfs | ||
+ | </ | ||
+ | |||
+ | ==== Монтирование карты ==== | ||
+ | |||
+ | **На большинстве операционных систем монтирование происходит автоматически** | ||
+ | |||
+ | < | ||
+ | sudo mkdir -p / | ||
+ | sudo mkdir -p / | ||
+ | |||
+ | sudo mount ${DISK}1 / | ||
+ | sudo mount ${DISK}2 / | ||
+ | </ | ||
+ | |||
+ | ==== Запись загрузчика ==== | ||
+ | |||
+ | Скопируйте MLO/ | ||
+ | < | ||
+ | sudo cp -v ./ | ||
+ | sudo cp -v ./ | ||
+ | </ | ||
+ | |||
+ | ==== uEnv.txt based bootscript ==== | ||
+ | |||
+ | Requires: u-boot v2013.04 | ||
+ | |||
+ | Create " | ||
+ | < | ||
+ | #optargs= | ||
+ | mmcroot=/ | ||
+ | mmcrootfstype=ext4 rootwait fixrtc | ||
+ | |||
+ | #To boot old v3.2.x based kernel enable: (BeagleBone/ | ||
+ | uenvcmd=run loaduimage; run mmc_classic_boot | ||
+ | |||
+ | #To boot new v3.8.x based device tree: | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Copy uEnv.txt to the boot partition: | ||
+ | < | ||
+ | sudo cp -v ./uEnv.txt / | ||
+ | </ | ||
+ | |||
+ | ==== Запись ядра и файловой системы ==== | ||
+ | После исполнения скрипта build_kernel.sh появится следующее сообщение: | ||
+ | < | ||
+ | ----------------------------- | ||
+ | Script Complete | ||
+ | eewiki.net: [user@localhost: | ||
+ | ----------------------------- | ||
+ | </ | ||
+ | |||
+ | Скопируйте в командную строку сообщение " | ||
+ | < | ||
+ | export kernel_version=3.X.Y-Z | ||
+ | </ | ||
+ | |||
+ | Скопируйте файл ядра zImage на второй раздел в директорию /boot: | ||
+ | < | ||
+ | sudo cp -v ./ | ||
+ | </ | ||
+ | |||
+ | Запишите файловую систему: | ||
+ | < | ||
+ | sudo tar xfvp ./ | ||
+ | </ | ||
+ | |||
+ | Запишите | ||
+ | < | ||
+ | sudo tar xfv ./ | ||
+ | </ | ||
+ | |||
+ | Исправьте /etc/fstab: | ||
+ | < | ||
+ | sudo nano / | ||
+ | </ | ||
+ | добавьте строки: | ||
+ | < | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | === Включение сети === | ||
+ | |||
+ | < | ||
+ | sudo nano / | ||
+ | </ | ||
+ | добавьте строки: | ||
+ | < | ||
+ | |||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | auto eth0 | ||
+ | iface eth0 inet dhcp | ||
+ | </ | ||
+ | |||
+ | === Включение логина по консоли === | ||
+ | |||
+ | **Debian:** | ||
+ | < | ||
+ | sudo nano / | ||
+ | </ | ||
+ | добавьте в конец файла: | ||
+ | < | ||
+ | T0: | ||
+ | </ | ||
+ | |||
+ | **Ubuntu:** | ||
+ | < | ||
+ | sudo nano / | ||
+ | </ | ||
+ | добавьте в конец файла: | ||
+ | < | ||
+ | start on stopped rc RUNLEVEL=[2345] | ||
+ | stop on runlevel [!2345] | ||
+ | |||
+ | respawn | ||
+ | exec /sbin/getty 115200 ttyO0 | ||
+ | </ | ||
+ | |||
+ | Правильно извлеките microSD карту: | ||
+ | < | ||
+ | sync | ||
+ | sudo umount /media/boot | ||
+ | sudo umount / | ||
+ | </ | ||
+ | |||
+ | ===== Установка Debian на NAND ===== | ||
+ | |||
+ | Здесь описано как установить Debian на раздел с файловой системой UBIFS. | ||
+ | |||
+ | 1) установите Ubuntu или Debian на SD карту, как описано в предыдущем разделе | ||
+ | |||
+ | 2) Скачайте файловую систему Debian | ||
+ | < | ||
+ | wget https:// | ||
+ | </ | ||
+ | Распакуйте этот архив и получите директорию с архивом файловой системы и файл с паролем для пользователя. Файл с архивом файловой системы поместите на карту. | ||
+ | |||
+ | 3) загрузите плату до u-boot и выполните следующие команды: | ||
+ | |||
+ | Запись MLO | ||
+ | < | ||
+ | nand erase.chip | ||
+ | mmc rescan | ||
+ | load mmc 0 ${loadaddr} MLO | ||
+ | nand write ${loadaddr} SPL | ||
+ | nand write ${loadaddr} SPL.backup1 | ||
+ | </ | ||
+ | |||
+ | Запись файла u-boot.img | ||
+ | < | ||
+ | load mmc 0 ${loadaddr} u-boot.img | ||
+ | nand write ${loadaddr} u-boot | ||
+ | </ | ||
+ | |||
+ | Запись файла ядра | ||
+ | < | ||
+ | run loaduimage | ||
+ | nand write ${loadaddr} kernel | ||
+ | </ | ||
+ | |||
+ | 4) Далее загрузите ОС | ||
+ | |||
+ | 5) Подготовка раздела UBIFS | ||
+ | |||
+ | Подробная информация доступна здесь: [[http:// | ||
+ | |||
+ | Обратите внимание на параметр " | ||
+ | < | ||
+ | ubiformat /dev/mtd7 -s 2048 -O 2048 | ||
+ | ubiattach / | ||
+ | ubimkvol /dev/ubi0 -s 235MiB -N rootfs | ||
+ | mount -t ubifs ubi0:rootfs /mnt | ||
+ | </ | ||
+ | |||
+ | 6) Запись файловой системы | ||
+ | < | ||
+ | cd /mnt | ||
+ | tar xf <path to image>/ | ||
+ | sync | ||
+ | </ | ||
+ | |||
+ | 7) Разрешите доступ через консоль | ||
+ | |||
+ | Отредактируйте / | ||
+ | |||
+ | 8) Включение сети | ||
+ | |||
+ | Отредактируйте / | ||
+ | ====== FAQ ====== | ||
+ | |||
+ | ===== CircuitCo LCD3 Backlight ===== | ||
+ | |||
+ | Turn on Backlight: | ||
+ | < | ||
+ | i2cset -f -y 1 0x24 0x07 0x09 | ||
+ | i2cset -f -y 1 0x24 0x08 0x60 | ||
+ | </ | ||
+ | |||
+ | ===== CircuitCo LCD3/LCD7 TouchScreen ===== | ||
+ | |||
+ | Add to / | ||
+ | < | ||
+ | fbcon | ||
+ | ti_tscadc | ||
+ | </ |
wiki/usomiq-ubuntu.txt · Последнее изменение: 2020/04/16 19:07 — maxx