У меня 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 :)
- Разархивировать (используется CM10.1 для n8013)
- wget http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
- gunzip unmkbootimg.gz
- ./unmkbootimg boot.img (сохраните команду, указанную с помощью mkbootimg!)
- mkdir initramfs && cd initramfs
- gzip -cd initramfs.cpio.gz | cpio -i
- Измените сценарии инициализации <- тестируя это прямо сейчас, я выложу правильную, как только сделаю
- находить . | cpio -o -H newc | gzip> ../initramfs.cpio.gz (не уверен, что команда верна ...)
- cd .. && очистите каталог так, чтобы остались только initramfs.cpio.gz и zImage ...
- выполнить команду mkbootimg, которую вы сохранили до ...
- прошить новый boot.img :)
Редактирование 2: initramfs довольно прост в сборке. Вам просто нужно смонтировать корневую файловую систему (либо раздел, либо образ linux) и указать на ее init через символическую ссылку внутри initramfs.
Проблема в том, что вам нужно ядро 4.x для загрузки новой systemd Arch
Чтобы заставить ядро работать, вам нужна последовательная консоль, чтобы увидеть ошибки и прочее. Когда я соберу ядро, выложу необходимые настройки конфигурации.
Для тех, у кого нет mkbootimg (вы получаете это путем компиляции ядра), я нашел предварительно скомпилированный
Ссылки:
- mkbootimg: http://forum.xda-developers.com/showpost.php?p=4575685&postcount=2
- ресурс 1: http://whiteboard.ping.se/Android/Debian
- распаковка и изменение initramfs: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
- unmkbootimg: http://whiteboard.ping.se/Android/Unmkbootimg
источник
Ответы:
Не уверен, поможет ли это, однако, ноу-хау для Arch Linux http://forum.xda-developers.com/showthread.php?t=2195778
источник
Я нашел учебное пособие для аналогичной задачи: Как установить Ubuntu Linux на свой планшет Google Nexus 7 Android , может быть, оно может быть адаптировано к вашему проекту? Используется
fastboot
для разблокировки загрузчика и перезагрузки с другим загрузчиком. HTH, я никогда не играл с Android.источник