Uboot installation ru: различия между версиями

Материал из Toshiba AC100 wiki
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 134: Строка 134:
cp /tmp/upacked/initrd*.gz /tmp/p1/boot/initrd.gz
cp /tmp/upacked/initrd*.gz /tmp/p1/boot/initrd.gz
</pre>
</pre>
2) Отмонтируйте все, что было смотировано
2) Отмонтируйте все, что было смотировано<br />
3) Выключите AC100
3) Выключите AC100<br />
3) Включите AC100.  Чтобы запустить recovery, нужно выбрать '''Android Recovery''' в загрузочном меню.
3) Включите AC100.  Чтобы запустить recovery, нужно выбрать '''Android Recovery''' в загрузочном меню.<br />


Если установленный Android не запускается в через меню u-boot (у меня так было), делаем следующее:
'''Важно: копирование нужно делать именно командами'''
 
На AC100: 1) Запуск Linux SOS через меню
<pre>
mkdir /tmp/p1
mkdir /tmp/p2
mount /dev/mmcblk0p1 /tmp/p1
cat /tmp/p1/boot/boot.cmd
</pre>
Интересна строка
''setenv bootmenu_1 "Android=ext2load mmc 0:2 0x1000000 /boot/zImage; ext2load mmc 0:2 0x2200000 /boot/initrd; bootz 0x1000000 0x2200000;"''
 
тут видно, что ядро и рамдиск андроида ожидаются на втором диске в папке boot. Смотрим дальше
<pre>
mount /dev/mmcblk0p1 /tmp/p1
ls /tmp/p2/boot
</pre>
Тут нужные файлы, но названия могут не совпадать с тем, что прописано в u-boot. У меня это выглядит так:
<pre>initrd-boot-cm-11-0.gz zImage-boot-cm-11-0
</pre>
Делаем симлинки, перезапускаемся и всё работает.
<pre>
<pre>
ln -s zImage-boot-cm-11-0 zImage
cp /tmp/upacked/zImage* /tmp/p1/boot/zImage
ln -s initrd-boot-cm-11-0.gz initrd
cp /tmp/upacked/initrd*.gz /tmp/p1/boot/initrd.gz
umount -a
<Ctrl-Alt-Del>
</pre>
</pre>
иначе имена файлов не будут совпадать с тем, что прописано в boot скрипте и рекавери грузиться не будет.


==Установка Ubuntu==  
==Установка Ubuntu==  

Версия от 09:47, 3 февраля 2015

Предупреждения

Ядро 3.1 из ubuntu не очень хорошо работает с u-boot'ом - проблемы с usb. Инструкция может содержать ошибки, поэтому желательно понимать, что Вы делаете.


Введение

Основная цель - получить SOS партицию (в 64 МБ) c загрузочным скриптом и несколькими вспопогательными ядрами/initrd. В загрузочном скрипте будет меню.

Шаги установки: 1) Запуск SOS uboot linux На этом шаге Вы запустите SOS linux из памяти. На AC100 модификаций не произойдет.

2) Установка u-boot На этом шаге Вы запустите установку u-boot и конвертацию текущей версии linux/android для работы с u-boot. В большинстве случаев система остается работоспособной после смены загрузчика.

3) Переразбивка Нужна по нескольким причинам:

  • упрощение процесса загрузки
  • чтобы влезла последняя версия android
  • двойная загрузка (android/ubuntu)

4) Установка android and Установка ubuntu


Подготовка

1) Скачайте sos-uboot sos-uboot-r5-2013-11-10.bin 2) Скачайте helpers ac100-u-boot-helpers.zip 3) Скачайте u-boot-tools u-boot-tools_2013.01.01-4_armhf.deb 4) Скачайте Ubuntu:

  • 13.10 инсталлятор и пакеты

boot_ubuntu.zip saucy-preinstalled-desktop-armhf+ac100.tar.gz

  • ДЛЯ РАЗРАБОТЧИКОВ* boot_ubuntu.zip содержит kernel и initrd из saucy-preinstalled-desktop-armhf+ac100.bootimg и загрузочный скрипт.
  • 14.04 инсталлятор и пакеты от 05-Feb-2014

boot_ubuntu-trusty-desktop-armhf+ac100-2014-02-05.zip trusty-preinstalled-desktop-armhf+ac100.tar.gz


Запуск SOS uboot linux

На PC: 1) Запуск AC100 в recovery режиме ( ctrl + esc + power ) a) используя nvflash

sudo nvflash --bl sos-uboot-r5-2013-11-10.bin --go

a) используя tegrapart

tegrarcm --bct=your.bct --bootloader=sos-uboot-r5-2013-11-10.bin --loadaddr=0x108000

AC100 автоматически загрузится и на экране появится консоль.


Установка u-boot

На этом шаге Вы замените загрузчик AC100 на u-boot. Установочный скрипт сохранит ядро/initrd из 6-й партиции (LNX).

На AC100: 1) Запустить SOS uboot linux 2) Зупустить скрипт и следовать инструкциям

./switch-to-uboot


Переразбивка

На этом шаге Вы разобъете внутренний накопитель для одновременного использования android и ubuntu.

На PC: 1) Отформатировать первую партицию на SD в fat 2) Распаковать ac100-u-boot-helpers.zip на SD карту 3) Безопасно извлечь SD карту из PC НЕ ВСТАВЛЯЙТЕ SD КАРТУ В AC100 ДО ЭТОГО ШАГА 4) Запуск SOS uboot linux

На AC100: 1) Вставьте SD карту 2) Смонитруйте SD карту

mkdir /mnt/sd
mount /dev/mmcblk1p1 /mnt/sd

3) Запустите переразбивку

/mnt/sd/apply_partitions_config.sh /mnt/sd/ac100_partitions.cfg /dev/mmcblk0


Setup boot configuration

На этом шаге Вы получите загрузочное меня дл sos/android/ubuntu, но работать будет только опция sos.

На PC: НЕ ВСТАВЛЯЙТЕ SD КАРТУ В AC100 ДО ЭТОГО ШАГА 1) Запуск SOS uboot linux

На AC100: 1) Вставьте SD карту 2) Смонитруйте SD карту

mkdir /mnt/sd
mount /dev/mmcblk1p1 /mnt/sd

3) Смонитруйте SOS партицию

mkdir /mnt/sos
mount /dev/mmcblk0p1 /mnt/sos

4) Скопируйте загрузочные файлы

cp -r /mnt/sd/boot /mnt/sos

5) Отмонтируйте

umount /mnt/sd
umount /mnt/sos

6) Выключите AC100 (зажмите кнопку включения на 8 секунд) 7) Вытащите SD карту из AC100 8) Включите AC100. Если все было сделано правильно, появится загрузочное меню.


Установка android

После этого шага пункт "Android Recovery" станет работоспособным.

На AC100: 1) Используем секцию Установка CWM recovery for CM-10.1 из инструкции по установке со следующими изменениями: Не копируйте все файлы из recovery-10.1.img. Нужно скопировать только ядро (zImage) и ramdisk (initrd):

mkdir /tmp/upacked
unzip /tmp/sd/recovery-10.1.img -d /tmp/upacked
cp /tmp/upacked/zImage* /tmp/p1/boot/zImage
cp /tmp/upacked/initrd*.gz /tmp/p1/boot/initrd.gz

2) Отмонтируйте все, что было смотировано
3) Выключите AC100
3) Включите AC100. Чтобы запустить recovery, нужно выбрать Android Recovery в загрузочном меню.

Важно: копирование нужно делать именно командами

cp /tmp/upacked/zImage* /tmp/p1/boot/zImage
cp /tmp/upacked/initrd*.gz /tmp/p1/boot/initrd.gz

иначе имена файлов не будут совпадать с тем, что прописано в boot скрипте и рекавери грузиться не будет.

Установка Ubuntu

Фаза 1: установка rootfs

On PC: 1) Format first partition on SD card to fat 2) Copy to SD card http://cdimage.ubuntu.com/lubuntu/daily-preinstalled/20131016.1/saucy-preinstalled-desktop-armhf+ac100.tar.gz 3) Unpack to SD card https://dl.dropboxusercontent.com/u/40761340/Test/boot_ubuntu.zip 4) Safely remove SD card

On AC100: 1) Insert SD card 2) Power on 3) Select installation from SD (fat), follow instructions, don't pay much attantion to errors ;)

Фаза 2: подкотовка для u-boot

On PC: 1) Format first partition on SD card to fat 2) Copy to SD card https://launchpadlibrarian.net/139556634/u-boot-tools_2013.01.01-4_armhf.deb 3) Unpack to SD card https://dl.dropboxusercontent.com/u/40761340/Test/ac100-u-boot-helpers.zip 4) Safely remove SD card from PC

On AC100: 1) Start SOS uboot linux 2) Insert SD card 3) Mount SD card

mkdir /mnt/sd
mount /dev/mmcblk1p1 /mnt/sd

4) Mount target partition (p7 a.k.a UDB)

mkdir /mnt/root
mount /dev/mmcblk1p7 /mnt/root

5) Copy fixed database for flash-kernel

cp /mnt/sd/all.db.fixed /mnt/root/usr/share/flash-kernel/db/all.db

6) Install u-boot tools and update initramfs

cp /mnt/sd/u-boot-tools_2013.01.01-4_armhf.deb /mnt/root/tmp
/mnt/sd/help.sh mount_vfs
chroot /mnt/root
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
dpkg -i /tmp/u-boot-tools_2013.01.01-4_armhf.deb
update-initramfs -u
exit
/mnt/sd/help.sh umount_vfs

7) Unmount all

umount /mnt/sd
umount /mnt/root

8) Power off 9) Power on. Choose "Ubuntu" in boot menu. Installation will continue.