chroot /mnt /bin/bash

  • Hallo


    Was muß man denn in einem Script anstellen, das nach chroot noch etwas ausgeführt wird?


    Bash
    #!/bin/sh -x
    
    
    chroot /mnt /bin/bash


    Alles vor chroot, funktioniert, nach chroot beendet sich der Schnippsel, es wird zumindest nichts mehr ausgeführt, gibt es da was?


    MFG Ronny

  • Zitat

    Original von zuse
    vielleich so:


    Bash
    #!/bin/sh -x
    
    
    chroot /mnt /mein/script


    Verstehe ich jetzt nicht, also es schaut so aus:



    Und genau, dieses lilo wird nicht mehr ausgeführt, auf der Komandozeile hingegen schon?


    MFG Ronny

  • ich hätte es folgendermassen gemact:



    und /mein/script sollte in der chroot umgebung sein und folgendes beinhalten


    Code
    lilo -M /dev/hda
  • Also wenn es nur darum geht, das lilo im chroot auszuführen ...

    Code
    greywolf@matrix:~$ man lilo
    [..]
           -r root-directory
                  Before doing anything else, do a chroot to the indicated  direc-
                  tory.  The new root directory must contain a /dev directory, and
                  may need a /boot directory. It may also need  an  /etc/lilo.conf
                  file.


    NACHTRAG:
    oder halt

    Code
    chroot /mnt /sbin/lilo -M /dev/hda


    wenn unbedingt auch das in /mnt liegende lilo ausgeführt werden soll.

  • Zitat

    Original von ronnykornexl
    Und genau, dieses lilo wird nicht mehr ausgeführt, auf der Komandozeile hingegen schon?


    Türlich - da chroot eine neue ( eigene ) Instanz der Bash startet , pausiert die Ausführung deines Scriptes . Gibst du in der chroot Umgebung exit ein , gehts weiter .


    Die Lösung wurde ja schon genannt - ein weiteres Script , welches chroot als Parameter übergeben wird .


    HJS

  • Der Vorschlag von Greywolf klappt. (ist letztendlich nur zum rücksichern eines images von CD)



    MFG Ronny

  • Zitat

    Original von ronnykornexl
    Ein Patzer muß wohl noch drinnen sein, es funktioniert am ende kein reboot. (Affengriff tut es aber ...)


    Folgende Meldung (oder so ähnlich):


    Code
    shutdown: timeout opening/writing control channel /dev/initctl


    Wozu das

    Code
    chroot /mnt /bin/bash

    am Ende? Wie hjs schon schrieb startet das eine bash im chroot, welche auf Eingaben wartet. Das "reboot" versucht also via /dev/initctl innerhalb des chroot eine Meldung an init zu schicken. init liest aber nur die Meldungen des "richtigen" /dev/initctl ...

  • Alles klaro, nun klappt es wie gewünscht.


    -----------


    Achso, kennt rein zufällig wer einen Schnippsel zum erkennen der Hardware (eigentlich gehts nur um die Netzwerkkarte) meine, das man wie das zu ladene Modul bekommt?


    MFG Ronny

  • In der linuxrc wird es mit pci_scan und einer niclist gemacht:



  • In /sys/class/net/eth$lan mit $lan = Nummer der LanCard findest du auch
    /sys/class/net/eth$lan/device/driver


    Das ist der Treiber der Karte . Üblicherweise lehnt sich der Treibername an die Typbezwichnung der Karte an .



    So bestimmt z.B. meine CD die evtl vorhandnen LanCards ( max 4 im Script ) und läßt dem User per dialog die Auswahl einer Karte .


    HJS

  • .... also bei dem fdisk-Aufruf stellen sich mir die Nackenhaare auf...


    Jungs, wenn ihr die ersten 4 Partitionen gelöscht habt, kann es in keinem Fall mehr eine fünfte bis neute (oder weitere) geben.


    Selbst wenn ihr nur die Partitionen 5 bis 9 (also die logischen) löschen wolltet, würde das nicht klappen, weil logische Partitionen durchgezählt werden und keine feste Nummer haben. Wenn du 5 löschst, rücken alle anderen eine Nummer auf. Also bleibt bei der Löscherei bei 9 Partitionen 2 übrig, wenn man jetzt ab 5 rechnen sollte.


    Also immer von hinten her löschen. Und wenn man die ganze Partitionstabelle wegwerfen will, sollte man vielleicht mal einen Blick in das Install-Script von LinVDR werfen. Weil da steht drin, wie's geht. Einfach die Partition Table überschreiben und gut.


    Viele Grüße, Mirko

  • Hallo


    Danke allen (das mit /bin/pci_scan /etc/niclist klappt prima).


    Zum löschen der Tabellen, das gefunden (fdisk ist glaube flotter)?


    Code
    dd if=/dev/zero of=/dev/hda bs=10240


    MFG Ronny

  • ... das ist nicht ganz vollständig, was du da zitiert hast:

    Code
    dd if=/dev/zero of=/dev/${HARDDISK} bs=1024 count=2


    Das sollte nicht mal eine Sekunde dauern, weil lediglich 2 KB (so groß ist nämlich die Partition Table) geschrieben werden und nicht, wie in deinem Zitat, die ganze Platte gefüllt.


    Viele Grüße, Mirko

  • Zitat

    Original von cooper
    ... das ist nicht ganz vollständig, was du da zitiert hast:

    Code
    dd if=/dev/zero of=/dev/${HARDDISK} bs=1024 count=2


    Das sollte nicht mal eine Sekunde dauern, weil lediglich 2 KB (so groß ist nämlich die Partition Table) geschrieben werden und nicht, wie in deinem Zitat, die ganze Platte gefüllt.


    Viele Grüße, Mirko


    Und ich dachte immer , der Rootsektor sei nur 512 Byte :D


    HJS

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!