Загрузка нативного Arch Linux на устройстве Android

26

У меня Galaxy Note 10.1 (n8010), и я хочу, чтобы он загрузился с Arch Linux изначально. Я имею в виду загрузочный Arch Linux вместо Android. Все, что мне нужно, это изменить initramfs, которые я не могу найти нигде в мире. Мои вопросы:

  • Нужно ли изменять только initramfs или мне приходится справляться и с другими вещами? (например, само ядро)
  • [DONE] Где я могу получить официальные initramfs CyanogenMod 10.1 (возможно, github)? Или мне нужно самостоятельно скомпилировать ядро ​​CyanogenMod и извлечь его из zImage?
  • [ВЕРОЯТНО] Могу ли я иметь Arch Linux-корень внутри раздела данных Android? (например / data / linux) Или я должен купить SD-карту?
  • Что еще мне нужно знать / делать?

Изменить: я нашел, как изменить initramfs :)

  1. Разархивировать (используется CM10.1 для n8013)
  2. wget http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
  3. gunzip unmkbootimg.gz
  4. ./unmkbootimg boot.img (сохраните команду, указанную с помощью mkbootimg!)
  5. mkdir initramfs && cd initramfs
  6. gzip -cd initramfs.cpio.gz | cpio -i
  7. Измените сценарии инициализации <- тестируя это прямо сейчас, я выложу правильную, как только сделаю
  8. находить . | cpio -o -H newc | gzip> ../initramfs.cpio.gz (не уверен, что команда верна ...)
  9. cd .. && очистите каталог так, чтобы остались только initramfs.cpio.gz и zImage ...
  10. выполнить команду mkbootimg, которую вы сохранили до ...
  11. прошить новый boot.img :)

Редактирование 2: initramfs довольно прост в сборке. Вам просто нужно смонтировать корневую файловую систему (либо раздел, либо образ linux) и указать на ее init через символическую ссылку внутри initramfs.

Проблема в том, что вам нужно ядро ​​4.x для загрузки новой systemd Arch

Чтобы заставить ядро ​​работать, вам нужна последовательная консоль, чтобы увидеть ошибки и прочее. Когда я соберу ядро, выложу необходимые настройки конфигурации.

Для тех, у кого нет mkbootimg (вы получаете это путем компиляции ядра), я нашел предварительно скомпилированный

Ссылки:

dzervas
источник
Вам когда-нибудь удавалось? Удалось ли вам использовать ssh через USB при загрузке?
Микаэль
Мне удалось загрузить его. Это было не так сложно, но наверняка systemd не будет играть (я точно не помню, почему). Переключатель игры был UART через разъем для наушников, это сделало все намного проще (я мог видеть весь процесс загрузки). Что мне не удалось сделать, так это вывод видео ... Это была просто боль, и я оставил это. Если вам удастся заставить его работать, пожалуйста, сообщите.
dzervas
У вас есть какой-нибудь указатель на то, как у вас работает UART через разъем? - Я хотел бы использовать старый телефон с неработающим экраном в качестве музыкального сервера, поэтому, как только у меня появится sshd и звук, я буду счастлив.
Микаэль
Вам просто нужно отсоединить разъем для наушников, добавить резистор и подключить его к вашему ПК с помощью конвертера UART в USB. Дело в том, что Nexus 5 поддерживал это исключительно, поэтому я не знаю, поддерживают ли / какие другие телефоны это ... Вы должны искать его (например, «UART на Nexus 4»)
dzervas

Ответы:

4

Не уверен, поможет ли это, однако, ноу-хау для Arch Linux http://forum.xda-developers.com/showthread.php?t=2195778

user961559
источник
3
Добро пожаловать в Unix и Linux! Как правило, нам нравятся ответы на сайте, чтобы они могли стоять сами по себе - Ссылки - это здорово, но если эта ссылка когда-либо сломается, в ответе должно быть достаточно информации, чтобы она была полезна. Пожалуйста, рассмотрите возможность редактирования своего ответа, чтобы включить больше деталей. Смотрите FAQ для получения дополнительной информации.
SLM
да! вы правы!! Теперь я хочу найти способ изменить восстановление, чтобы иметь возможность загружаться с раздела SDCard ...
dzervas
-1

Я нашел учебное пособие для аналогичной задачи: Как установить Ubuntu Linux на свой планшет Google Nexus 7 Android , может быть, оно может быть адаптировано к вашему проекту? Используется fastbootдля разблокировки загрузчика и перезагрузки с другим загрузчиком. HTH, я никогда не играл с Android.

Дэн Росс
источник
2
ну, Ubuntu для телефона не ... реальная Ubuntu: P он основан на cm10 (Android "дистрибутив"). так что это андроид с разным расположением ...
dzervas
Полезно знать, когда я получу свой первый планшет / смартфон, я захочу установить знакомый дистрибутив Linux, установленный без ошибок. Я знаю, что это не совсем то, о чем вы просили, но поскольку ответа на этот вопрос не было, я надеялся, что этот пример Ubuntu может быть адаптирован для Arch. Может быть, файлы / загрузчик, установленные fastboot, можно заменить? Или, может быть, я здесь над головой. Удачи и будьте осторожны!
Дэн Росс
1
нет, Ubuntu использует виртуальную
машину