我有一个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
- 更改初始化脚本<-现在进行测试,完成后我将发布正确的脚本
- 找 。| 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的人(可以通过编译内核来获得),我找到了一个预编译的
链接:
- 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
你曾经管理过吗?您能在启动时通过USB进行ssh吗?
—
迈克尔
我设法启动了它。并不是那么困难,但是可以肯定systemd不会玩(我不记得确切的原因)。改变游戏规则的是通过耳机插孔的UART,它使一切变得更加容易(我可以看到整个引导过程)。我没办法做的是视频输出...那只是痛苦,我离开了。如果您设法使其正常工作,请返回报告。
—
dzervas '16
您是否对UART over jack的工作方式有任何指示?—我想将屏幕坏了的旧手机用作某种音乐服务器,所以只要我有声音和声音,我就会很高兴。
—
迈克尔
您只需断开耳机插孔,添加一个电阻,然后将其与UART转USB转换器连接到PC。事实是Nexus 5仅支持此功能,所以我不知道是否/其他手机支持它...您必须搜索它(例如“ Nexus 4上的UART”)
—
dzervas