在Android设备上引导本机Arch Linux


26

我有一个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 :)

  1. 解压缩ROM(用于n8013的CM10.1)
  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映像)并通过initramfs内部的符号链接指向它的init。

问题是您需要内核4.x来启动Arch的新systemd

为了使内核正常工作,您需要一个串行控制台来查看错误和内容。构建内核时,我将发布所需的配置设置。

对于那些没有mkbootimg的人(可以通过编译内核来获得),我找到了一个预编译的

链接:


你曾经管理过吗?您能在启动时通过USB进行ssh吗?
迈克尔

我设法启动了它。并不是那么困难,但是可以肯定systemd不会玩(我不记得确切的原因)。改变游戏规则的是通过耳机插孔的UART,它使一切变得更加容易(我可以看到整个引导过程)。我没办法做的是视频输出...那只是痛苦,我离开了。如果您设法使其正常工作,请返回报告。
dzervas '16

您是否对UART over jack的工作方式有任何指示?—我想将屏幕坏了的旧手机用作某种音乐服务器,所以只要我有声音和声音,我就会很高兴。
迈克尔

您只需断开耳机插孔,添加一个电阻,然后将其与UART转USB转换器连接到PC。事实是Nexus 5仅支持此功能,所以我不知道是否/其他手机支持它...您必须搜索它(例如“ Nexus 4上的UART”)
dzervas

Answers:


4

不确定是否有帮助,但这是Arch Linux的方法手册http://forum.xda-developers.com/showthread.php?t=2195778


3
欢迎使用Unix和Linux!通常,我们希望网站上的答案能够独立存在-链接很棒,但是,如果该链接中断,则答案应该具有足够的信息,仍然对您有所帮助。请考虑编辑您的答案以包括更多详细信息。有关更多信息,请参见FAQ
slm

是!你是对的!!现在,我想找到一种更改恢复方式的方法,以便能够从sdcard分区启动...
dzervas

-1

我找到了类似任务的教程,如何在您的Google Nexus 7 Android Tablet上安装Ubuntu Linux,也许它可以适应您的项目?它用于fastboot解锁引导程序并使用其他引导程序重新引导。HTH,我从没玩过Android。


2
好吧,手机的ubuntu不是...真正的ubuntu:P它基于cm10(一个Android“发行版”)。所以它是具有不同布局的android ...
dzervas

众所周知,当我获得第一台平板电脑/智能手机时,我会想要一个干净安装的熟悉的Linux发行版。我知道这不是您所要的,但是由于对此问题没有任何回应,我希望可以将此Ubuntu示例改编成Arch。也许可以替换fastboot安装的文件/ bootloader?也许我在这里头晕。祝你好运,请注意!
丹·罗斯

1
没有,Ubuntu使用的Java虚拟机,这与启动等做
dzervas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.