Acties:
  • 0 Henk 'm!

  • dsmink
  • Registratie: Februari 2007
  • Laatst online: 29-11-2024
Tweakerts...

Ik ben vast niet de enige die het volgende probeert aan de praat te krijgen... echter op internet zelf is er, behalve forums waar de vraag wordt gesteld (maar niet beantwoord), vrij weinig te vinden over het onderwerp. Het onderwerp is PXE boot.

Recent ben ik aan de slag gegaan met het instellen van een TFTP server (lokaal) om zo PXE boot / Netboot op mijn netwerk te activeren voor (o.a.) het installeren van systemen. Inmiddels heb ik de nieuwste netboot installer van Ubuntu en Debian aan de praat gekregen en daarbij zelf een menu geschreven zodat ik zelf de keuze kan maken welke installer vanaf het netwerk te draaien. PXE werkt naar behoren en ook de installaties werken.

Nu had ik het idee om een Live OS op mijn TFTP server te plaatsen. Zo heb ik Tinycore Linux (de kernel bzImage en de initrd.gz) in een submap geplaatst, het menu aangepast en tot mijn verbazing werkt dat nog ook. Je moet begrijpen dat het voor mij ook vrij nieuw is.

Omdat er toch nog wel wat haakjes en ogen aan zitten ben ik eens op zoek gegaan naar een licht live OS en bedacht me dat Andriod wellicht een optie zou zijn. Ik trof in de gedownloadde ISO een kernel en een paar initram disks aan. Uit de config van de bootloader de juiste regels gehaald om kernel en initram aan te slingeren. Het OS staart ook daad werkelijk op, echter op een gegeven moment kom ik aan bij:

Detecting Android x86 ............

En op dat moment kan ik blijven wachten tot ik een ons weg terwijl het scherm gevuld wordt met '.'

===

Heeft er iemand een idee wat ik kan doen om dit op te lossen? Als ik een virtuele machine start zie ik bij het booten van het Live OS (boot van CD) dat na de bovenstaande melding de ssd kaart gedetecteerd wordt. Althans dat vermoed ik. Nu heb ik geen SSD aan boord, maar goed... evenmin op de virtuele machine.

Wellicht is er al iemand die dit probleem heeft kunnen verhelpen? Of Android x86 al via PXE heeft kunnen starten?

Acties:
  • 0 Henk 'm!

  • lamko
  • Registratie: December 2001
  • Laatst online: 20-10-2024
Persoonlijk zou ik eens met de ontwikkelaars om de tafel gaan zitten !

And this !! Is to go even further beyond!!!


Acties:
  • 0 Henk 'm!

  • Foeijonghaai
  • Registratie: Juli 2001
  • Laatst online: 31-08 19:57
je kan proberen de initrd uit te pakken, en daarin op zoek te gaan naar /init.

Dit is meestal een shell-script dat (bij livecds) allerlei dingen doet zoals het mounten van de cdrom, opzetten van swap, opzetten van een unionfs etc) Uiteindelijk wordt er dan meestal een chroot gedaan en wordt opnieuw init aangeroepen, maar dan de 'echte' init.

Ik verwacht dat het bij Android ongeveer hetzelfde werkt.

Acties:
  • 0 Henk 'm!

  • dsmink
  • Registratie: Februari 2007
  • Laatst online: 29-11-2024
@Lamko

Er is dus 1 onderwerp gepost op android-x86.org, maar daar is geen reply op. Kan uiteraard wel eens op het IRC inloggen om te kijken of de ontwikkelaars van het x86 project er ervaring mee hebben. Maar het lijkt me niet dat ik de enige ben die dit aan de praat probeer te krijgen. Vandaar mijn post.

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Mijn gok is dat die distro verwacht dat er een USB-disk of CDROM bestaat waar de bulk van z'n programmatuur opstaat, en dat de initrd alleen bedoeld is om die cdrom of usb-stick te vinden en de rest daarvanaf te laden. De manier om dat ook via het netwerk te doen zou zijn om de inhoud van de cdrom/usb-stick op je server te zetten, die dir via NFS ofzo te sharen en dan de init-scriptjes binnenin de initrd aan te passen zodat 'ie die NFS-share probeert te mounten ipv de USB-schijf of CDROM. Da's echter niet iets wat snel even geklaard is... maar je zou misschien inderdaad de ontwikkelaars even lief kunnen vragen of ze er iets voor kunnen maken.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • dsmink
  • Registratie: Februari 2007
  • Laatst online: 29-11-2024
Okay @ Foejonghaai & Sprite_tm

Klinkt allemaal logisch, middels NFS is inderdaad nog een lange weg, maar ik zou eens kunnen kijken wat die init script(s) doen! Daarnaast staat er naast kernel en initram (meerdere files) ook nog een sysfs bestand van 50 Meg. Iemand een idee wat dat doet?

Acties:
  • 0 Henk 'm!

  • Foeijonghaai
  • Registratie: Juli 2001
  • Laatst online: 31-08 19:57
Vermoedelijk is dat een image dat gemount wordt als root file sytem. Die "bulk van z'n programmatuur" waar Sprite_tm het over heeft staat vaak in een image. Maar ik kan alleen maar speculeren, ik heb nooit gewerkt met Android (en heb momenteel niet de intentie omdat wel te doen).

Initrd uitpakken, /init uitpluizen etc is echt de enige manier om uit te vinden wat er precies gebeurt tijdens het booten, indien er geen documentatie is. Uiteraard moet dan wel /init in een scripttaal zijn of je moet de sources hebben indien gecompileerd.

Het is ook heel leerzaam, daarna ben je in staat om zelf initrds te maken en daarmee custom livecd's of minimalistische installaties.

Succes

  • dsmink
  • Registratie: Februari 2007
  • Laatst online: 29-11-2024
Even een update voor de mensen die het wellicht volgen:
- initrd.img uitgepakt met gunzip / cpio;
- init script aangepast (beetje mee stoeien).
- uiteindelijk weer initrd.img van gemaakt...

De initrd.img is nu 51,4 meg daar ik het grote bestand (system.fsf als ik me niet vergis) heb toegevoegd, tesamen met een ander img bestand dat het script lijkt te willen starten. Het booten via PXE duurt nu aanzienlijk langer, maar dat is logisch.

Op een bepaald punt in het init script zie ik dat het system.fsf bestand gemount wil worden (-o sysfs). Het script zoekt daarbij naar de $SRC, maar dat script heb ik handmatig gewoon /mnt/system.sfs laten mounten, althans, dat is de bedoeling. Het script komt niet eens op dat punt.. Ik heb er een echo tussen gepropt om te kijken of de IF statement meegenomen wordt waar dat mount process moet plaatsvinden. Vooralsnog geen succes dus.

Maar we zullen doorgaan. Ik heb wel het vermoeden dat ik in de buurt kom. Als het eenmaal werkt lijkt het me wel beter om sysfs te mounten via een NFS share, maar ik wil uiteraard eerst weten of het werkt!

Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Android x86 via PXE.. er interessant, maar vreemd dat je in het boot-proces dus niet kan aangeven dat bepaalde devices/mounts niet beschikbaar zijn, of dat je de root niet als kernel parameter kan aangeven en zo het hele probleem omzeilen.

Voor zo ver ik weet was Android een 'client' systeem zonder mogelijkheid zichzelf te bouwen/aanpassen e.d. dus zal je alles op je PXE TFTP server moeten 'instellen' wat het booten voor meedere devices onmogelijk maakt, om dat je prebuilt android-x86 image dan maar op 1 apparaat werkt. Misschien heb je maar 1 target, dus dan maakt dat niet uit.

Heb je het boot systeem al aangepast dat het NFS shares gebruikt i.p.v. 'devices'?

Acties:
  • 0 Henk 'm!

  • dsmink
  • Registratie: Februari 2007
  • Laatst online: 29-11-2024
Heb ik nog niet... ik weet ook totaal niet hoe ik daaraan zou moeten beginnen eigenlijk. Afgezien van het feit dat ik een NFS server zou moeten opzetten eigenlijk.

Vreemd genoeg krijg ik dat bestand van 50 Meg (vermoedelijk zit daar Android zelf in) dat dus gemount wordt als sysfs niet gemount. Ik heb het init script aangepast en zelfs dat grote bestand dus in die image geplaatst. Daarnaast heb ik in het script een x-aantal 'echos' geplaatst om te kijken waar ik strand.. maar die komen niet op het scherm :)

Dus ik moet er nog eens induiken! Ik laat wel weten als ik weer iets nieuws heb!

  • grolle
  • Registratie: Oktober 2001
  • Laatst online: 10-08 12:50
Kleine kick uit nieuwsgiergheid. Ik kom dit draadje toevallig tegen toen ik info over PXE zocht. Ben wel benieuwd of het de TS uiteindelijk gelukt is, het id om adroid als live OS te draaien via PXE spreekt mij wel aan 8)7

  • grolle
  • Registratie: Oktober 2001
  • Laatst online: 10-08 12:50
Toch maar eens geprobeerd, kon het niet laten ;-)
Android.x86 2.2RC2 is er, leuk om even me te spelen:

Meer info:
http://www.android-x86.org/documents/virtualboxhowto

En de speciale VM-livecd is hier te downloaden
http://code.google.com/p/...-vm-20100812.iso&can=2&q=

Ontopic, moet uiteraard ook mogelijk zijn dit via PXE te booten ;-)
Pagina: 1