Démarrer Arch Linux natif sur un appareil Android

26

J'ai un Galaxy Note 10.1 (n8010) et je veux le faire démarrer nativement Arch Linux. Je veux dire démarrer Linux Linux au lieu d'Android. Tout ce dont j'ai besoin, c'est de modifier les initramfs, que je ne trouve nulle part dans le monde. Mes questions:

  • Dois-je modifier uniquement les initramfs, ou dois-je faire face à d'autres choses aussi? (comme le noyau lui-même)
  • [TERMINÉ] Où puis-je obtenir les initramfs officiels de CyanogenMod 10.1 (github peut-être)? Ou je dois auto-compiler le noyau de CyanogenMod et l'extraire du zImage?
  • [PROBABLEMENT] Puis-je avoir la racine Arch Linux dans la partition de données Android? (par exemple / data / linux) Ou dois-je acheter une carte SD?
  • Que dois-je savoir / faire d'autre?

Edit: j'ai trouvé comment modifier les initramfs :)

  1. décompressez rom (CM10.1 pour n8013 utilisé)
  2. wget http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
  3. gunzip unmkbootimg.gz
  4. ./unmkbootimg boot.img (enregistrez la commande donnée avec mkbootimg!)
  5. mkdir initramfs && cd initramfs
  6. gzip -cd initramfs.cpio.gz | cpio -i
  7. Modifiez les scripts d'initialisation <- testez cela dès maintenant, je publierai le bon une fois terminé
  8. trouver . | cpio -o -H newc | gzip> ../initramfs.cpio.gz (vous ne savez pas si la commande est correcte ...)
  9. cd .. && nettoyer le répertoire pour ne laisser que initramfs.cpio.gz et zImage ...
  10. exécutez la commande mkbootimg que vous avez enregistrée avant ...
  11. flashez le nouveau boot.img :)

Edit 2: L'initramfs est assez facile à construire Il vous suffit de monter le système de fichiers racine (soit la partition ou l'image Linux) et de pointer vers son init via un lien symbolique à l'intérieur d'initramfs

Le problème est que vous avez besoin du noyau 4.x pour démarrer le nouveau systemd d'Arch

Afin de faire fonctionner le noyau, vous avez besoin d'une console série pour voir les erreurs et tout ça. Quand je construis le noyau, je publierai les paramètres de configuration nécessaires.

Pour ceux qui n'ont pas mkbootimg (vous obtenez cela en compilant un noyau), j'en ai trouvé un précompilé

Liens:

dzervas
la source
Avez-vous déjà réussi? Avez-vous pu avoir ssh sur USB au démarrage?
Michaël
J'ai réussi à le démarrer. Ce n'était pas si difficile, mais c'est sûr que systemd ne jouera pas (je ne me souviens pas exactement pourquoi). Le changeur de jeu était UART sur la prise casque, cela rendait tout beaucoup plus facile (je pouvais voir tout le processus de démarrage). Ce que je n'ai pas réussi à faire, c'est la sortie vidéo ... C'était juste une douleur et je l'ai laissé. Si vous parvenez à le faire fonctionner, veuillez le signaler.
dzervas
Auriez-vous un pointeur sur la façon dont UART over jack fonctionnait? - Je voudrais utiliser un vieux téléphone avec un écran cassé comme une sorte de serveur de musique, donc dès que j'aurai sshd et son, je serai heureux.
Michaël
Il vous suffit de briser la prise casque, d'ajouter une résistance et de la connecter avec un convertisseur UART vers USB à votre PC. Le fait est que le Nexus 5 l'a soutenu exclusivement, donc je ne sais pas si / quels autres téléphones le prennent en charge ... Vous devez le rechercher (ex. "UART sur Nexus 4")
dzervas

Réponses:

4

Je ne sais pas si cela aide mais c'est un guide pour Arch Linux http://forum.xda-developers.com/showthread.php?t=2195778

user961559
la source
3
Bienvenue sur Unix et Linux! En règle générale, nous aimons que les réponses sur le site puissent être autonomes - Les liens sont excellents, mais si ce lien se casse, la réponse devrait contenir suffisamment d'informations pour être utile. Veuillez envisager de modifier votre réponse pour inclure plus de détails. Voir la FAQ pour plus d'informations.
slm
Oui! tu as raison!! Maintenant, je veux trouver un moyen de modifier la récupération pour pouvoir démarrer à partir d'une partition sdcard ...
dzervas
-1

J'ai trouvé un tutoriel pour une tâche similaire, Comment installer Ubuntu Linux sur votre tablette Android Google Nexus 7 , peut-être pourrait-il être adapté à votre projet? Il utilise fastbootpour déverrouiller le chargeur de démarrage et redémarrer avec un autre chargeur de démarrage. HTH, je n'ai jamais joué avec un Android.

Dan Ross
la source
2
eh bien, ubuntu pour téléphone n'est pas ... vrai ubuntu: P c'est basé sur cm10 (une "distro" android). c'est donc android avec une disposition différente ...
dzervas
Bon à savoir, quand j'aurai ma première tablette / smartphone, je voudrai une distribution Linux familière, installée proprement. Je sais que ce n'est pas tout à fait ce que vous demandiez, mais comme il n'y a pas eu de réponse à la question, j'espérais que cet exemple Ubuntu pourrait être adapté pour Arch. Peut-être que les fichiers / bootloader installés par fastboot pourraient être remplacés? Ou peut-être que je suis au-dessus de ma tête ici. Bonne chance et faites attention!
Dan Ross
1
non, ubuntu utilise la machine virtuelle Java, qui a à voir avec le démarrage, etc.
dzervas