我有一台 Galaxy Note 10.1 (n8010),我想让它原生启动 Arch Linux。我的意思是启动 Arch Linux 而不是 android。我所需要的只是改变 initramfs,我在世界任何地方都找不到它。我的问题:
- 我是否只需要更改 initramfs,还是还必须处理其他事情? (比如内核本身)
- [完成] 我在哪里可以获得 CyanogenMod 10.1 的官方 initramfs(也许是 github)?或者我必须自编译 CyanogenMod 的内核并从 zImage 中提取它?
- [可能] 我可以在 android 数据分区内拥有 Arch linux 根目录吗? (例如/data/linux)或者我必须购买SD卡?
- 我还需要知道/做什么?
编辑:我找到了如何更改 initramfs :)
- 解压rom(使用n8013的CM10.1)
- 获取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 新c | gzip > ../initramfs.cpio.gz (不确定命令是否正确......)
- cd .. && 清理目录,只留下 initramfs.cpio.gz 和 zImage...
- 执行您之前保存的 mkbootimg 命令...
- 刷新新的 boot.img :)
编辑2:initramfs相当容易构建您只需要挂载根文件系统(分区或linux映像)并通过initramfs内的符号链接指向其init
问题是你需要内核 4.x 来启动 Arch 的新 systemd
为了让内核工作,您需要一个串行控制台来查看错误和其他内容。当我构建内核时,我将发布所需的配置设置。
对于那些没有 mkbootimg 的人(你可以通过编译内核来获得),我找到了一个预编译的
链接:
答案1
不确定这是否有帮助,但这是 Arch Linux 的指南http://forum.xda-developers.com/showthread.php?t=2195778
答案2
我找到了类似任务的教程,如何在 Google Nexus 7 Android 平板电脑上安装 Ubuntu Linux,也许它可以适应您的项目?它用fastboot
解锁引导加载程序并使用不同的引导加载程序重新启动。 HTH,我从来没有玩过 Android。