[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Reproduzierbare Erstellung



On Sun, May 13, 2001 at 10:40:02PM +0200, Klaus Knopper wrote:
> On Sun, May 13, 2001 at 09:06:32PM +0200, Eduard Bloch wrote:
> 
> > Für den Kernel und -abhängigen Pakete gibt es das "kernel-package".
> > Kernel-Source kommt nach /usr/src/linux, alle zusätzlichen
> > Source-Pakete, z.B. alsa-source, werden bei Debian in /usr/src/modules
> > entpackt. Nun kann der Skript "make-kpkg" aus kernel-package aus diesem
> > Verzeichnissbaum in einem Rutsch verschiedene Pakete bauen. Was
> > rauskommt sind Standard-konforme DEBs, d.h. z.B. kompilierte
> > ALSA-Module, die mit den gleichzeitig erzeugten Kernel-Image eingesetzt
> > werden können. Auch das Kernel-Paket ist ein "richtiges"
> > Debian-Kernel-Paket mit eingebauter LILO-Boot-Loader-Installationroutine
> > u.ä.
> 
> Hmm.. Was ist mit so Sachen wie reiserfsutils, pcmcia(-utils)? Das sind nicht
> direkt Module, die brauchen aber schon die Includes des gleichen Kernels.

für was braucht man auf einer solchen CD 'reiserfs' ?

ist doch sowieso alles ro auf cd bzw. in der ram-disk?

> Gibts irgendwo eine Anleitung, wo drinsteht, wie dieses debian-Paketsystem
> funktioniert? Der "New Maintainers Guide" ist ziemlich unbrauchbar, finde ich.

ja. unter http://www.debian.org/devel/ sollte sich alles finden.

wenn du Fragen hast: frag hier.

> Und die Bootdiskette ist wieder ein Thema für sich, da müssen ja auch die
> passenden Module zum Kernel bzw. der Kernel selbst und eine ash mit eingebautem
> insmod (Redhat-SRC-RPM habe ich) drauf.

also die debian BFs benutzen dafür busybox. Da ist insmod etc. drauf
bzw. dabei.

> Im Bootscript linuxrc passiert viel mit Variablen, und einige Sachen werden
> in /etc/sysconfig/subsystem registriert (argh, das gibt's unter Debian ja auch
> nicht!!!) und später von den Initscripten und bei der Autokonfiguration
> übernommen. Vor allem wichtig wegen eventueller Parameter, die beim Booten
> übergeben wurden wie lang=en oder desktop=GNOME oder ähnliches.

was ist '/etc/sysconfig/subsystem' ? (was imho kein Linux-Standard
ist, nur btw.)

Oder besser: für was ist diese Datei?

Wenn es nur um die Speicherung von Werten geht: 
erzeuge doch einfach eine Datei (wenn du möchtest auch
/etc/sysconfig/subsystem) und schreibe dort die Werte in der Form
'Name=Wert' hinein. 

> Ich bin halt immer von einem "normalen" System ausgegangen, und da sollte
> unter /usr kaum schreibbares Zeug liegen, dafür einiges in /var (was auf der
> Ramdisk ist) und /etc (was auch auf der Ramdisk ist), und es müssen ein Haufen
> Softlinks geseztz werden. Das IST eben distributionsspezifisch.

dazu: 

unter /usr/ liegt bei Debian _nichts_ was beschreibbar sein muß
unter /etc/ liegt im Grunde auch nichts was im Betrieb beschreibbar
  sein muß
/var muß natürlich becshreibbar sein. (sagt der Name ja schon)

> > > > - Schreiben eines Programmes knoppify (muss auch in knoppix.deb rein),
> > > >   das die Initscripte verbiegt, dass die Knoppix-Versionen benutzt
> > > >   werden und Boot-Floppy und CD erzeugt
> > 
> > Yep. Aber halt in das knoppix-dev.deb.
> 
> Ich hatte die KNOPPIX-Initscripte bisher einfach in einem anderen Verzeichnis
> in /etc als die normalen. Leider sind ja bei Debian auch wieder die
> Runlevelverzeichnisse anders als woanders...

und? 
Benenne diese einfach entsprechend um und mache ein 
'cp -a /etc/knoppix_init/* /etc/init.d/' 

> Naja, Ideen und Leute, die sie auch umsetzen, sind natürlich immer gesucht.
> Ich bin halt bisher immer mit ziemlich witzlosen URLS und Dokumentationen
> zugepflastert worden statt mit konkreten Lösungsvorschlägen, wenn ich eine
> (scheinbar einfache) Frage hatte. Im Moment sehe ich noch kein Land, aber das
> liegt einfach daran, dass ich bisher nur auf RedHat-basierten Systemen
> (RH, Mandrake, SuXe, DLD) gearbeitet habe. Wie Debian funktioniert ist mir noch
> nicht ganz klar, und es hat mich etwas beruhigt, dass es auf #debian.de auch
> offenbar niemand weiß. ;-)

dann hast du die falschen Leute gefragt oder Fragen, die ich mir noch
nicht vorstellen kann...

Wie gesagt: bei Fragen: frag!

> Also ich relativiere mal das "unmöglich" in "ich weiss nicht, wie es geht, bin
> aber lernfähig, glaube aber nicht, dass wir den Automatismus bis zu dem Termin,
> an dem die CD ins Presswerk muss, fertig bekommen".

genau hier sehe ich das Problem: die Zeit...

> > > Das Skript müsste automatisch herausfinden, welche Programme welche
> > > Konfigurationsdateien an welcher Stelle schreibbar brauchen, und die
> > 
> > Ja. Dafür würde ich eine kleine Datenbank anlegen.
> 
> Die wird nicht klein sondern ziemlich gross und muss von allen Betatestern
> zugreifbar sein. Mailingliste besser?

Wie schon in der anderen Mail gesagt, versteh ich euch beide hier
nicht. Was muß da 
 1.) beschreibar sein
 2.) was soll da in eine DB
 3.) warum das alles

> > > > Vorgehensweise zum Erzeugen der Knoppix:
> > > > 
> > > > 1. Installation einer Minimal-Debian (base)
> > > 
> > > Alleine das dauert jetzt schon 3 Tage, und war nicht ohne Handarbeit möglich.
> > > Einige der notwendigen (libkudzu für hwsetup) oder zumindest nützlichen
> > 
> > Für libkudzu hab ich ein ITP gesehen, ich würde die Person fragen, ob er
> > evtl. schon Snapshots davon zur Verfügung stellt.
> 
> Wenn mir das Source-Paketsystem von Debian etwas klarer wäre, könnte ich sicher
> auch selber das Paket paketieren. Evtl. lohnt es sich auch, hwsetup für die
> libdetect umzuschreiben, die ja anscheinend von Debian bevorzugt wird.

schnapp dir einen debianer und lass es dir erklären. Wenn du schonmal
packages gebaut hat, dauert das 30 Minuten und alles sollte in den
Grundzügen klar sein. 

Ich selber mache das auf fast jeder Linuxmesse/tag, wenn einer mal
eben fragt live vor. (Bist du in Margdebug?)

> Allerdings weiss ich nicht, wie stabil die ist. Kann die auch Monitorfrequenzen
> proben? (das schafft nämlich dir libkudzu noch nicht), und wie sieht es mit
> Grafikkartenerkennung aus?

Dumme frage: was spricht gegen FB?

[packages in testing/unstable aber nicht in stable]

> Kann man die in einer Form bekommen, so dass man sie auf der "stable"
> Debian 2.2 compilen kann, ohne dass man alle möglichen Developer-Pre-Alpha-Libs
> installieren muss?

wie schon gesagt, benutz einfach testing. 

Wenn du hier hilfe brauchst: 
ich kann bestimmt einige Packages für dich neu bauen, wenn das
notwendig sein sollte.

> Und Du hast recht: wir haben eigentlich auch nur wenige Wochen, bis es
> schon mal irgendwie laufen muss, sonst schaffen wir es bis zum LinuxTag nicht
> mehr. Auf jeden Fall brauchen wir so viel Hilfe wie möglich. Wenn Du z.B.
> aus Redhat SRC.RPMS Debian-Pakete bauen könntest (zumindest mal so weit, dass
> ich mir ansehen und verstehen kann, wie das geht), wären wir schon eine großen
> Schritt weiter.

IMHO baut man lieber debian-packages from scratch statt mit Hilfe
solcher spec-files(?). 

> > Meinst du? Nur so als Beispiel: Debian's "base"-System wird auch so
> > automatisch gebaut, und es schein zu funktionieren, mehr oder weniger.

da werden aber nur:
 - Programme übersetzt
 - Sachen aus der Distri genommen
 - alles geordnet zusammen gelegt

> Ist das irgendwo dokumentiert?

bei debian ist einfach alles dokumentiert (und wenn eben in
Script/Source-form)

cvs.debian.org

wird dir aber IMHO nicht viel für knopix helfen.

> Also, es gibt ab dem Moment, wo init startet, 2 bis 4 Partitionen:
> 
> /KNOPPIX   1.5 Gig, über cloop gemountet von CD, read-only
>            da liegt ALLES drauf, was nicht unbedingt schreibbar sein muss.
>            Softlinks in / zeigen auf /KNOPPIX/usr, /KNOPPIX/bin usw.

klar

> / Ramdisk, 4 MB (rw), da liegt auch /etc drauf

ok

> /home Ramdisk, variable Größe, kann auch auf / sein, falls nicht genug
>            Hauptspeicher vorhanden.
> /var  Ramdisk, variable Größe, siehe /home. Alles, was NICHT schreibbar sein
>            muss, wird per Softlink von /KNOPPIX verlinkt.

/var muß beschreibbar sein. Alles was nicht beschreibbar sein muß, ist
bei debian nicht in /var/. Was ist denn bei der alten CD unter /var/
und dort nicht 'NICHT (be)schreibbar'?

> Ob diese Einteilung sinnvoll ist, mag diskutiert werden. Sie läuft
> zufriedenstellend ab 8 MB Hauptspeicher (natürlich dann ohne X).

ich sehe hier keine Probleme

> > > 2.) ist bei der nächsten Debian sowieso wieder alles anders, und der
> > > Automatismus, der vielleicht mit hohem Aufwand noch bei 2.2 geklappt hat,
> > > versagt im nächsten Release schon wieder.
> > 
> > Glaube ich nicht, weil sich alle Maintainer an die FHS zu halten haben,
> > und das kann sehr wohl automatisch verarbeitet werden.
> 
> Ist /cdrom unf /floppy wirklich Filesystemstandard?! Was ist denn bei mehreren

nein. 
$ zgrep -i cdrom /usr/doc/debian-policy/fsstnd/fsstnd-1.2.txt.gz 
$ zgrep -i cdrom /usr/doc/debian-policy/fhs/fhs.txt.gz 

Das Wort cdrom gibt es also überhaupt nicht.

> CD-Roms, heissen die dann auch /cdrom1, /cdrom2 ... oder werden die, wie ich es
> von Redhat-Systemen her kenne, als Unterverzeichnisse von /mnt gemountet?

dazu der Hintergrund:
Bis zu slink(?) wurde von Debian das cdrom, floppy ... überhaupt nicht
beachtet und /cdrom/ und /floppy/ waren nur leere Dirs. Man mußte als
Systemadmin selber die Einträge in /etc/fstab machen.

Mit der potato wurde das dann in die BFs aufgenommen und diese
automatisch in /etc/fstab eingetragen, wenn das CD-Rom benutzt wird.

Wenn man mehrere CDs hat, macht Debian mit den weiteren nichts. Das
ist Aufgabe des Systemadmins. Ich würde bei mehreren CDs auch /mnt/*
benutzen oder gleich autofs...

> > > Soweit möglich, lassen wir "script" mitlaufen, um die arbeitsaufwendigsten
> > > Schritte zu dokumentieren (Anpassen der Init-Skripte, Schreiben von Wrappern
> > > für alle möglichen Programme, Umstrukturieren von /usr/share/applnk und tausend
> > > andere Sachen) oder es werden Changelogs geführt mit abstrakten Beschreibungen,
> > > was zu tun ist.
> > 
> > Was zu 
> > - umständlichen Logs führt, wo dann doch jemand einen wichtigen Eintrag
> >   vergisst, und
> > - irrsinigen, immer zu wiederholenden Aufwand.
> 
> Hier fehlt mir noch der entscheidende Hinweis, wie wir das einfacher
> hinbekommen ohne Handarbeit.

ok:
Mach es einfach nicht mit Hand sondern sofort in einen Script. Alles
was du (nach deinen Weg) an der Konsole eingeben würdest, kannst du
auch in einen Script schreiben und dieses dann ausführen.

Entwicklungsschritte: 

base in dir installieren
cp -s DIR DIR_Backup
vi DIR/script
cdroot DIR
./script
testen
exit
cp -s DIR_Backup DIR 
vi DIR/script
cdroot DIR
./script
usw.


Gruss
Grisu
-- 
Michael Bramer  -  a Debian Linux Developer http://www.debian.org
PGP: finger grisu@db.debian.org  -- Linux Sysadmin   -- Use Debian Linux
"Vorbeikommen kannst Du (fast) immer.
 Ich melde mich, wenn ich die Termine meiner Frau alle weiß." -- ein Freund

Attachment: pgpOWjmJj38hv.pgp
Description: PGP signature


Reply to: