Установка на sheevaplug: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показаны 22 промежуточные версии 5 участников)
Строка 1: Строка 1:
{{Stub}}
{{Stub}}
== Команды для U-boot ==
[[Категория:ARM]]
[[Категория:Hardware]]
[[Категория:HCL]]
[[Категория:Мини-компьютеры]]
 
== Получение образа ==
* скачать репозиторий http://git.altlinux.org/people/silicium/packages/mkimage-profile-armrootfs.git
* прочитать [http://git.altlinux.org/people/silicium/packages/mkimage-profile-armrootfs.git?p=mkimage-profile-armrootfs.git;a=blob;f=README;h=2fa2fb3fa5eed235ae36eafda849f29f3404b9e5;hb=911e46b2df34430623008d15adc4d0423ee841e1 README] и сделать по нему. Для работы mkimage нужен правильно настроенный hasher под arm, подробнее о нем можно прочитать здесь [[Ports/arm/BuildHowto]]
* в .work/.out/armroot.tar появится образ системы
 
== Загрузка с USB flash ==
=== Подготовка ===
'''ОСТОРОЖНО все данные на флешке будут уничтожены!'''
* берем любую флешку
* создаем на ней fdiskом 1 раздел типа 83 (linux). Можно создать несколько и использовать по своему усмотрению, но дальше мы будем работать только с этим первым разделом
* форматируем её(вместо ''sdd' название устройства на вашей машине)
mkfs -t ext2 ''/dev/sdd1''
Можно в принципе и ext3 но не ext4
* монтируем
* заходим туда и распаковываем tar архив
 
=== Загрузка ===
* Вставляем флешку в sheevaplug
* Подключаем USB консоль
* включаем
* запускаем minicom. устройство скорее всего /dev/ttyUSB0
* Видим примерно такое
U-Boot 1.1.4 (Mar 19 2009 - 16:06:59) Marvell version: 3.4.16
U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE80
Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz
* Нажимаем любую клавишку чтобы не началась загрузка по умолчанию
* Появляется консоль
MARVEL>>>
* Для загрузки пишем там:
  usb start
  usb start
  ext2load usb 0:1 800000 /boot/uImage-2.6.34-sheeva-alt1
  ext2load usb 0:1 800000 /boot/uImage-2.6.34-sheeva-alt1
  set bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10 rootwait=1 ro
  set bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10 rootwait=1 ro
  bootm 800000
  bootm 800000
После каждой из этих команд должны быть ответы. После первой должно написать что 1 storge device found. После второй появиться много точек. После третий ничего. После четвертой начинает грузиться ядро. hint: по флешке можно полазить ext2ls usb 0:1 <путь>
* Должна начаться загрузка ядра и системы
* root там без пароля


== Установка системы ==  
== Установка системы ==  
=== Забекапить! ===
=== Забекапить! ===
подключаем имеющиеся фс, скорее всего
подключаем имеющиеся фс, скорее всего
mkdir /mnt/src
  mount /dev/mtdblock2 /mnt/src
  mount /dev/mtdblock2 /mnt/src
делаем бекап
делаем бекап
  cd /mnt/src/
  cd /mnt/src/
  tar czf /origbackup.tar.gz .
mkdir /backup/
  tar czf /backup/orig.tar.gz .


=== Создаем раздел ubifs ===
=== Создаем раздел ubifs ===
Строка 23: Строка 63:
  mtd1: 00400000 00020000 "uImage"
  mtd1: 00400000 00020000 "uImage"
  mtd2: 1fb00000 00020000 "root"
  mtd2: 1fb00000 00020000 "root"
Нам нужен mtd2
Нам нужен mtd2.
 
Cобственно процесс создания раздела
Cобственно процесс создания раздела
  ubiformat /dev/mtd2
  ubiformat /dev/mtd2
Строка 29: Строка 70:
  ubimkvol /dev/ubi0 -m -N root
  ubimkvol /dev/ubi0 -m -N root
В принципе можно сделать несколько разделов по вкусу.
В принципе можно сделать несколько разделов по вкусу.
Помните что своп на mtd не самая лучшая идея
Помните что своп на mtd не самая лучшая идея


Строка 39: Строка 81:
  mount -t ubifs /dev/ubi0_0 /mnt/dst
  mount -t ubifs /dev/ubi0_0 /mnt/dst
Заливаем систему
Заливаем систему
  rsync -avP /mnt/src /mnt/dst
  rsync -avP --exclude backup /mnt/src /mnt/dst
 
=== Правим конфиги ===
=== Правим конфиги ===
Правим /mnt/dst/etc/fstab
Правим /mnt/dst/etc/fstab
  /dev/ubi0_0 / ubifs defaults 0 0
  /dev/ubi0_0 / ubifs defaults 0 0
=== Ставим ядро ===
=== Ставим ядро ===
Поскольку ядро ставится в специальную область, для этого нужно сделать дополнительные действия
flash_eraseall /dev/mtd1
nandwrite  -map /dev/mtd1 /boot/uImage-2.6.34-sheeva-alt1
erase надо делать всегда, потому что это nand и запись переводит только из 1 в 0, но не наоборот. И если там что то было
то образ будет поврежден.


=== Правим опции загрузки ===
=== Правим опции загрузки ===
Строка 51: Строка 99:
Ещё раз перезагружаемся и наблюдаем за загрузкой.  
Ещё раз перезагружаемся и наблюдаем за загрузкой.  
  reset
  reset
== Конфигурирование ==
* поправить /etc/net
* задать hostname в /etc/sysconfig/network
* поправить /etc/resolv.conf
* настроить апт на репозитарий
rpm file:/sisyphus arm classic
Здесь /sisyphus это подмонтированая по NFS копия сизифа. Можно использовать классический путь с FTP
== Установка на openrd client ==
В приципе тоже самое но надо сделать
setenv mainlineKernel yes
setenv arcNumber 2361
saveenv
reset
'''перезагружаться обязательно'''

Текущая версия от 21:53, 10 августа 2019

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Получение образа

Загрузка с USB flash

Подготовка

ОСТОРОЖНО все данные на флешке будут уничтожены!

  • берем любую флешку
  • создаем на ней fdiskом 1 раздел типа 83 (linux). Можно создать несколько и использовать по своему усмотрению, но дальше мы будем работать только с этим первым разделом
  • форматируем её(вместо sdd' название устройства на вашей машине)
mkfs -t ext2 /dev/sdd1

Можно в принципе и ext3 но не ext4

  • монтируем
  • заходим туда и распаковываем tar архив

Загрузка

  • Вставляем флешку в sheevaplug
  • Подключаем USB консоль
  • включаем
  • запускаем minicom. устройство скорее всего /dev/ttyUSB0
  • Видим примерно такое
U-Boot 1.1.4 (Mar 19 2009 - 16:06:59) Marvell version: 3.4.16
U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE80 
Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz 
  • Нажимаем любую клавишку чтобы не началась загрузка по умолчанию
  • Появляется консоль
MARVEL>>>
  • Для загрузки пишем там:
usb start
ext2load usb 0:1 800000 /boot/uImage-2.6.34-sheeva-alt1
set bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10 rootwait=1 ro
bootm 800000

После каждой из этих команд должны быть ответы. После первой должно написать что 1 storge device found. После второй появиться много точек. После третий ничего. После четвертой начинает грузиться ядро. hint: по флешке можно полазить ext2ls usb 0:1 <путь>

  • Должна начаться загрузка ядра и системы
  • root там без пароля

Установка системы

Забекапить!

подключаем имеющиеся фс, скорее всего

mkdir /mnt/src
mount /dev/mtdblock2 /mnt/src

делаем бекап

cd /mnt/src/
mkdir /backup/
tar czf /backup/orig.tar.gz .

Создаем раздел ubifs

отмонтируем

umount /mnt/src

Проверяем расположение разделов

cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00100000 00020000 "u-boot"
mtd1: 00400000 00020000 "uImage"
mtd2: 1fb00000 00020000 "root"

Нам нужен mtd2.

Cобственно процесс создания раздела

ubiformat /dev/mtd2
ubiattach /dev/ubi_ctrl -m 2
ubimkvol /dev/ubi0 -m -N root

В принципе можно сделать несколько разделов по вкусу.

Помните что своп на mtd не самая лучшая идея

Заливаем файлы

Для того чтобы не залить содержимое proc dev и прочего делаем

mount --bind / /mnt/src

Создаем и подключаем ubifs

mkfs.ubifs /dev/ubi0_0
mkdir /mnt/dst
mount -t ubifs /dev/ubi0_0 /mnt/dst

Заливаем систему

rsync -avP --exclude backup /mnt/src /mnt/dst

Правим конфиги

Правим /mnt/dst/etc/fstab

/dev/ubi0_0 / ubifs defaults 0 0

Ставим ядро

Поскольку ядро ставится в специальную область, для этого нужно сделать дополнительные действия

flash_eraseall /dev/mtd1
nandwrite  -map /dev/mtd1 /boot/uImage-2.6.34-sheeva-alt1

erase надо делать всегда, потому что это nand и запись переводит только из 1 в 0, но не наоборот. И если там что то было то образ будет поврежден.

Правим опции загрузки

Перезагружаемся. Заходим в консоль загрузчика

set  bootargs console=ttyS0,115200 rootfstype=ubifs ubi.mtd=2 root=ubi:root fastboot
save

Ещё раз перезагружаемся и наблюдаем за загрузкой.

reset

Конфигурирование

  • поправить /etc/net
  • задать hostname в /etc/sysconfig/network
  • поправить /etc/resolv.conf
  • настроить апт на репозитарий
rpm file:/sisyphus arm classic

Здесь /sisyphus это подмонтированая по NFS копия сизифа. Можно использовать классический путь с FTP

Установка на openrd client

В приципе тоже самое но надо сделать

setenv mainlineKernel yes
setenv arcNumber 2361
saveenv
reset

перезагружаться обязательно