Установка на sheevaplug

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

Загрузка с USB flash

Подготовка

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

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