USB->RAM Linux

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: USB->RAM Linux

Beitrag von Spasswolf » 27.06.2008 14:39:32

Dein Aufruf von pivot_root (pivot_root ./ /) ist irgendwie fragwürdig. Der sollte eigentlich lauten

Code: Alles auswählen

pivot_root ./ /Verzeichnis/wo/das/alte/rootdateisystem/hin/soll

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 27.06.2008 15:49:20

Code: Alles auswählen

localhost:~# pivot_root
usage: pivot_root              new_root                            put_old
also genau umgekehrt. Es geht aber trozdem nicht.

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: USB->RAM Linux

Beitrag von Spasswolf » 27.06.2008 15:54:23

Schon das Beispiel aus der manpage gelesen:

Code: Alles auswählen

Change the root file system to /dev/hda1 from an interactive shell:

       mount /dev/hda1 /new-root
       cd /new-root
       pivot_root . old-root
       exec chroot . sh <dev/console >dev/console 2>&1
       umount /old-root
Musst eventuell noch ein paarmal "mount --move" einfügen.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 28.06.2008 04:55:51

der Term <dev/console >dev/console 2> muss mit irgendetwas ersetzt werden, wie das gehlt weiss ich leider nicht.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 28.06.2008 07:33:06

beim Ausfuehren kommt follgender Fehler:L
sh command not found.

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: USB->RAM Linux

Beitrag von Spasswolf » 28.06.2008 09:33:18

Eventuell ist noch kein Pfad gesetzt, probier mal

Code: Alles auswählen

exec chroot . /bin/sh <dev/console >dev/console 2>&1

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 28.06.2008 10:28:54

kommt immer noch der gleiche Fehler.
weder sh noch ./bin/sh und /bin/sh geben keine Besserung.
ich habe auch alle Dateien in bin und sbin im neuem rootverzeichnis drinne..

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: USB->RAM Linux

Beitrag von Spasswolf » 28.06.2008 10:39:28

Eventuell ist der sh --> bash symlink nicht gesetzt, probier mal /bin/bash.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 28.06.2008 11:15:06

GEnau der gleiche Fehler...
Ich sehe gerade dass exec chroot . /bin/sh <dev/console >dev/console 2>&1
wohl 2 Befehle sein sollen, also:

exec chroot .
/bin/sh <dev/console >dev/console 2>&1


der pivot_root befehl der vorher aufgerufen wird gibt immer noch den Befehl root filesystem busy.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 28.06.2008 11:54:41

Ich habe das ganze auch mal auf init 2 gemacht, funktioniert auch nicht. Device ist immer busy.
Wie startet man eigentlich das system wieder hoch, wenn man init 2 ausgefuehr hat?

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: USB->RAM Linux

Beitrag von Spasswolf » 28.06.2008 12:16:01

1. Bei Debian sind die Runlevel 2-5 identisch, es gibt kein "init 2".
2. Hier ist ein Howto das pivot_root benutzt: http://www.ivarch.com/personal/blog/200 ... ystem.html Der springende Punkt ist wohl, das pivot_root nur funktioniert wenn außer dem neuen root Verzeichnis nichts anderes unterhalb von / gemountet ist.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 28.06.2008 13:21:28

Ab Schritt "8. Now resize the root filesystem:" verstehe ich nur noch Bahnhof.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 28.06.2008 13:37:42

Man ist das anstrengend.

Ich hab eine datei namesn ram.sh mit follgendem Inhalt angelegt:

Code: Alles auswählen

# 1

telinit 2
for SERVICE in \
chkconfig --list | grep 2:on | awk '{print $1}' | grep -v -e sshd -e network -e rawdevices`; do service $SERVICE stop; done
service nfs stop
service rpcidmapd stop
setenforce 0


#2 

umount -a



#3

mkdir /tmp/tmproot
mount none /tmp/tmproot -t tmpfs
mkdir /tmp/tmproot/{proc,sys,usr,var,oldroot}
cp -ax /{bin,etc,mnt,sbin,lib} /tmp/tmproot/
cp -ax /usr/{bin,sbin,lib} /tmp/tmproot/usr/
cp -ax /var/{account,empty,lib,local,lock,nis,opt,preserve,run,spool,tmp,yp} /tmp/tmproot/var/
cp -a /dev /tmp/tmproot/dev


#3
pivot_root /tmp/tmproot/ /tmp/tmproot/oldroot
mount none /proc -t proc
mount none /sys -t sysfs (this may fail on 2.4 systems)
mount none /dev/pts -t devpts


#4
service sshd restart

#5 Close everything that's still using the old filesystem:
umount /oldroot/proc
umount /oldroot/dev/pts
umount /oldroot/selinux
umount /oldroot/sys
umount /oldroot/var/lib/nfs/rpc_pipefs



#6 Now try to find other things that are still holding on to the old filesystem, particularly /dev:

fuser -vm /oldroot/dev



#7 Common processes that will need killing:

 killall udevd
 killall gconfd-2
 killall mingetty
 killall minilogd



#8 Finally, you will need to re-execute init:

telinit u

#9 Unmount the old filesystem:

 umount -l /oldroot/dev
 umount /oldroot



sh ram.sh gibt aber Fehler zureuck und wird abgebrochen...

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: USB->RAM Linux

Beitrag von Spasswolf » 28.06.2008 13:55:52

Du sollst ja auch nicht die Größe des rootfilesystems ändern, sondern nur dir nur die Schritte rund um die Nutzung von pivot_root ansehen. Zudem ist das script redhat spezifisch, chkconfig gibt es bei debian z.B. nicht und service genauso wenig.
Die Schritte 2-9 können aber vermutlich fast ungeändert nach debian übernommen werden.

Edit: Die Anleitung eignet sich auch nicht dazu in ein Skript gepackt zu werden, z.B. hängt die Ausführung von Schritt 7 von der Ausgabe von Schritt 6 ab.

Edit2:
sh ram.sh gibt aber Fehler zureuck und wird abgebrochen...
Wenn du schon Fehlermeldungen erhältst wäre es nett diese zu verraten.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 28.06.2008 14:12:02

Stimmt du hast recht.

Also ich muesste mir Fehlendes raussuchen.\
Gefunden habe ich
mkdir /tmp/tmproot
mount none /tmp/tmproot -t tmpfs
...und dann piviot_ausfuehren...


allerdings verstehe ich nicht ganz was "mount none /tmp/tmproot -t tmpfs" das bedeutet.

Ich glaube ich werde mit meinem Vorhaben aufgeben muessen.

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: USB->RAM Linux

Beitrag von Spasswolf » 28.06.2008 14:17:50

malteklein hat geschrieben: allerdings verstehe ich nicht ganz was "mount none /tmp/tmproot -t tmpfs" das bedeutet.
So mountet man ein tmpfs nach /tmp/tmproot
Ich glaube ich werde mit meinem Vorhaben aufgeben muessen.
Nana, nicht so vorschnell.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 29.06.2008 06:16:58

Ja, wenn noch jemand eine Idee hat, waere das toll.
Ich bin leider kein Profi und bin am Ende mit meinem Latein.

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 02.07.2008 18:06:02

Hat keiner eine Idee?

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 03.07.2008 03:45:38

Was waere denn wenn ich den Stick einfach rausziehe?

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: USB->RAM Linux

Beitrag von Spasswolf » 03.07.2008 15:35:17

Das wäre sicher lustig ...

malteklein
Beiträge: 71
Registriert: 08.04.2008 11:46:02

Re: USB->RAM Linux

Beitrag von malteklein » 03.07.2008 18:35:02

Was ich meine ist folgendes:
Ich habe doch mov --bind ausgefuehrt.

Wenn es jetzt ein Befehl wi8e "alles schreiben" geben wuerde, ich den Stick dann rausziehe,
dann hoffe ich, dass beim erneuten Zugriff auf die Daten die auf dem Stick sind, auf das RAM zurueckgegrifen wird.

Antworten