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