PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fortsetzung: Linux [gentoo] auf 256MB CF für Roboterprojekt



SlyD
26.07.03, 19:52
Hallo!

Nun habe ich endlich den Embedded PC für mein Roboterprojekt!

s.a. http://www.linuxforen.de/forums/showthread.php?s=&threadid=90377

Ich habe gerade mal testweise angefangen Gentoo 1.4_rc4 auf einer 512MB IDE Platte zu installieren.
Aber dort gibt es ein kleines Problemchen...
Bis zum Downloaden der Kernel Sourcen bin ich gekommen, aber nun scheint bereits kein Platz mehr auf der Platte zu sein?
Jedenfalls kam eine Fehlermeldung bei
emerge sys-kernel/gentoo-sources
Das zu wenig Speicher vorhanden sei...

Wenn das also schon auf einer 512MB Platte der Fall ist, wie soll ich Gentoo dann auf die eigentlich vorgesehene 256MB CF Karte bekommen? :confused: :eek:

Das Board hat nur einen IDE Channel und es ist nicht möglich CDROM, CF Karte und Beispielsweise eine Temporäre IDE Platte gleichzeitig zu betreiben...

Weiss jemand wie ich gentoo irgendwie auf so einer kleinen Platte installieren kann?

Ich verwende die Stage3 - das Problem ist ja, dass der Rechner nur 200MHz hat und eine Stage1 bzw. 2 wohl etwas lange brauchen würden?

Als Partitionen habe ich folgendes eingerichtet:

/dev/hda1 : 16MB ->boot
/dev/hda2 : 64MB ->swap
/dev/hda3 : 432MB -> root

Auf der CF Karte steht natürlich nur die Hälfte an Platz zur Verfügung.

Ausserdem weiss ich immer noch nicht wie man nun die Schreibzugriffe auf die CF Karte durch das Linux OS verhindert und alles aus einer RAMDISK laufen lässt!?
Das wurde im anderen Thread ja leider nich nicht geklärt ...

Danke schonmal!

PS: Vielleicht sollte ich doch besser Vectorlinux oder noch was kleineres verwenden?

paythebillgates
30.07.03, 13:57
wie wärs mit bonsai-linux?
Debian basierend >180MB

http://www.gnulinux.de/modules.php?name=News&file=article&sid=173

bernie
30.07.03, 14:05
Debian würde sich wohl aus dem einfachen Grund anbieten, da man nichts kompilieren muss wenn man nicht will.
Hast du dir schon Projekte wie uClinux oder Emebdix angesehen?

Ciao, Bernie

SlyD
30.07.03, 15:53
uClinuc ist, wie der name schon andeutet eher für µCs, also Microcontroller und nicht für x86 Systeme gedacht.
Embedix ist komerziell wenn ich mich nicht irre?



Naja ich habe nun gerade mal versucht Slackware zu installieren, dass mit Gentoo hat selbst mit ner 20GB Platte nicht funktioniert (bzw. es war eine irrsinnig lange build Zeit - uptime des Rechners war schon über einen Tag)
Ich habs dann damit aufgegeben.



Mit Slackware habe ich gerade allerdings ein anderes Problemchen.
Diesmal eher kein Platz Problem denn alles was ich brauche lässt sich locker in 150MB packen....

Aber leider lässt sich lilo nicht installieren :mad:
Beim Booten des Systems kommt nur

"LI 01 01 01 01 01 01 01 01 01 ...."

Wobei die "01" in 1 sekunden intervallen hinzukommen...

:confused:

Ich muss es mal mit ner Bootdiskette probieren - ist bei diesem System nur gerade nicht so einfach...

Weiss jemand wieso lilo sich so seltsam verhält? :confused: :confused: :confused:

psycho0815
30.07.03, 16:29
also was die sache mit der cf-karte angeht würd ich mich mal mit dem thema initial ramdisk ausseinander setzten! könnte klappen!

das lilo prob: tja versuch mal in der lilo.conf die obtion linear (oder so ähnlich sitz nicht form linuxpc)

SlyD
31.07.03, 01:55
So!
Also das mit Lilo hab ich gelöst. Der Slackware installer hatte nicht "lba32" zur lilo.conf hinzugefügt und während des Slackware Setups hat man leider keinen gescheiten Texteditor um das manuell zu ändern - also eben eine andere Linux CD gebootet und abgeändert - funktioniert!

Als nächstes muss ich nun das mit der Ramdisk lösen. Ich arbeite gerade daran die rc Scripte des Slackware Systems ein wenig anzupassen damit eine zuvor erstellte ramdisk in /var gemountet wird.
Ausserdem muss ja noch / auf read-only gesetzt werden (ich werde die CF Karte dann in zwei Partitionen einteilen, eine 192MB ro fürs System und eine 64MB rw für Daten... ) - leider bleibt das System dann beim Starten von sysklogd hängen... könnte auch an der Ramdisk liegen - weiss ich noch nicht genau. Das werde ich morgen mal versuchen herauszufinden...
Hauptsache es funktioniert überhaupt schonmal :)

Ach ja nochwas: Welches Dateisystem wäre eigentlich am besten geeignet? Jornaling Systeme schreiben doch häufig Metadaten - das wäre für CF ja eher nicht geeignet, aber dafür sind diese Systeme doch besser was die Fehlerkorrektur angeht (z.B. wenn auf dem Roboter mal der Strom ausfällt...) ?
Also ich schwanke da noch zwischen ext2 und 3...

@psycho:
Die initrd ist doch das was als erstes FileSystem überhaupt erzeugt wird um dann damit das System zu initialisieren (also treiber laden, das rootfs mounten etc... )?
Hmm. Und wie sollte ich das für meine Zwecke einsetzten? Das ist mir jetzt nicht ganz klar :confused:
Meinst du einfach diese Ramdisk benutzten?
Naja - eigentlich wäre es ja dann einfacher eine neue in den rc Scripten zu erzeugen....

psycho0815
31.07.03, 08:17
es gibt zum beispiel minidistris (ich glaub fli4l macht das auch so), die komplett aus einer initrd laufen! es ist ja nicht vorgeschrieben was alles auf der initrd drauf sein darf man kann da auch ein ganzes rootfs draufpacken !

stefan-tiger
31.07.03, 09:54
Original geschrieben von SlyD

Wenn das also schon auf einer 512MB Platte der Fall ist, wie soll ich Gentoo dann auf die eigentlich vorgesehene 256MB CF Karte bekommen? :confused: :eek:
...

Weiss jemand wie ich gentoo irgendwie auf so einer kleinen Platte installieren kann?

Ich verwende die Stage3 - das Problem ist ja, dass der Rechner nur 200MHz hat und eine Stage1 bzw. 2 wohl etwas lange brauchen würden?



da hast du wohl was überlesen was ich schon im anderen thread gemeint hat:

ich würde gentoo auf nem normalen pc installierne mit ausreichend ram und plattenplatz.

bei stage 1 beginnen. das braucht schon viel resourcen.

wenn alles was du brauchst kompiliert ist, dann säuberst du dein system von ballast, soweit bis die (kompilierte) gentoo installtion so klein ist wie du sie brauchst und trotzdem lauffähig bleibt.

ERST JETZT die installation vom pc auf deine CF karte bringen.

nicht versuchen schon auf dem mit geringen resourcen ausgestattetem zielsystem zu installieren/kompilieren.

gruß

SlyD
31.07.03, 13:59
@psycho:
Ja das wäre dann schon zu gebrauchen. (Fli4l kann ich übrigens nur empfehlen - mein 486er router läuft damit)

Nur wie mach ich das, dass ich alles in die initrd lade ?
Gibts da evtl. howtos zu?
Ist aber auch noch die Frage ob dann auch alles ins RAM reinpasst...


@stefan:
Ich dachte man muss das auf dem Zielsystem installieren ... naja hatte ich falsch verstanden.

Vielleicht probier ich dass dann nochmal aber viel kleiner als die 100-150MB die Slackware benötigt bekomm ich das vermutlich auch nicht?

psycho0815
31.07.03, 15:57
Vielleicht probier ich dass dann nochmal aber viel kleiner als die 100-150MB die Slackware benötigt bekomm ich das vermutlich auch nicht?


was brauchst du denn? den kernel binutils fileutils ssh mit abhängigkeiten und java?
mit statischgelinkten versionen dürfte das relativklein zuhalten sein! vielleicht nimmst du einfach einige ältere versionen die etwas weniger können was du nicht brauchst da kannst du auch platz sparen! du brauchst ja im prinzip nur ein fli4l mit java ;) !

und wegen der initrd würd ich mal beim linux documentation project gucken die ham bestimmt was!

SlyD
31.07.03, 19:35
Erstmal danke für eure Hilfe.

Ich hab es nun geschafft das rootfs readonly zu mounten.
In /etc/etc/rc.d/rc.S musste ein mount -o remount,rw / auskommentiert werden.
Zusätzlich habe ich /var /proc und /tmp auf Ramdisks /dev/ram5-7 gemountet und die mtab wird jetzt in /proc/mounts gespeichert.
Den Inhalt von /var muss beim Booten allerdings einmal von der Platte in die Ramdisk kopiert werden - sonst macht z.B. syslog schwierigkeiten...

Naja, ich installier das ganze dann nun mal testweise mit ext3 auf der CF Karte.

Mal sehen.


@psycho:
Hmm. Also Slackware bekomme ich nicht viel kleiner als 100MB - es ist aber auch gar nicht notwendig das ganze so klein wie Fli4l zu halten.
Ich hab ja 256MB zur Verfügung - an Datenspeicher für die Anwendugen brauche ich maximal 64MB - wenn überhaupt. Auf 100MB mehr oder weniger kommt es hier also eher nicht an.
Was ich aber brauche ist RAM - und da sind ja nur 128MB vorhanden. Java braucht immer viieeel RAM.

Naja es funktioniert ja nun auch. Hoffentlich geht das auch auf der CF Karte...

Das teste ich jetzt mal...
:)