Инструменты пользователя

Инструменты сайта


wiki:usomiq-ubuntu

uSomIQ Ubuntu и Debian

На этой странице описано как установить Ubuntu и Debian на модуль uSomIQ.

За основу взяты инструкции от Robert Nelson, доступные здесь:
http://www.eewiki.net/display/linuxonarm/BeagleBone

Основные ссылки

GCC Toolchain

wget -c https://launchpad.net/linaro-toolchain-binaries/trunk/2013.07/+download/gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux.tar.xz
tar xJf gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux.tar.xz
export CC=`pwd`/gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux/bin/arm-linux-gnueabihf-

Проверьте работает ли компилятор:

${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.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Bootloader

Das U-Boot – the Universal Boot Loader [http://www.denx.de/wiki/U-Boot]

Загрузить U-Boot

Загрузите U-Boot с помощью git:

git clone git://git.denx.de/u-boot.git
cd u-boot/
git checkout v2013.07 -b tmp

U-Boot патчи

Добавьте поддержку uSomIQ в u-boot

wget http://www.mentorel.com/downloads/usomiq/patches/u-boot-2013.07-usomiq.patch
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://github.com/RobertCNelson/bb-kernel.git
cd linux-dev/
git checkout origin/am33x-v3.2 -b tmp

Добавьте поддержку uSomIQ в ядре

wget http://www.mentorel.ru/downloads/usomiq/patches/add-usomiq-rcn-v3.2.patch
patch -p1 < add-usomiq-rcn-v3.2.patch

Сборка ядра:

./build_kernel.sh

Файл ядра zImage и модули будут в директории «deploy».

Пресобранные бинарники

Пресобранные бинарники находятся здесь, но лучше собрать самые актуальные вручную

http://www.mentorel.com/downloads/usomiq/boot/beaglebone-compatible/

Файловая система

Debian 7.0.0 (Wheezy) Root File System

Это файловая система достаточно компактная (~75M), чтобы уместится на NAND флеш модуля. Но по-прежнему, это Debian с утилитой apt-get и соответствующим репозиторием в интернет.

Идентификация пользователя:
login: root
Password: root

wget -c https://rcn-ee.net/rootfs/eewiki/minfs/debian-7.8-minimal-armhf-2015-01-20.tar.xz

Распакуйте архив:

tar xJf debian-7.8-minimal-armhf-2015-01-20.tar.xz

Теперь у вас есть директория с tar-архивом, где находится файловая система, которую надо распаковать на носитель (SD карта или NAND)

Ubuntu 14.04 (Trusty)

Default User: ubuntu Password: temppwd

wget -c https://rcn-ee.net/rootfs/eewiki/minfs/ubuntu-14.04.1-minimal-armhf-2015-01-20.tar.xz

Распакуйте архив:

tar xJf ubuntu-14.04.1-minimal-armhf-2015-01-20.tar.xz

Теперь у вас есть директория с tar-архивом, где находится файловая система, которую надо распаковать на носитель (SD карта)

Файловая система для NAND

Размер файловой системы около 64МБ, подходит для установки в NAND флеш

Debian 7 (small flash)

User Password
debian temppwd
root root

Скачайте архив:

wget -c https://rcn-ee.net/rootfs/eewiki/barefs/debian-7.8-bare-armhf-2015-01-20.tar.xz

Распакуйте архив:

tar xJf debian-7.8-bare-armhf-2015-01-20.tar.xz

Теперь у вас есть директория с tar-архивом, где находится файловая система, которую надо распаковать на носитель (SD карта или NAND)

Установка Ubuntu/Debian

На SD карту

Подготовка карты microSD

Для этих инструкций предположим, что SD карта видна в системе как /dev/sdc. Узнать имя устройства можно командой «sudo fdisk \-l»

export DISK=/dev/mmcblk0

Очистим microSD:

sudo dd if=/dev/zero of=${DISK} bs=1024 count=1024
sudo parted --script ${DISK} mklabel msdos

Установка загрузочного раздела:

sudo fdisk ${DISK} << __EOF__
n
p
1

+64M
t
e
p
w
__EOF__

Установим флаг «BOOT»

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 /media/boot/
sudo mkdir -p /media/rootfs/

sudo mount ${DISK}1 /media/boot/
sudo mount ${DISK}2 /media/rootfs/

Запись загрузчика

Скопируйте MLO/u-boot.img на загрузочный раздел

sudo cp -v ./u-boot/MLO /media/boot/
sudo cp -v ./u-boot/u-boot.img /media/boot/

uEnv.txt based bootscript

Requires: u-boot v2013.04

Create «uEnv.txt» boot script: (nano uEnv.txt)

#optargs=
mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc
 
#To boot old v3.2.x based kernel enable: (BeagleBone/uSomIQ only)
uenvcmd=run loaduimage; run mmc_classic_boot
   
#To boot new v3.8.x based device tree:
#uenvcmd=run loaduimage; run loadfdt; run mmcargs; bootz ${loadaddr} - ${fdtaddr}

Copy uEnv.txt to the boot partition:

sudo cp -v ./uEnv.txt /media/boot/

Запись ядра и файловой системы

После исполнения скрипта build_kernel.sh появится следующее сообщение:

-----------------------------
Script Complete
eewiki.net: [user@localhost:~$ export kernel_version=3.X.Y-Z]
-----------------------------

Скопируйте в командную строку сообщение «export kernel_version=3.X.Y-Z» «как есть» и выполните:

export kernel_version=3.X.Y-Z

Скопируйте файл ядра zImage на второй раздел в директорию /boot:

sudo cp -v ./linux-dev/deploy/${kernel_version}.zImage /media/rootfs/boot/zImage

Запишите файловую систему:

sudo tar xfvp ./*-*-minimal-arm*-*/arm*-rootfs-*.tar -C /media/rootfs/

Запишите модули ядра:

sudo tar xfv ./linux-dev/deploy/${kernel_version}-modules.tar.gz -C /media/rootfs/

Исправьте /etc/fstab:

sudo nano /media/rootfs/etc/fstab

добавьте строки:

/dev/mmcblk0p2   /           auto   errors=remount-ro   0   1
/dev/mmcblk0p1   /boot/uboot auto   defaults            0   0

Включение сети

sudo nano /media/rootfs/etc/network/interfaces

добавьте строки:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Включение логина по консоли

Debian:

sudo nano /media/rootfs/etc/inittab

добавьте в конец файла:

T0:23:respawn:/sbin/getty -L ttyO0 115200 vt102

Ubuntu:

sudo nano /media/rootfs/etc/init/serial.conf

добавьте в конец файла:

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty 115200 ttyO0

Правильно извлеките microSD карту:

sync
sudo umount /media/boot
sudo umount /media/rootfs

Установка Debian на NAND

Здесь описано как установить Debian на раздел с файловой системой UBIFS.

1) установите Ubuntu или Debian на SD карту, как описано в предыдущем разделе

2) Скачайте файловую систему Debian

wget https://rcn-ee.net/deb/barefs/wheezy/debian-7.7-bare-armhf-2014-11-10.tar.xz

Распакуйте этот архив и получите директорию с архивом файловой системы и файл с паролем для пользователя. Файл с архивом файловой системы поместите на карту.

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://processors.wiki.ti.com/index.php/UBIFS_Support

Обратите внимание на параметр «235MiB» - он зависит от фактического размера раздела и для NAND 512МБ будет «450MiB»

ubiformat /dev/mtd7 -s 2048 -O 2048
ubiattach /dev/ubi_ctrl -m 7 -O 2048
ubimkvol /dev/ubi0 -s 235MiB -N rootfs
mount -t ubifs ubi0:rootfs /mnt

6) Запись файловой системы

cd /mnt
tar xf <path to image>/debian-7.7-bare-armhf-2014-11-10.tar
sync

7) Разрешите доступ через консоль

Отредактируйте /mnt/etc/inittab как описано ранее.

8) Включение сети

Отредактируйте /mnt/etc/network/interfaces как описано ранее

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 /etc/modules:

fbcon
ti_tscadc
wiki/usomiq-ubuntu.txt · Последние изменения: 2018/06/07 11:04 — maxx