dze*_*vas
27
arch-linux
android
我有一个 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)
- 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
- 更改 init 脚本 <- 立即测试,完成后我将发布正确的
- 找 。| cpio -o -H newc | gzip > ../initramfs.cpio.gz(不确定命令是否正确...)
- cd .. && 清理目录,只剩下 initramfs.cpio.gz 和 zImage ......
- 执行你之前保存的 mkbootimg 命令...
- 刷新新的 boot.img :)
编辑 2:initramfs 相当容易构建您只需要挂载根文件系统(分区或 linux 映像)并通过 initramfs 中的符号链接指向其 init
问题是你需要内核 4.x 来启动 Arch 的新 systemd
为了让内核工作,你需要一个串行控制台来查看错误和内容。当我构建内核时,我会发布所需的配置设置。
对于那些没有 mkbootimg 的人(你可以通过编译内核来获得),我找到了一个预编译的
链接: