# EasyLFS Projektthread



## Dennis Wronka (8. Februar 2007)

Da es ja nun bereits eine veroeffentlichte Version meines EasyLFS gibt und meine Website weiterhin in Arbeit ist moechte ich das Forum nutzen um hier einen kleinen Thread zu dem Projekt anzulegen. Bisher wurde ja im Thread Automatisierung von Linux from Scratch diskutiert und dort finden sich auch einige Informationen zum Projekt, jedoch moechte ich nun auch einen "offiziellen" Thread dazu hier ablegen, auch aus dem Grund dass die meisten meiner Opfer, aeh Tester, hier Mitglied sind.

Fuer alle die es nicht schon aus dem anderen Thread wissen hier nochmal in komprimierter Form eine kurze Vorstellung meines Projekts. Anfangen moechte ich hier mit meinen Gruenden dieses Projekt ueberhaupt in's Leben zu rufen.

Da ich selbst nie wirklich "die Distribution" fuer mich finden konnte habe ich nach ein paar Jahren Slackware (die meinen Vorstellungen schon recht nah kam) mal wieder gedacht ich koennte mir nochmal Linux from Scratch installieren.

Nun wollte ich aber eben auch mit den jeweils aktuellsten Versionen der aufgefuehrten Software arbeiten und nicht mit den Versionen die im LFS-Buch behandelt werden. Bei den Befehlen hab ich mich groesstenteils an das Buch gehalten, von Anpassungen wegen neueren Versionen natuerlich abgesehen.

Nachdem ich mein System dann fertig hatte und auch alles andere (inklusive KDE und so weiter) installiert hatte war ich ziemlich zufrieden mit dem System und kann nur sagen, dass ich mit LFS die Distro gefunden hab die mir persoenlich am meisten zusagt.

Die Installation von Linux from Scratch ist ja nun nicht gerade einfach, man muss eine ganze Menge tippen, das nimmt nicht nur viel Zeit ein sondern ist auch fehleranfaellig. Doppeltes und dreifaches Ueberpruefen der Eingaben nimmt also auch nochmal gut Zeit in Anspruch.

Da mir bekannt war, dass es bereits Ansaetze gibt LFS zu automatisieren hab ich mich darueber etwas schlau gemacht konnte aber damit nicht so recht warm werden. Dadurch wurde dann im Grunde auch mein Projekt in's Leben gerufen. Ich wollte mir einfach ein paar Scripts schreiben die mir die ganze Tipparbeit abnehmen. Zusaetzlich wollte ich dann auch gleich zusaetzliche Features bieten die meiner Meinung nach oft benoetigt oder zumindest sinnvoll sind.

Der naechste Schritt war also die ganze Software die ich benoetige zu besorgen, in den jeweils aktuellsten stabilen Versionen, und das Buch zu Scripts zu machen.

Nach nicht gerade wenig Arbeit, denn ich musste ja alles immer wieder testen, aendern, wieder testen, ... war dann EasyLFS 0.1 fertig. Mit Hilfe der Linux Live Scripts auf denen auch die LiveCD Slax aufbaut konnte ich das frisch kompilierte System zu einer LiveCD machen damit diese dann zur Installation genutzt werden kann.

Diese Version wurde aber nie veroeffentlicht da es noch ein paar Punkte gab die in dier erste verfuegbare Version einfliessen sollten. Also hab ich dann gleich mit der Arbeit an der naechsten Version weitergemacht. 0.2 war dann kurz verfuegbar, aber durch einen bloeden Fehler meinerseits schlug die Installation von Lilo fehl (es wurden keine Devices angelegt und somit konnte Lilo nicht in den MBR geschrieben werden).

Nun ist 0.2.1 verfuegbar und folgende Unterschiede zum LFS-Buch sind dort zu finden (von den unterschiedlichen Versionsnummern der eingesetzten Software abgesehen):

3 verschiedene GCC-Versionen (3.4.6, 4.0.3 und 4.1.1)
verschiedene Dateisysteme zur Auswahl (ext2, ext3, ext4, reiserfs, jfs und xfs), inklusive der passenden FS-Utils
Lilo statt Grub
RAID-Unterstuetzung durch dmraid und mdadm
joe und nano als Alternativen zum Editor vim
SLocate als sicherere Alternative zu Locate
Festplattenmanagement und -ueberwachung mit hdparm und den smartmontools
Unterstuetzung fuer fertige Pakete durch dpkg und rpm
Lynx und wget um nach der Installation des Basissystems auch weitere Software aus dem Internet laden zu koennen
SELinux-Unterstuetzung, jedoch bisher nur grundlegend, es werden die entsprechenden Libraries und Tools installiert und auch andere Software wird, soweit moeglich, mit den entsprechenden Optionen kompiliert um SELinux zu unterstuetzen.
pkg-config
openssl
dcron
eject
fuse
iptables
kexectools
lmsensors
nettools
ntfsprogs
parted
pciutils
usbutils
which
Die meisten Punkte sind optional, aber koennen fuer einige User sicher interessant sein.

Nun auch gleich was unerfreuliches zur aktuellen Version, es gibt ein paar Bugs. Nichts wildes, aber trotzdem Bugs.

Das Startscript fuer den Cron-Daemon hat keine Ausfuehrrechte.
Wenn dies dann manuell behoben wird oder der Daemon von Hand gestartet wird vermisst dieser das Verzeichnis /etc/cron.d. Der Daemon laeuft auch ohne, aber so eine Meldung ist nicht schoen.
Wenn Vim nicht installiert wird funktioniert crontab nicht, daher wird in der naechsten Version Vim wieder Standard und nicht mehr optional.
Durch einen Bug im Shadow-Paket ist es nicht moeglich useradd und usermod eine Gruppe mitzugeben. Dadurch wird die Userverwaltung ein wenig in ihrer Funktion eingeschraenkt.
Fuer all diese Bugs sind bereits Loesungen gefunden und implementiert und werden somit in der naechsten Version nicht mehr existieren.

Weiterhin wird die naechste Version wohl endlich auch ein Resume-Script bekommen, vielleicht schon komplett, moeglicherweise nur partiell. Eine Hilfe koennte es trotzdem sein.
Natuerlich werden fuer die naechste Version auch wieder die Pakete aktualisiert werden und wenn ich die Zeit finde werd ich auch die SELinux-Unterstuetzung durch die Referenz-Policies erweitern.

So, das war es dann mal an Infos zur aktuellen Version, und dem kleinen Ausblick auf die naechste Version, bei der aber sowohl Versionsnummer und mitgelieferte Pakete noch ungewiss sind. Die Versionsnummer wird sich hauptsaechlich am Status des Resume-Scriptes orientieren. Wenn die Installation noch nicht vollstaendig resume-faehig ist dann wird es wohl 0.2.5, ansonsten wohl 0.3.

Wie ueblich bin ich natuerlich fuer Fragen, Anregungen und Kritik offen. Diejenigen die es mal ausprobiert haben sind natuerlich auch herzlich eingeladen hier ihre Erfahrungen und Bugreports zu posten.

Ach so: Bisher gibt es den Download-Link auf Anfrage via PM. Ich moechte den zur Zeit noch nicht oeffentlich posten da es sich bei dem Server nicht um meinen eigenen handelt sondern mir der Platz und Traffic freundlicherweise von unserem User Azi zur Verfuegung gestellt wird. Daher moechte ich zumindest versuchen seinen Server nicht all zu sehr zu belasten.
Das aktuelle CD-Image hat uebrigens ca. 460MB.

Uebrigens: Falls sich jemand fragen sollte warum ich das hier alles schreibe so moege ihm gesagt sein, dass ich das Projekt fuer interessierte User so transparent wie moeglich halten moechte und natuerlich auch Feedback aller Art versuche zur Verbesserung des Systems zu nutzen.


----------



## andy72 (12. Februar 2007)

Hallo Dennis,

erstmal muss ich sagen: "Hut ab, so ein Projekt zu starten" 

Aber: eine Frage hätte ich noch dazu:
Wie weit ist Dein System getestet, speziell ist die frage, ob Pakete wie KDE 3/4 ,Gnome2.16, OpenOffice2.x oder Java kompilierfähig ist... Ich hatte bei LFS Version 5.1 das Problem, dass sich verschiedene Sachen nicht mehr kompilieren liessen.

LG
Andy


----------



## Dennis Wronka (12. Februar 2007)

Aktuell laeuft bei mir noch LFS 6.1.1, aber auch dieses ist bereits bei der Installation von mir etwas an meine Beduerfnisse angepasst worden. Im Grunde aehnlich wie auch jetzt auch mein EasyLFS vom Original-LFS abweicht. Diesen Beitrag, und viele vorherige auch, schreibe ich im Konqueror 3.5.2, unter eben diesem System.
OpenOffice und Java sind, so muss ich gestehen, die beiden einzigen Pakete die ich nicht selbst kompiliert hab. Bei Java hab ich es aus mir selbst unbekannten Gruenden nie probiert, bei OpenOffice hat mich diese Geschichte mit dem Solver bisher immer was abgeschreckt. Beides wollte ich aber auch irgendwann (wahrscheinlich bei der naechsten Installation) mal angehen.

Da EasyLFS also im Grunde mehr oder weniger meinem aktuellen Basissystem entspricht, nur eben mit aktuellerer Software, sehe ich im Grunde keine Bedenken, dass auch KDE oder Gnome lauffaehig sein sollten. Bei Gnome ist nur eben die unangenehme Arbeit mit der Installation von 1000 kleinen Paeckchen mit immer wieder neuen, lustigen Abhaengigkeiten. Soweit getestet hab ich das System aber noch nicht.
Im Moment muss ich auch etwas mit Plattenplatz haushalten (muss noch 2 Stunden Urlaubsvideo aufnehmen und auf DVD bannen), aber danach werd ich das dann mal testen.

Aber wie gesagt, es sollte eigentlich kein Problem sein, nur sind es bis KDE eben noch so einige Pakete die installiert werden wollen.


----------



## Dr Dau (12. Februar 2007)

Hallo!

[off]
Dieses Thema ist auf Platz 1 im Google PageRank. 
Fängt ja schon gut an. 
[/off]

Gruss Dr Dau


----------



## andy72 (12. Februar 2007)

Da Du Java zum laufen bekommen hast, schlussfolgere ich mal ganz frech, dass das Java mit der Glibc/libstdc++ kompatibel ist - eben bei mir gab da damals ein paar probleme, und ich kam dann ums selbstkompilieren nicht drum herum  ... mein LFS,das
ich hatte, war später eher eine Anlehnung an Fedora Core, da ich die Init-Scripte vom LFS blöd fand und einiges auch nach FHS gebaut habe (zB. Samba etc). seit Kernel 2.16 hab ich's ned mehr probiert, der Umstieg auf das "neue" LFS war mir dann zu aufwendig, und ich hab es gelassen *g*

LG
Andy


----------



## Dennis Wronka (13. Februar 2007)

Java laeuft soweit wunderbar, hab keine Probleme damit.
Ich muss aber auch sagen, dass ich mit Java nicht wirklich viel mache, es ist bei mir eigentlich ausschliesslich als Plugin in Konqueror und Firefox taetig.
Wenn ich mich recht erinnere hab ich aber auch mal kurz Eclipse probiert und ich glaub der lief auch.


----------



## andy72 (13. Februar 2007)

Prima, ich freu mich schon, wenn mein Sys fertig ist.
Hab heute morgen noch vorm losgehen das Stage1 angefangen,
nach 15 min war er schon beim GCC am kompilieren, bin gespannt,
was los ist, wenn ich heim komme - aktueller Status kommt dann
sofort.

Vielleicht könnte man das ganze ja auch noch etwas automatisieren,
wenn beim kompilieren kein Fehler auftrat - so muss man eben erstmal
das näxte Stage anstossen, rein zeitlich könnte das Sys jetzt schon
fertig sein *motz* 

Bis dahin
LG & Have a nice Day
Andy


----------



## Dennis Wronka (13. Februar 2007)

Das Problem mit den einzelnen Stages ist hier chroot. Ich hatte es erst probiert alles in einem Rutsch zu haben, jedoch verliert das Script die Kontrolle wenn es in die chroot-Umgebung wechselt.
Daher eben die einzelnen Scripts.

Ich bin nicht ganz sicher, aber ich meine mich zu erinnern, dass man chroot mitgeben kann was dann nach dem Wechsel in die chroot-Umgebung ausgefuehrt werden soll, das waere eine Loesung, aber da werd ich erstmal schauen muessen ob ich mich da nicht falsch erinnere.


----------



## andy72 (13. Februar 2007)

Alles in allem ist das wirklich sehr easy, sofern man zumindest weiss, was
Linux im Hintergrund macht. Hab mich erstmal gewundert, warum der plötzlich anfangen
wollte /dev zu formatieren - hab in der Config überlesen, dass man das da sagen muss,wo er formatieren soll  ... danach gings aber problemlos und wirklich einfach.
Im übrigen stelle ich mich hier gerne als erfahrener LFS'er und Linux-Guru (bin letztes Jahr nur 40 Punkte am LPC-1 vorbei) bereit, bestimmt taucht ja noch das eine oder andere Problem auf, auch mit C/C++ kenn ich mich bissi aus, von daher werden wir hier schon was aufziehen *träum*


----------



## Dennis Wronka (13. Februar 2007)

Ich bin fuer jede Hilfe und alles an Feedback dankbar.
Vor allem bei der Fehlersuche und -behebung ist es immer gut nicht allein zu arbeiten.

Und jeder hat ja auch ein anderes System, dass das ganze nun bei mir durchlaeuft und auch im QEmu heisst ja nicht, dass es auch bei jemand anderem genauso wunderbar durchlaeuft. Vor allem das ist eben wichtig fuer mich, zu wissen, dass das System fuer verschiedene Systeme geeignet ist.

Das kleinste System mit dem ich bisher getestet hab ich mein 586er Notebook mit 64MB RAM und keine Ahnung wieviel MHz (ich glaub 133 oder so, muesste ich nachsehen). Darauf konnte ich erfolgreich EasyLFS 0.1 installieren und betreiben. Das groesste bisher getestete System ist eben mein Athlon XP 3000+ mit 1GB RAM und 2.1GHz.
Auch 64-Bit- und MultiCore-/MultiCPU-Systeme waeren mal wirklich interessant.

Alles in Allem muss ich aber sagen, dass ich bisher mit der Entwicklung soweit zufrieden bin. Natuerlich ist es noch eine fruehe Version und es gibt noch viel zu verbessern, aber ich hab das Ganze ja unter anderem auch angefangen um daraus was zu lernen, und das hab ich auch.
Ich hab gut was ueber Shell-Scripting gelernt, was ich zuvor eigentlich so gut wie garnicht gemacht/gebraucht hab, und ich bin mal wieder was mehr mit C in Beruehrung weil es halt auch schonmal einen Patch zu schreiben gibt wenn mal was nicht kompiliert und man nichts im Netz finden kann.

Und vor allem hab ich eben jetzt eine gute Basis erreicht auf der ich aufbauen kann und so auch recht einfach Pakete hinzufuegen und/oder aktualisieren kann.


----------



## andy72 (14. Februar 2007)

*1. Statement zum Projekt easyLFS*

Hallo allerseits,

heute endlich komme ich dazu, mich zur Installation zu äussern:

1.) Grundkonfiguration und start der Installation
-------------------------------------------------------------------
Nachdem die CD unter VMWare Workstation 5.5 ohne Probleme
"hochgefahren" ist, hab ich dann gleich mal an das Config-Script gemacht,
meine Festplatte (das 2. mal richtig) eingetragen, und das erste Script gestartet.
Alles lief bis zum letzten Stage durch, nun stand ich also nach ca. 8 Stunden
kompilieren am Lilo, und wenige Sekunden später an der Bash.

2.) Nutzung des Systems
-------------------------------------------------------------------
Nachdem das System ordnungsgemäss gestartet ist, stellte ich fest, dass hier und
da noch etwas an Software fehlt - so zB OpenSSH, Samba, Apache, ProFTPd,
MySQL, Postfix,etc - aber das wäre ja für ein "neues" OS auch zu viel, also machte
ich mich dran, unter VMWare erstmal ein paar Treiber zu installieren.
Auch diese lief FAST problemlos, da der Netzwerk-Treiber unter Kernel 2.6.19.1
nicht mehr ohne Fix kompiliert - aber das werde ich dann heute abend noch beheben,
so dass ich mit der Installation weiterer Software aus dem Netz beginnen kann.

Fazit:
Für erfahrene user, die sich mit den erweiterten Grundlagen eines blanken Linux
auskennen, eine runde Sache, an der man sich schön austoben kann, schlussum:
Ich bin echt begeistert 

LG
Andy

PS: den Patch für VMWare stelle ich hier rein, sobald ich das selbst gefixed habe.


----------



## Dennis Wronka (15. Februar 2007)

andy72 hat gesagt.:


> 1.) Grundkonfiguration und start der Installation
> -------------------------------------------------------------------
> Nachdem die CD unter VMWare Workstation 5.5 ohne Probleme
> "hochgefahren" ist, hab ich dann gleich mal an das Config-Script gemacht,
> ...


Was mich dabei mal interessieren wuerde: Welche Optionen hast Du gewaehlt? Also welches Filesystem, welcher GCC, GCC komplett oder nur C/C++, und welche anderen Programme? Auf was fuer einem Rechner lief VmWare und was fuer einer wurde emuliert?



andy72 hat gesagt.:


> 2.) Nutzung des Systems
> -------------------------------------------------------------------
> Nachdem das System ordnungsgemäss gestartet ist, stellte ich fest, dass hier und
> da noch etwas an Software fehlt - so zB OpenSSH, Samba, Apache, ProFTPd,
> ...


Dass solche Sachen wie Apache, MySQL, etc. fehlen ist Absicht und wird sich wohl auch erstmal nicht aendern. Dies sind doch schon eher speziellere Sachen und werden nicht von jedem User benoetigt. Moeglicherweise mach ich mal eine Server-Edition von EasyLFS, wo dann auch solche Sachen dabei sind. 

Aber fuer das eigentliche Projekt wollte ich mich eigentlich auf Software beschraenken die entweder jeder braucht, oder zumindest wirklich sinnvoll ist (nicht jeder braucht IPTables, aber es ist schon ein sinnvolles Tool).

An ein paar Sachen ueberleg ich grad rum ob diese sinnvoll/wichtig genug sind um aufgenommen zu werden. Auf jeden Fall will ich das System nicht unnoetig aufblaehen (die LiveCD sollte eine *CD* bleiben).



andy72 hat gesagt.:


> Fazit:
> Für erfahrene user, die sich mit den erweiterten Grundlagen eines blanken Linux
> auskennen, eine runde Sache, an der man sich schön austoben kann, schlussum:
> Ich bin echt begeistert


Wow, vielen Dank fuer das wirklich positive Feedback. 
Na sowas motiviert doch mal richtig fuer die Arbeit an der naechsten Version.



andy72 hat gesagt.:


> PS: den Patch für VMWare stelle ich hier rein, sobald ich das selbst gefixed habe.


Vielen Dank.


----------



## Dennis Wronka (15. Februar 2007)

So, jetzt mal was zur kommenden Version:
Folgende Software ist zur Aufnahme geplant:

DHClient, um mal von dem Zwang zur statischen IP wegzukommen und auch DHCP zu unterstuetzen
die Client-Tools von BIND, da z.B. host ein sehr praktischer Befehl ist.

Weiterhin ueberlege ich ob folgende Software mit rein soll;

OpenSSH, zumindest der Client
NcFTP
DosFSTools
Screen
NTFS-3G
Midnight Commander

Eventuell kommen die SELinux Reference Policies dazu, damit muss ich aber erstmal rumtesten.

Und ich wollte dann auch gleich mal nach Euren Ideen fragen.

Was sollte noch mit in EasyLFS aufgenommen werden?
Was haltet Ihr von den hier genannten Programmen? Sollen diese mit rein oder sind sie unsinnig?
Ist irgendeines der bereits enthaltenen Pakete (siehe erster Post) ueberfluessig?


----------



## andy72 (15. Februar 2007)

Also, dann noch ein Paar Details:

Erstmal zu VMWare:
Das Host-System ist ein WinXP-Rechner mit SP2, die VMWare-Workstation hat die Version 5.5 (letztes Release, unter dem auch Vista zu installieren geht). Die Konfiguration ist eher Standard,
habe also alle Standrd-Optionen aktiviert, ausser, dass ich Anstelle der SCSI-Geräte nun doch
IDE verwendet habe, da das SCSI nicht ansprechbar war (VMWare-eigenes Problem, hat nix mit easyLFS zu tun). Das LFS-ISO hab ich also nur gemounted und auch nicht gebrannt,
aber ein funktionsunfähiges Image wäre auch unter VMWare nicht gelaufen, von daher geb ich da mal nix drauf.
Als Netzwerk benutze ich Bridged-Networking, NAT ist mir etwas zu suspekt und erwartet später mal ipTables, habe dafür im Mom nicht die Zeit 

An den Kompiler-Optionen habe ich erstmal nix geändert, also alles fein mit GCC 3.4 durchlaufen lassen, gestern abend fiel mir dann auf, dass der 3.4er nicht mit der glib-1.2.10 will, aber auch da werd ich noch mal gucken, ob ich einen Patch finden kann.

An Software habe ich jetzt zusätzlich erstmal nur mc-4.6.1 installiert, auch nur Standard,
als Hinweis muss ich kurz erwähnen:
FINGER WEG VON MC-4.5.55 
Hatte diese Version zuerst drauf, da auf dem Gnome-FTP keine neuere Version verfügbar war, jedoch hat genau diese Version Probleme mit langen Path-Names, und es kommen sinnvolle Fehlermeldungen auf der Shell: "Cant change Directory to /usr/src/vmware-tools-distrib/vmxnet-only" - die neue Version hatte das dann nicht mehr.
Gerade kompiliert OpenSSH-4.3p2, auch das lief soweit durch.

So, nun zur Anleitung, wie man unter der VMWare den Netzwerktreiber zum Laufen bekommt:
1.) Linux.iso unter VMWare mounten
2.) System starten und das virtuelle CD-ROM-LW nach /mnt/cdrom oder sonstwohin mounten
(mount /dev/hd /mnt/cdrom)
3.) VMWareTools-5.5.3-34685.tar.gz nach /usr/src kopieren & entpacken
4.) ins Verzeichnis /usr/src/vmware-tools-distrib/lib/modules/source wechseln
5.) vmxnet.tar entpacken und die Datei in vmxnet-only/vmxnet.c editieren,
Gehe zu Zeile 1059, und ändere die Funktion folgend:


```
ORIGINAL:
static void
vmxnet_netpoll(struct net_device *dev) {
  disable_irq(dev->irq);
  vmxnet_interrupt(dev->irq, dev, NULL);
  enable_irq(dev->irq);
}

GEÄNDERT:
static void
vmxnet_netpoll(struct net_device *dev) {
  disable_irq(dev->irq);
  vmxnet_interrupt(dev->irq, dev);
  enable_irq(dev->irq);
}
```

Das Problem tritt auf, da der Kernel nicht wie erwartet 2.6.19 ist, was in sämtlichen Präprozessor-Directives abgefragt wird, sondern 2.6.19.1 - somit ist die Kernel-Version zu hoch, und das kompilieren schlägt fehl, da für die höhere Kernel-Version ein anderer Funktionsaufruf stattfindet. oben genannte Funktion ist 2x deklariert, und das für Kernel < 2.6.19 und Kernel > 2.6.19, wo easyLFS darunter fällt 

6.) Datei speichern und das Verzeichnis vmxnet-only wieder mit TAR komprimieren:
tar cf vmxnet.tar vmxnet-only
7.) Installation ganz normal starten, alles einfach mit "yes"/Enter bestätigen
8.) Nach erfolgreichem kompilieren nun den neuen Treiber für das Netzwerk einbinden:
modprobe vmxnet
9.) IP-Adresse an ETH0 vergeben
10.) Falls noch nicht geschehen, noch in /etc die Datei resolv.conf erstellen:
echo "nameserver 130.149.4.20" > /etc/resolv.conf
11.) IP-Forwardiung aktivieren: echo "1" > /proc/sys/net/ipv4/ip_forward
12.) Default_gateway auf die Hostmaschine setzen (IP's müssen natürlich im selben Subnet liegen)

So, ich hoffe, ich habe was Sinnvolles beigetragen 

LG
und einen schönen Tag
Andy


----------



## Dennis Wronka (15. Februar 2007)

Wow, klasse Anleitung.

So sollte dann wohl jeder mit VmWare auch Netzwerk haben koennen.

Uebrigens, es sollte erst 2.6.19 werden, aber damit gab es ein Problem, darum bin ich erst auf 2.6.18.irgendwas zurueck. Dann kam 2.6.19.1, ich hab's damit probiert (weil ich ext4 in meine FS-Liste aufnehmen wollte  ) und es ging.
Die naechste Version wird wahrscheinlich mit 2.6.20 oder 2.6.20.1 (falls bis dahin erschienen) daherkommen nehme ich an.

Und danke fuer die Erinnerung an MC, da ueberleg ich naemlich auch ob der gleich mitkommen sollte. Hab ihn oben eingetragen.
Auf dem GNU-FTP findet man uebrigens auch nur 4.5.55, aber ueber Freshmeat konnte ich die offizielle Seite finden.


----------



## Dr Dau (15. Februar 2007)

Der MC macht einem das Leben zwar um einiges einfacher, aber braucht ein erfahrener Anwender ihn auch?

Mit DHCP ist immer so eine Sache, ich persönlich nutze schon seit Ewigkeiten und 3 Tagen ausschliesslich statische IP's.
Wichtig ist halt dass man die Netzwerkkonfiguration rechtzeitig vornehmen kann (logischerweise vor irgend welchen Downloads  ).

DosFSTools sind zwar Standard, werden aber nicht von jedem gebraucht --> optionales Paket.

NTFS-3G, siehe DosFSTools.

Screen könnte durchaus interessant sein.

NcFTP kann ganz nützlich sein, aber meiner Meinung nach nur als optionales Paket.
Um z.b. weitere Sourcen downloaden zu können, sollte wget ausreichend sein.

OpenSSH, da würde ich nicht nur den Client nehmen.
Allerdings würde ich es nur als optionales Paket anbieten.

Lilo statt Grub ist gut (ich hasse Grub  ).
Evtl. würde ich hier dem Anwender aber die Wahl lassen (andere schwören halt auf Grub).

RAID-Unterstützung braucht nicht jeder --> optionales Paket.

joe ist gut (nutze ich ausschliesslich), nano kenne ich nicht, mit vi(m) bin ich noch nie klargekommen.

SLocate kenne ich nicht, hört sich aber interessant an.
Bei locate sollte auch updatedb installiert werden. 
Das updaten der Datenbank muss aber nicht zwangsläufig per Cronjob geschehen (mache ich manuell).

hdparm ist meiner Meinung nach Pflicht.
smartmontools währe wohl eher wieder ein optionales Paket.

dpkg und rpm würde ich auch nur als optionale Pakete anbieten.

Lynx kenne ich zwar nur von hören sagen, kann aber (in Verbindung mit wget) ganz nützlich sein. 

Ich weiss nicht ob Lynx oder wget OpenSSL (bzw. Teile davon) für eine HTTPS Verbindung brauchen, wenn nicht dann als optionales Paket.

dcron ist meiner Meinung nach Pflicht.

eject ist nicht unbedingt notwendig, aber ganz nützlich.
Evtl. (sofern nicht schon geschehen) könnte man die CD nach abgeschlossener Installation automatisch auswerfen. 

Ich weiss nicht ob FUSE auch für CD's gebraucht wird, wenn nicht dann nur als optionales Paket.

iptables ist meiner Meinung nach (mit einer vernünftigen "Grundkonfiguration") Pflicht.

kexec-tools nur als optionales Paket, da es u.U. zu Problemen kommen kann.

lm-sensors --> Spielkram (funktioniert eh nicht auf jedem PC  ) --> optionales Paket.

net-tools sollte zur Grundausstattung gehören.

ntfsprogs, siehe NTFS-3G.

Parted kommt mit NTFS nicht klar, ausserdem bin ich der Meinung dass man sowas nicht von einem laufendem System aus starten sollte.
Halte ich also für überflüssig.

pciutils und usbutils sollten Pflicht sein.

which, keine Ahnung wofür das gut sein soll.

So, das waren mal ein paar Meinungen von einem nicht Profi.


----------



## Dennis Wronka (15. Februar 2007)

Dr Dau hat gesagt.:


> Der MC macht einem das Leben zwar um einiges einfacher, aber braucht ein erfahrener Anwender ihn auch?


Schon richtig, ich selbst nutze ihn auch nicht. Wenn ich mal in der Shell arbeite dann arbeite ich mit den bekannten Befehlen. Und in KDE wuerde ich wohl kaum auf die Idee kommen MC den Vorzug von Konqueror zu geben. 
Wenn dann kommt der eh nur als optionales Paket dazu.



Dr Dau hat gesagt.:


> Mit DHCP ist immer so eine Sache, ich persönlich nutze schon seit Ewigkeiten und 3 Tagen ausschliesslich statische IP's.
> Wichtig ist halt dass man die Netzwerkkonfiguration rechtzeitig vornehmen kann (logischerweise vor irgend welchen Downloads  ).


Die Netzwerkkonfiguration wird bei der Installation vorgenommen. Dort will ich halt auch die Moeglichkeit bieten DHCP nutzen zu koennen da doch so einige darauf setzen.



Dr Dau hat gesagt.:


> DosFSTools sind zwar Standard, werden aber nicht von jedem gebraucht --> optionales Paket.


Wird dann eh optional, wie es jetzt auch die NTFSProgs sind.



Dr Dau hat gesagt.:


> NTFS-3G, siehe DosFSTools.


Siehe DosFSTools. 



Dr Dau hat gesagt.:


> Screen könnte durchaus interessant sein.


Sehe ich auch so, aber eben auch optional, wie so viele Pakete.



Dr Dau hat gesagt.:


> NcFTP kann ganz nützlich sein, aber meiner Meinung nach nur als optionales Paket.
> Um z.b. weitere Sourcen downloaden zu können, sollte wget ausreichend sein.


Richtig wget und der normale FTP-Client reichen eigentlich aus. Was ich persoenlich an NcFTP schaetze ist die Bookmarkfunktion. Daher koennte es durchaus als Option dabei sein denke ich.



Dr Dau hat gesagt.:


> OpenSSH, da würde ich nicht nur den Client nehmen.
> Allerdings würde ich es nur als optionales Paket anbieten.





Dr Dau hat gesagt.:


> Lilo statt Grub ist gut (ich hasse Grub  ).
> Evtl. würde ich hier dem Anwender aber die Wahl lassen (andere schwören halt auf Grub).


Ich hab ehrlich gesagt bisher nie mit Grub gearbeitet und muesste entsprechend erstmal gucken wie ich den automatisch konfiguriert kriege. Denn soweit ich weiss wird dort nicht einfach mit /dev/hdxY gearbeitet, sondern mit anderen lustigen Devicenamen. Da muesste ich dann also mal rausfummeln wie ich vom normalen Device zum "Grub-Device" komme.


Dr Dau hat gesagt.:


> RAID-Unterstützung braucht nicht jeder --> optionales Paket.


Ist schon optional, aber auch auf der LiveCD installiert falls benoetigt.



Dr Dau hat gesagt.:


> joe ist gut (nutze ich ausschliesslich), nano kenne ich nicht, mit vi(m) bin ich noch nie klargekommen.


Ich selbst nutze auch lieber joe. vim wird halt wieder Pflicht da crontab drauf setzt.



Dr Dau hat gesagt.:


> SLocate kenne ich nicht, hört sich aber interessant an.
> Bei locate sollte auch updatedb installiert werden.


updatedb wird eh mit installiert da sowohl locate als auch updatedb Teil der FindUtils sind. SLocate biete ich halt als Alternative.



Dr Dau hat gesagt.:


> Das updaten der Datenbank muss aber nicht zwangsläufig per Cronjob geschehen (mache ich manuell).


Richtig, moeglicherweise sollte ich diesen Cronjob als Option bieten. 



Dr Dau hat gesagt.:


> hdparm ist meiner Meinung nach Pflicht.
> smartmontools währe wohl eher wieder ein optionales Paket.


Sind beide als Option drin, hdparm ist aber per Default ausgewaehlt.



Dr Dau hat gesagt.:


> dpkg und rpm würde ich auch nur als optionale Pakete anbieten.


Sind sie. 



Dr Dau hat gesagt.:


> Lynx kenne ich zwar nur von hören sagen, kann aber (in Verbindung mit wget) ganz nützlich sein.


Das Problem bei wget ist ja, dass man keine Moeglichkeit zum Browsen hat und somit URLs wissen muss um an weitere Software kommen zu koennen. Mit Lynx kann man aber auch bei Sourceforge oder Freshmeat vorbeischauen und da nach Software suchen.



Dr Dau hat gesagt.:


> Ich weiss nicht ob Lynx oder wget OpenSSL (bzw. Teile davon) für eine HTTPS Verbindung brauchen, wenn nicht dann als optionales Paket.


Ja, wird von denen benoetigt. Und da OpenSSL auch ansonsten recht gern genutzt wird ist dies eines der wenigen zusaetzlichen Pakete welches nicht optional ist.



Dr Dau hat gesagt.:


> dcron ist meiner Meinung nach Pflicht.


Viele Leute nutzen Cron, aber ich denk nicht unbedingt alle. Wenn ich nicht per Cronjob meinen Virenscanner und die SLocate-Datenbank aktualisieren wuerde wuerde ich ihn eigentlich nicht brauchen.



Dr Dau hat gesagt.:


> eject ist nicht unbedingt notwendig, aber ganz nützlich.
> Evtl. (sofern nicht schon geschehen) könnte man die CD nach abgeschlossener Installation automatisch auswerfen.


Das hab ich schon probiert, das wollte aber bisher nicht so recht.



Dr Dau hat gesagt.:


> Ich weiss nicht ob FUSE auch für CD's gebraucht wird, wenn nicht dann nur als optionales Paket.


FUSE ist hauptsaechlich dabei um mit den NTFSProgs (und evtl. NTFS-3G) vernuenftigen Schreibzugriff fuer NTFS-Partitionen zu bieten. Wie auch die NTFSProgs ist FUSE optional.



Dr Dau hat gesagt.:


> iptables ist meiner Meinung nach (mit einer vernünftigen "Grundkonfiguration") Pflicht.


Es sollte im Grunde dazugehoeren, richtig. Ich denk mal ich werd es in die Standardinstallation aufnehmen falls sich dazu hier keine Gegenstimmen finden.



Dr Dau hat gesagt.:


> kexec-tools nur als optionales Paket, da es u.U. zu Problemen kommen kann.


 


Dr Dau hat gesagt.:


> lm-sensors --> Spielkram (funktioniert eh nicht auf jedem PC  ) --> optionales Paket.


Kann aber durchaus mal interessant sein, deshalb ist es als Option mit dabei.



Dr Dau hat gesagt.:


> net-tools sollte zur Grundausstattung gehören.


Da geb ich Dir Recht. Wie auch bei IPTables wird es wohl in der naechsten Version Standard werden wenn sich hier keine Gegenstimmen finden.



Dr Dau hat gesagt.:


> ntfsprogs, siehe NTFS-3G.


Genau, siehe NTFS-3G, und auch FUSE.



Dr Dau hat gesagt.:


> Parted kommt mit NTFS nicht klar, ausserdem bin ich der Meinung dass man sowas nicht von einem laufendem System aus starten sollte.
> Halte ich also für überflüssig.


Parted kommt, die NTFSProgs vorausgesetzt, wunderbar mit NTFS klar. Ich hab damit bereits meine NTFS-Partitionen verkleinert und verschoben und es hat wunderpraechtig und absolute ohne Datenverlust funktioniert.



Dr Dau hat gesagt.:


> pciutils und usbutils sollten Pflicht sein.


Sie sind zur Zeit optional, aber per default ausgewaehlt.



Dr Dau hat gesagt.:


> which, keine Ahnung wofür das gut sein soll.


which ist ganz praktisch um herauszufinden wo ein bestimmten Binary liegt, innerhalb der im $PATH angegebenen Pfade.

```
bash-3.1# which locate
/usr/bin/locate
```
Kann auch gut in Kombination mit anderen Programmen genutzt werden.

```
bash-3.1# ldd `which locate`
        linux-gate.so.1 =>  (0xb7fa8000)
        libc.so.6 => /lib/libc.so.6 (0xb7e6a000)
        /lib/ld-linux.so.2 (0x80000000)
```
Der Vorteil von which gegenueber whereis ist dass hier nur ein Pfad ausgegeben wird, und nicht evtl. mehrere. So weiss man dann auch welche Version genutzt wird wenn man das gleiche Binary in mehreren Verzeichnissen (z.B. einmal in /usr/bin und einmal in /usr/local/bin) liegen hat.



Dr Dau hat gesagt.:


> So, das waren mal ein paar Meinungen von einem nicht Profi.


Vielen Dank fuer Deine Ansichten.

Wie Du siehst, die meisten Pakete die nicht Teil des Original-LFS sind sind bei mir optional, ein paar davon sind standardmaessig aktiviert, koennen aber eben deaktiviert werden.


----------



## andy72 (15. Februar 2007)

Hm,

so viel getippsel auf einmal 
Also, ich würd ja mal sagen, dass der MC sehr wohl zum Pflichtprogramm gehört,wa ? *g*
*aufreg* ... *rumnörgel* 

Grund:
Ich arbeite seit 1992 mit PC's, und bin seit je her den guten alten Norton Commander gewohnt, mit dem ich heute im Linux noch sehr gerne arbeite, gerade, weil ich im tippseln
nicht der schnellste bin und auch nicht die Lust dazu habe, das alles zu schreiben, was man an der Konsole macht. zB macht sich mit MC FTP wesentlich komfortabler, kopieren geht schneller, als wenn ich das erst tippen muss, gerade bei langen Pfaden oder wenn ich noch nicht so recht weiss, wo was hin soll etc - Gründe gibts viele. Klar, man das alles an der Konsole machen, dazu gibts auch genug Befehle 

Was VIM betrifft, auf den mag ich auch nicht mehr verzichten, gerade, wenn es was zu Patchen oder fixen geht, leistet er gute Dienste - nee, man braucht das Ungeheuer nicht wirklich im X11, aber an der Konsole schon ...

LG
Andy


----------



## Dr Dau (15. Februar 2007)

Dennis Wronka hat gesagt.:
			
		

> updatedb wird eh mit installiert da sowohl locate als auch updatedb Teil der FindUtils sind.


Nun, unter Eisfair ist zwar per default locate installiert, aber wenn man updatedb eintippt kommt nur ein "command not found". 
updatedb ist für locate also nicht zwingend erforderlich..... nur ohne dem macht locate nicht wirklich Sinn.
Darum habe ich daruf hingewiesen. 


			
				Dennis Wronka hat gesagt.:
			
		

> Das Problem bei wget ist ja, dass man keine Moeglichkeit zum Browsen hat und somit URLs wissen muss um an weitere Software kommen zu koennen.


Genau deshalb kann Lynx ja ganz nützlich sein. 


			
				Dennis Wronka hat gesagt.:
			
		

> Viele Leute nutzen Cron, aber ich denk nicht unbedingt alle.


Iregndwas, was automatisiert ausgeführt werden soll,  gibt es mit sicherheit immer.
Daher sehe ich es als Pflicht an.


			
				Dennis Wronka hat gesagt.:
			
		

> Das hab ich schon probiert, das wollte aber bisher nicht so recht.


Schade.
Aber ein umount mit anschliessendem Hinweis die CD rauszunehmen sollte es auch tun.


> Parted kommt, die NTFSProgs vorausgesetzt, wunderbar mit NTFS klar. Ich hab damit bereits meine NTFS-Partitionen verkleinert und verschoben und es hat wunderpraechtig und absolute ohne Datenverlust funktioniert.


Da habe ich mich nur an die Feature Liste orientiert..... und die ist alles andere als vielversprechend (nichtmal dass erstellen einer ext3 Partition wird unterstützt).


			
				Dennis Wronka hat gesagt.:
			
		

> Vielen Dank fuer Deine Ansichten.


Bitte. 


			
				Dennis Wronka hat gesagt.:
			
		

> Wie Du siehst, die meisten Pakete die nicht Teil des Original-LFS sind sind bei mir optional.....


Ich weiss/sehe nicht welche Pakete bei LFS dabei sind.
Um mich so intensiv damit zu befassen, sind meine Kenntnise einfach nicht ausreichend genug.
Aber der eine oder andere Blick ins LFS-Handbuch hat mir (dank der deutschen Übersetzung) auch schon sehr weiter geholfen. 

@andy72, ich sage ja, der MC kann einem das Leben einfacher machen. 
Ich selbst habe früher auch mit dem NC 5/5.5 gearbeitet.
Von daher hat mir der MC sehr gut bei den "ersten Berührungsängsten" mit Linux geholfen.


----------



## Dennis Wronka (15. Februar 2007)

So, die Arbeit an der naechsten Version kann losgehen.

Ich hab jetzt grad 139MB Pakete runtergeladen, insgesamt 33 Pakete, davon 7 neu und 26 neue Versionen bereits eingesetzter Pakete.
Die neuen Pakete sind:

Bind
DHCP
DosFSTools
Midnight Commander
NcFTP
OpenSSH
Screen
Diese Pakete werden also, wenn es keine Probleme gibt den Weg in die naechste Version finden.
Zu den aktualisierten Paketen gehoeren unter anderem:

GCC 4.0.4 und 4.1.2
saemtliche SELinux-Pakete
ncurses
iproute2
Kernel 2.6.20
Und natuerlich noch andere.

Als naechstes mach ich dann erstmal ein Backup von meinem bestehenden Verzeichnis und dann faengt die Arbeit an.


----------



## andy72 (16. Februar 2007)

So, mal wieder ein kleiner Bericht meines schaffens:

Habe gestern und heute morgen versucht, SELinux zum laufen zu bekommen,
leider noch ohne generellen Erfolg, da noch einiges nicht so funktioniert, ich denke aber, bis zum Montag werde ich ein erstes Ergebnis haben.

Folgendes ist bis jetzt erfolgreich integriert:
Der Kernel (noch 2.6.19.1) ist erstmal SELinux-aktiviert (geht unter Security Options zu aktivieren), und man muss dann am Lilo (noch) selinux=1 mit angeben um das ganze zu starten. Habe die SELinux-Libraries und Tools kompiliert und in das System integriert,
in der /etc/fstab gibt es nun ein neues virtuelles Dateisystem: selinuxfs und es wurde auch
erfolgreich unter /selinux gemounted. Nun kommt noch ein Patch für init, da die Policies bereits beim System-Start geladen werden müssen und einige Pakete wie zB shadow,coreutils müssen auch noch neu integriert werden. Noch stürzt der Kernel beim herunterfahren des Systems ab, entweder, ich bekomm das behoben, oder auch ich werde auf Kernel 2.6.20 upgraden und es dann neu versuchen.
Desweiteren fehlt noch völlig die policy.conf, welche die Hauptkonfiguration ist, diese werde ich dann am WE mal schreiben, zumindest für einen Basis-User.

So, das erstmal zu easyLFS und von mir, wenn wer Erfahrung mit SELinux hat, wäre ich an dieser Stelle sehr dankbar für jeden Hinweis, wie man das ganze komplett integriert.

LG
Andy


----------



## Dennis Wronka (16. Februar 2007)

Ja, SELinux ist so eine Sache.
Wenn man es voll im System haben will dann muss wohl auch die GlibC entsprechend kompiliert werden. Entsprechend wird bei EasyLFS GlibC auch nochmal neu kompiliert wenn SELinux installiert wird, damit auch alles drin ist was drin sein muss.

Fuer die neue Version werd ich mir auch mal von allen Paketen die configure-Optionen anschauen um zu sehen ob es da eine Option fuer SELinux gibt, und natuerlich auch um /usr/etc loszuwerden.

Gestern auf der Arbeit hab ich mir auch die gut 50 Seiten FHS ausgedruckt um zu checken wo mein System diesem nicht entspricht (ein Punkt ist das angesprochene /usr/etc) und dieses dann nach Moeglichkeit korrigieren.

Ansonsten fang ich jetzt auch schon mit den ersten Kompiliertests an damit ich spaeter hoffentlich nicht ganz so viel Arbeit habe.
Waehrend jetzt Stage 1 mit GCC 4.1.2 kompiliert werd ich dann mal eben einkaufen gehen und dann mit den neuen Scripts anfangen.


----------



## Dennis Wronka (16. Februar 2007)

So, ich hab wieder einen Schritt in Richtung Vereinfachung der Installation getan.
Ich hab mir mal chroot etwas genauer angesehen und dort gesehen, dass man einen beliebigen Befehl zur Ausfuehrung angeben kann. Das kann ja dann statt einer Shell im Grunde auch gleich eines meiner Scripts sein.
Nun ich hab die entsprechenden Scripts etwas angepasst und noch ein weiteres gebastelt was, wenn nun alles funktioniert, dafuer sorgen sollte dass die Installation durch den Aufruf eines einzigen Scripts abgewickelt werden kann.
Natuerlich muss weiterhin vorher die lfs_config.sh bearbeitet werden, aber danach gibt es nur noch einen weiteren Aufruf.
Die Installation wird dann 2 bis 3 mal unterbrochen, einmal zu Beginn um die Zeitzone einzustellen, einmal am Ende um das root-Passwort festzulegen und eventuell ein drittes Mal (das kommt auf die neue Einstellung LFS_USE_CDKERNEL an) um den Kernel zu konfigurieren.

Die Konfiguration des Kernels kann nun auch, dank der angesprochenen Option LFS_USE_CDKERNEL und dem Kernel-Feature die Kernel-Konfiguration mit in den Kernel aufzunehmen und in eine Datei in /proc zu exportieren, auch uebersprungen werden. Dabei wird dann eben die Konfiguration des auf der LiveCD befindlichen Kernels genutzt. Das macht die grundlegende Installation ein wenig einfacher, und wenn man so weit gekommen ist sollte das eigentlich Beweis genug sein, dass der Kernel auf der CD auf dem eigenen System lauffaehig, wenn auch nicht unbedingt optimal konfiguriert, ist.
Dieser wird dann in Zukunft auch noch etwas kompletter ausgestattet. Hierbei denk ich nun in erster Linie an die Module fuer Netzwerkkarten, welche dann auch im Grunde die CD netzwerkfaehig machen werden.

Hier ist nun wieder Eure Meinung gefragt. 
Sollte diese Option standardmaessig an ("automatische" Kernel-Config) oder aus (manuelle Kernel-Config) sein?


----------



## Dennis Wronka (19. Februar 2007)

So, mal ein kleines Update zum chinesischen Neujahr, und natuerlich Kung Hei Fat Choi! 

Gestern hab ich den ersten Testrun mit dem neuen Script hinter mich gebracht.
Soweit laeuft die komplette Installation mit dem einen Script durch, jedoch scheint es Probleme beim unmounten der Partition zu geben. Woran das liegt konnte ich aus Zeitgruenden gestern nicht mehr recherchieren, aber da werd ich entweder heute oder spaetestens morgen die Zeit zu finden.
Auf jeden Fall ist damit ein weiterer, wichtiger Schritt vorwaerts getan worden da ja nun nurnoch die Bearbeitung der lfs_config.sh noetig ist und anschliessend der Aufruf von lfs_install.sh, und nicht mehr lfs_stage1.sh, lfs_chroot.sh, lfs_stage2.sh, lfs_finish.sh (plus 2 mal cd /lfs-install, jeweils vor lfs_stage2.sh und lfs_finish.sh) wie es zur Zeit noch der Fall ist.

Dadurch kann die Installation nun auch laenger unbeaufsichtigt sein ohne viel Zeit zu verlieren. Wie im vorigen Beitrag erwaehnt wird jetzt nur noch am Anfang und Ende kurz unterbrochen. Wenn man die erste Unterbrechung, die Einstellung der Zeitzone, hinter sich hat kann man eigentlich getrost was anderes machen, vor allem wenn man den Kernel "automatisch" konfigurieren laesst, denn dann wird nach der naechsten Unterbrechung (dem Setzen des root-Passworts) nichts mehr kompiliert und es geht alles recht fix dem Ende entgegen.

Ausserdem moechte ich den folgenden Punkt auch nochmal in Erinnerung rufen. 


Dennis Wronka hat gesagt.:


> Die Konfiguration des Kernels kann nun auch, dank der angesprochenen Option LFS_USE_CDKERNEL und dem Kernel-Feature die Kernel-Konfiguration mit in den Kernel aufzunehmen und in eine Datei in /proc zu exportieren, auch uebersprungen werden. Dabei wird dann eben die Konfiguration des auf der LiveCD befindlichen Kernels genutzt. Das macht die grundlegende Installation ein wenig einfacher, und wenn man so weit gekommen ist sollte das eigentlich Beweis genug sein, dass der Kernel auf der CD auf dem eigenen System lauffaehig, wenn auch nicht unbedingt optimal konfiguriert, ist.
> Dieser wird dann in Zukunft auch noch etwas kompletter ausgestattet. Hierbei denk ich nun in erster Linie an die Module fuer Netzwerkkarten, welche dann auch im Grunde die CD netzwerkfaehig machen werden.
> 
> Hier ist nun wieder Eure Meinung gefragt.
> Sollte diese Option standardmaessig an ("automatische" Kernel-Config) oder aus (manuelle Kernel-Config) sein?


----------



## andy72 (19. Februar 2007)

Hallo allerseits,

auch von mir gibt es was neues in Sachen SELinux:
habe mich übers WE mit SELinux ausgiebig beschäftigt, Erfolge gibt es nur insoweit, dass die Basis-Konfiguration erstmal läuft, nachdem ich etliche Dinge angepasst habe,
nun gibt es neben easyLFS wohl doch ein neues Unterprojekt, da ih mich entschlossen
habe, das SELinux abzukapseln. Das heisst im Grunde, dass es gegen ende dieser Woche auf meiner Homepage einige Infos zu SELinux geben wird, speziell, wie man
SELinux erfolgreich in easyLFS integriert. Bis dahin werde ich die entsprechenden Applikationen umprogrammieren, da es bei einigen Sachen nicht mehr reicht, einfach zu patchen - zB gibt es massive Probleme bei den Coreutils, da es generell keine Patches
dafür gibt, die mit SELinux (noch) kompatibel sind.

Bis jetzt gibt es die Anwendung "ls -Z" und "ls --context", die nicht wie bisher nur die dateistruktur eines Verz. anzeigen, sondern auch deren Context unter SELinux sowie selbige Schalter für "stat". Allein dieser Umbau hat mich den Sonntag gekostet, auch "init" wurde umprogrammiert, um SELinux bereits beim Bootvorgang zu aktivieren.

@Dennis:
Der Patch für Init, den ich Dir geschickt habe, weisst massive Fehler auf, bitte verwende diesen Patch nicht weiter - auch dafür gibt es gegen ende der Woch einen funktionierendes "init", da auch kill/killall noch umgebaut wird.

Eine schöne Woche
Andy


----------



## Dennis Wronka (19. Februar 2007)

Wow, das sind ja mal gute Nachrichten.

Erstmal vielen, vielen Dank fuer Deinen Einsatz. Ich haette echt nicht gedacht, dass die Integration von SELinux so aufwaendig waere. Ich frag mich ob man nicht irgendwo ueber Fedora Infos finden kann, dort ist doch SELinux auch integriert, nicht?
Man kann nur hoffen, dass immer mehr Pakete in Zukunft den SELinux-Support gleich mit in die Pakete bauen sodass die Installation einfacher wird.
Vor allem sollte es eben auch moeglich sein SELinux gleich bei der Systeminstallation installieren zu koennen. Aber naja, SELinux-Unterstuetzung ist im Grunde mit drin, aber wie ich nun weiss wirklich nur die Anfaenge.

Naja, aber Dank Deiner unermuedlichen Arbeit geht es ja mit der SELinux-Unterstuetzung nun wirklich vorwaerts, mit, wie es sich anhoert, greifbaren Erfolgen.

Auch auf meiner Seite geht es tapfer weiter. Nachdem ich heute vormittag die Scripts fuer die neuen Pakete geschrieben hab hab ich damit einen erfolgreichen Testlauf durchmachen koennen. Nur Midnight Commander will noch nicht da dieser die GLib haben will. Da werd ich also mal nach weiteren Abhaengigkeiten forsten und diese dann, falls nicht zu zahlreich, mit einfuegen. Falls GLib zu viele Abhaengigkeiten hat wird mc wohl erstmal wieder rausfliegen. Mal schauen.
Auf jeden Fall lassen sich Bind, DHCP und auch OpenSSH wunderbar installieren.

Der naechste Schritt wird nun auch sein dafuer zu sorgen, dass /usr/etc wegfaellt und ich will auch mal mein System mit dem aktuellen FHS vergleichen um zu diesem weitestgehend kompatibel zu sein.

Ein wenig Zeit hab ich jetzt noch, heute Abend wird wohl das Feuerwerk sein, in der Zeit wollt ich noch einen Testlauf starten. Und morgen hab ich ja auch noch frei. Da kann ich dann auch noch einiges an Arbeit in das Projekt stecken.

In der Zeit die ich jetzt noch hab werd ich wohl wegen der GLib schauen. Aber mal sehen, vielleicht faellt das Feuerwerk auch wegen schlecht Wetter in's Wasser da es heut ein wenig regnerisch aussieht.

Nachtrag: Die GLib kann im aktuellen System also ohne Probleme installiert werden.
Da Midnight Commander nun wohl recht egal ist ob man Version 1.2 oder eine 2er Version nutzt hab ich nun Version 2.12.4 installiert. Damit scheint mc auch wunderbar zu funktionieren.
Mir stellt sich nun nur die Frage ob es vielleicht fehlende Abhaengigkeiten zu X gibt, welche spaeter evtl. dafuer sorgen koennten, dass man GLib nochmal kompilieren muss?

Ich werd da mal schauen, auch mal in Version 1.2.


----------



## andy72 (19. Februar 2007)

Fedora bietet nur HowTos, wie man SELinux in RH deaktiviert, nix davon, wie man überhaupt eine Policy schreibt, geschweige, wie man was integriert. ich habe vieles von Gentoo geholt, so auch ein funktionierendes Init, und auch, wie man SELinux überhaupt im Kernel zum Laufen bringt, da man doch recht viele Dinge dabei beachten muss.
Weitere Dinge habe ich durch lesen von Patches gelernt, da diese doch recht umfangreich sind, wenn alles zusammen passen soll  Hast aber Recht: Die Integration von SELinux ist echt nix neue Linuxer, da der Programmier-Aufwand recht hoch ist und vieles auf Anhieb nicht funktioniert. zB passen nach der SELinux-Integration keine Patches mehr vom LFS-Project, um mal Klartext zu reden - das heisst, deren Patches müssen direkt NEU integriert werden.


----------



## Dennis Wronka (19. Februar 2007)

Na dann wird eben SELinux "erstmal" ein weiteres "Feature fuer Mutige", wie es zur Zeit auch Ext4 scheinbar noch ist. 

Ach so:
@LFS Patches: Von denen bin ich mittlerweile zu recht grossen Teil weg da ich ja bei so gut wie allen Paketen ein paar Versionsnummern weiter bin. Das hat die meisten Patches ueberfluessig gemacht.


----------



## Dennis Wronka (20. Februar 2007)

So, mal wieder ein kleines Update.

Es scheint irgendwie, dass irgendwas noch auf /mnt/lfs zugreift zu dem Zeitpunkt wo es unmountet werden soll. Das scheint damit zusammenzuhaengen, dass nun alle Scripts von einem Script ausgefuehrt werden.
Damit das System trotzdem nach der erfolgreichen Installation rebooten kann hab ich mir mal die Optionen von umount angeschaut und den Parameter -l gefunden, fuer "lazy unmount".
Das heisst im Klartext, dass das System zwar ausgehaengt wird, aber von Prozessen die noch drauf zugreifen weiter genutzt werden kann. Neue Prozesse koennen dort aber nicht mehr drauf zugreifen.
Da alle zugreifenden Prozesse beendet sind sobald auch das Installationsscript schliesslich zu seinem Ende kommt wird zu diesem Zeitpunkt auch die Partition endgueltig ausgehaengt, was einen sicheren Reboot garantieren sollte.

Bis ich das aber testen kann dauert noch ein wenig da ich dafuer erstmal eine neue LiveCD bauen muss und diese dann in QEmu installieren lassen muss.
Aber eigentlich sollte es gehen.

Weiterhin hab ich nun die meisten Scripts aus /lfs-install in das Unterverzeichnis modules verbannt, was die Uebersicht fuer den User vereinfacht.
Dadurch gibt es nun nur noch 2 Scripts direkt in /lfs-install, das zu bearbeitende Script lfs_config.sh und das eigentliche Installationsscript lfs_install.sh.


----------



## Dennis Wronka (24. Februar 2007)

So, nach ein paar Tagen harter Arbeit mal wieder ein Update.

Da es mir ja wichtig ist, dass die von mir gelieferte Software moeglichst aktuell ist soll sich das ja auch in der LiveCD selbst wiederspiegeln. So hab ich also auch die neuen Linux-Live-Scripts runtergeladen und mich die letzten Tage damit rumgeaergert.
Dabei gibt es ein paar ordentliche Aenderungen welche mir eben erstmal einiges an Arbeit eingebracht haben. Allgemein muss ich aber sagen, dass die neue Version der Live-Scripts es dem geneigten LiveCD-Bastler einfacher macht als es mit aelteren Versionen der Fall war.
Nun mal zu den Aenderungen: UnionFS wird durch AUFS (Another UnionFS) ersetzt. Dieses soll wohl stabiler laufen als UnionFS und auch mehr Features bieten.
Weiterhin wird SquashFS nun mit LZMA-Kompression genutzt was nun dazu fuehrt, dass mein CD-Image bei ca. 20MB mehr Inhalt ca. 1MB kleiner ist als die aktuell verfuegbare Version. Es gibt also bei der kommenden Version also mehr Fisch zum gleichen Preis.

Diese beiden Geschichten waren schon recht umstaendlich.
AUFS bietet nicht einfach einen Kernel-Patch und gut, sondern will erstmal ein Makefile erzeugt haben und anschliessend muss man die Sourcen in den Kernel kopieren. Um es mir fuer die Zukunft einfacher zu machen hab ich das einmal gemacht und dann daraus einen Patch erstellt.

Der LZMA-Patch fuer SquashFS war nicht so einfach, vor allem da das mitgelieferte Makefile nicht so ganz wollte wie ich. Ausserdem bin ich eh kein Freund von solchen Makefiles die irgendwie wild rumwuseln.
Entsprechend hab ich dieses Makefile in ein Script umgeschrieben und meinen Anspruechen entsprechend angepasst.
SquashFS mit LZMA-Unterstuetzung hat mich in den letzten Tagen einiges an Zeit und Nerven gekostet, aber es ist jetzt geschafft.

Wenn ich mich irgendwann mal ransetze ein Tutorial ueber die Erstellung einer LiveCD mit den Linux-Live-Scripts zu schreiben werd ich das alles da mit einbringen. 

Da sich halt auch an den Live-Scripts selbst einiges geaendert hat hab ich natuerlich erstmal ein paar Fehlversuche gebraucht bis ich langsam aber sicher voran kam.
Aber auch die Scripts duerften nun vollstaendig angepasst sein sodass die naechste LiveCD wohl keine Probleme mehr haben duerfte.
Diese wird grad erstellt, was aber durch die LZMA-Kompression nun "etwas" laenger dauert. Aber es gibt schlimmeres als darauf zu warten bis gut 1.5GB an Daten zu 450MB zusammengepresst werden.

Somit ist nun ein wichtiger Schritt getan, sodass ich nun auch die ersten "Live-Tests" im QEmu starten kann. Weiterhin sind noch die Tests mit GCC 4.0 und GCC 4.1 faellig und danach sollte dem Release eigentlich nichts mehr im Wege stehen.
Da ich naechstes Wochenende umziehen werden will ich auf jeden Fall schauen, dass ich vorher noch releasen kann, denn danach wird meine Zeit um an meinem Projekt zu arbeiten zumindest anfangs ein wenig eingeschraenkter sein als sie jetzt ist.
Sterben lassen werde ich EasyLFS aber nicht, denn dafuer hab ich nun auch schon zu viel Zeit investiert und ich will ja auch fuer mich selbst ein gutes System bauen was ich auch selbst nutzen wuerde.


----------



## andy72 (24. Februar 2007)

Soooooooo ...
Da sich Dennis auch sooo fleissig einbringt, kann auch ICH etwas gutes berichten:
pünktlich und wie versprochen stehen nun meine Projekt-Seiten zu easyLFS - Integration SELinux im Internet. Ihr erreicht diese Seiten vorerst über meine Domain http://www.3-seiten.com - Support gibt es auf weiteres NUR hier, da noch Kleinigkeiten wie ein Forum fehlen. Bitte testet diese Anleitung mal aus, ich würde mich über Feedback freuen, um noch einiges zu verbessern.

LG
Andy


----------



## Dennis Wronka (24. Februar 2007)

Wow, klasse Arbeit.

Es scheint als wuerdest Du hauptsaechlich Software nochmal installieren, nur eben mit zusaetzlichen Parametern entweder bei configure oder eben make.
Damit hatte ich ja zum Teil auch schon angefangen in meinen Scripts und ich denke, dass ich hier Deine Arbeit relativ einfach integrieren koennen muesste sodass das alles gleich bei der Installation des Systems gemacht wird.

Uebrigens, GlibC kennt auch SELinux.


----------



## andy72 (24. Februar 2007)

Mit der glibc habe ich mich noch nicht beschäftigt, da es scheinbar auch ohne Neu-Installation der glibc funktioniert. SELinux wird ja vom Kernel aus gesteuert - sprich also wird alle andere Software lediglich erweitert, wenn SELinux unterstützt wird. Was das bei der glibc mit sich bringt, weiss ich allerdings noch nicht.  ... nach einer Woche Research bin ich aber schon sehr weit gekommen *mir auf die Schulter klopf*


----------



## Dennis Wronka (24. Februar 2007)

Was es bringt weiss ich auch nicht.

Hier mal kurz der configure-Aufruf aus meinen Scripts.

```
../glibc-$LFS_GLIBC/configure --prefix=/usr --disable-profile --enable-add-ons --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc --with-selinux
```
Das wird nach Installation der SELinux-Libraries gemacht. Wenn also SELinux mit installiert werden soll wird in Stage 2 GlibC doppelt kompiliert.

Und auf jeden Fall nochmals vielen Dank fuer Deine ganze Muehe.


----------



## andy72 (24. Februar 2007)

Heisst das, du konfigurierst die glibc bereits für SELinux, oder WÄRE as der Aufruf in Stage 2 ?


----------



## Dennis Wronka (24. Februar 2007)

Stage 1 hat nichts mit SELinux am Hut, da dort nur das Build-System gebaut wird.
In Stage 2 wird dann auch erstmal GlibC ohne SELinux-Support installiert da SELinux ja wiederum auch einige Abhaengigkeiten hat. Wenn dann die SELinux-Libraries installiert wurden wird im gleichen Script auch GlibC nochmal kompiliert, eben mit SELinux-Support, da fuer diesen ja auch wiederum die Libraries benoetigt werden.


```
#!/bin/sh

if [ "$LFS_INSTALL_SELINUX" = "y" ]; then
	LFS_JOB="installing libsepol $LFS_LIBSEPOL"
	echo $LFS_JOB

	tar -xjf /sources/libsepol-$LFS_LIBSEPOL.tar.bz2
	cd libsepol-$LFS_LIBSEPOL
	make || LFS_ERROR=1
	make install
	cd ..
	rm -R libsepol-$LFS_LIBSEPOL

	. /lfs-install/modules/error.sh

	LFS_JOB="installing libselinux $LFS_LIBSELINUX"
	echo $LFS_JOB

	tar -xjf /sources/libselinux-$LFS_LIBSELINUX.tar.bz2
	cd libselinux-$LFS_LIBSELINUX
	make || LFS_ERROR=1
	make install
	cd ..
	rm -R libselinux-$LFS_LIBSELINUX

	. /lfs-install/modules/error.sh

	LFS_JOB="installing libsemanage $LFS_LIBSEMANAGE"
	echo $LFS_JOB

	tar -xjf /sources/libsemanage-$LFS_LIBSEMANAGE.tar.bz2
	cd libsemanage-$LFS_LIBSEMANAGE
	make || LFS_ERROR=1
	make install
	cd ..
	rm -R libsemanage-$LFS_LIBSEMANAGE

	. /lfs-install/modules/error.sh

	LFS_JOB="installing glibc $LFS_GLIBC"
	echo $LFS_JOB

	tar -xjf /sources/glibc-$LFS_GLIBC.tar.bz2
	mkdir glibc-build
	cd glibc-$LFS_GLIBC
	tar -xjf /sources/glibc-linuxthreads-$LFS_GLIBC.tar.bz2
	patch -p1 < /sources/patches/glibc-$LFS_GLIBC.patch
	cd ../glibc-build
	../glibc-$LFS_GLIBC/configure --prefix=/usr --disable-profile --enable-add-ons --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc --with-selinux
	make || LFS_ERROR=1
	touch /etc/ld.so.conf
	make install
	make localedata/install-locales
	make -C ../glibc-$LFS_GLIBC/linuxthreads/man
	make -C ../glibc-$LFS_GLIBC/linuxthreads/man install
	cd ..
	rm -R glibc-$LFS_GLIBC
	rm -r glibc-build

	. /lfs-install/modules/error.sh
fi
```


----------



## andy72 (24. Februar 2007)

Ah ja ...

naja, dann müsste man aber noch sehen, wie es mit libxml2 und python aussieht - diese beiden sachen werden für die policycoreutils und checkpolicy benötigt. Irgendwann hat man dann schon nen dreiviertel System auf dem Rechner, nachdem easyLFS fertig kompiliert ist  ... müsste man dann wirklich auswählbar machen, ob man grundsätzlich SELinux haben will- wenn nicht, muss man eben die Hälfte davon neu installieren, wenn die glibc schon mit integriert werden soll


----------



## Dennis Wronka (24. Februar 2007)

Die Libs und Utils werden in getrennten Scripts installiert, dadurch kann ich die Libs schon ziemlich frueh einbinden sodass dadurch im Grunde nur GlibC nochmal neu installiert werden muss. Die Utils werden erst spaeter installiert, eben wenn alle Abhaengigkeiten soweit beseitigt sind.
Aber die Utils und die Policy sind ja nicht noetig um andere Libraries und Programme SELinux-kompatibel zu machen, dafuer reichen ja erstmal die Libraries.

Ich hab nochmal in's Stage2-Script geschaut. Im Grunde wird vor den SELinux-Libraries wirklich nur die GlibC kompiliert.
So ist auf jeden Fall sichergestellt dass die SELinux-Libraries gegen die richtige GLibC linken und nicht gegen die aus dem Build-System, und die Libraries sind eben so frueh wie moeglich fuer alle Programme verfuegbar.


----------



## andy72 (24. Februar 2007)

hm,hm ... klingt so, als hält SELinux im nächsten easyLFS Einzug  *megafreu* ... nicht desto trotz werd ich die Coreutilsarg umprogrammieren müssen, die neue Version geht aabsolut nicht zu patchen mit den alten Patches,die man bei Gentoo findet  ...selbst RedHat rückt nix aus über die neuen Coreutils, so dass nix anderes bleibt als umzuprogrammieren. Naja, ich setz mich dran, und denn kommen die Coreutilseben ins übernächste Release oder als Download von meiner Seite, undman muss das ganze eben dann nur noch neu installieren - ist ja nicht sooo viel


----------



## Dennis Wronka (24. Februar 2007)

Genau, und die Arbeit die Du bisher geleistet hast duerfte ich ja wie gesagt recht einfach in die aktuellen Scripts einarbeiten koennen.
Das koennte also durchaus was fuer die naechste Version werden mit SELinux.

Wenn ich dann auch die Resume-Funktion bis dahin fertig kriege duerfte die naechste Version ein wirklich gewaltiger Schritt vorwaerts sein.

Ich hab uebrigens LANG von en_US.utf8 auf en_US.iso88591 geaendert da scheinbar einige Programme (darunter eben pstree) Probleme mit UTF8 haben.

Und grad jetzt arbeite ich daran beim Boot eine IP per DHCP beziehen zu koennen.

Nachtrag: So, ich hab jetzt grad mal durch die Scripts geschaut und festgestellt, dass fuer 2 von 3 Paketen schon die Verzweigungen fuer SELinux oder eben nicht schon drin sind. Fuer Util-Linux hab ich sie jetzt noch hinzugefuegt.

Ich bau grad das aktuelle System im QEmu, wenn das durch ist werd ich mal schauen, dass ich anhand Deiner Anleitung SELinux da reinkriege. Erfolge dabei werd ich dabei dann auch gleich in Scripts umsetzen.


----------



## andy72 (24. Februar 2007)

Danke erstmal für die (virtuellen) Blumen 

Was das UTF-8 betrifft: Hab bei LFS-5.1 noch in Erinnerung, dass VOR dem Kompiliervorgang die ENV "export LC_ALL=C" gesetzt wird, um die Programme allgemein tauglich zu machen - ist das jetzt auch noch so, oder haben die das (warum auch immer) entfernt ? Ich hatte bei dieser früheren Version von LFS nie dieses Problem,dass was verkehrt angezeigt wurde


----------



## Dennis Wronka (24. Februar 2007)

Im LFS 6.2 hab ich grad spontan folgendes gefunden, im Abschnitt ueber die Vorbereitung des Systems.


			
				LFS 6.2 hat gesagt.:
			
		

> The LC_ALL variable controls the localization of certain programs, making their messages follow the
> conventions of a specified country. If the host system uses a version of Glibc older than 2.2.4, having LC_ALL
> set to something other than “POSIX” or “C” (during this chapter) may cause issues if you exit the chroot
> environment and wish to return later. Setting LC_ALL to “POSIX” or “C” (the two are equivalent) ensures that
> everything will work as expected in the chroot environment.


Das scheint hier also nichts mit irgendwelchen Ausgaben zu tun haben sondern eher mit chroot und verdammt alten Versionen der GLibC.


----------



## andy72 (24. Februar 2007)

hm ... habe nochmal in der Version 5 vom LFS gegraben, aber ich hab nix mehr darüber gefunden, wann man das LC_ALL setzen musste. die Version 5.1 hat das schon nicht mehr drin  ... naja, vielleicht findet man den Übeltäter dafür ja noch, habe nur herausgefunden, dass psmisc zB von gettext abhängig ist. gettext wandelt m.E. verschiedene Locale Meldungen in das Pedant der jeweiligen Sprache um - was aber bei pstree keinen Sinn macht, da es sich ja um die verlorenen "Minuszeichen des baumes" handelt *kopfkratz* ... kann aber auch was anderes sein: Speicherfehler ?


----------



## Dennis Wronka (24. Februar 2007)

Ich mein ich haette auch irgendwo im LFS-Buch was davon gelesen, dass es wohl zum Teil noch Probleme mit UTF8 gibt. Das ist jetzt die erste mir bekannte Auswirkung, hatte bislang nichts gesehen da ich pstree eigentlich nicht nutze, sondern eher schlichtweg ps.

Naja, ich denk mal dass UTF8 ein Thema fuer spaeter ist. Es gibt erstmal wichtigere Dinge zu implementieren als sowas.


----------



## andy72 (24. Februar 2007)

Habe jetzt die Projektseiten auf http://www.3-seiten.com etwas aktualisiert und etwas gestyled - auch das Forum ist jetzt aktiv, ich würde mich über etwas Beteiligung freuen, auch wenn Ihr nur mal vorbeischaut würde das dem Projekt schon etwas helfen, um es bekannter zu machen 

LG
Andy


----------



## Dennis Wronka (25. Februar 2007)

So, ich hab grad mal was Zeit damit verbracht in dem frisch gebauten EasyLFS nach Deiner Anleitung SELinux einzubauen.

Das hat soweit auch ganz gut geklappt. Ich konnte jetzt auch mit dem SELinux-eigenen load_policy die Policy aktivieren. Das will ich jetzt mal beim Boot testen, moeglicherweise ist Dein loadselinux garnicht mehr noetig.

Schauen wir mal.

Hab soweit auch schon die Scripts etwas angepasst. Die Policy wird zwar noch nicht automatisch installiert, aber soweit die ganze noetige Software.
Die Installation der Policy will ich noch etwas austesten und dann wird auch das automatisch geschehen.
Weiterhin hab ich die Installation der SELinux-Utilities und der Policy weiter nach hinten in Stage 2 verlegt, zu den anderen optionalen Komponenten.
Der Grund dafuer liegt ganz einfach darin, dass ich zuerst mal den ganzen "offiziellen LFS-Kram" installieren will und anschliessend optionale Pakete.
Auf die Funktion sollte das keinen Einfluss haben da ja die SELinux-Libraries weiterhin ziemlich frueh installiert werden und die Tools lediglich zur Installation der Policy und fuer den Betrieb von SELinux notwendig sind, aber nicht dafuer, dass andere Programme mit SELinux-Support kompiliert werden koennen.

So, hab's kurz getestet. Es ist im Grunde kein Problem SELinux ueber load_policy zu starten. Es muss dazu lediglich noch das Boot-Script mountkernfs angepasst werden sodass dort auch /selinux gemountet wird.

Nachtrag: Das Boot-Script mountfs muss auch noch angepasst werden damit /selinux in der mtab eingetragen wird. Ansonsten gibt es bei eben diesem Script einen Fehler da dort dann nochmal versucht wird /selinux zu mounten.
Soweit geht es hier jetzt ganz gut voran. Das Filesystem ist gelabelt und somit sind nun auch die ganzen Fehlermeldungen weg.
Nur muss ich wirklich sagen, dass das labeln ganz schoen lang dauert. 

Dazu werd ich mir wohl auch noch was einfallen lassen muessen. Ich denk mal ich werd da ein Script am Ende des Bootvorganges einfuegen welches sich dann nach erfolgreichem Abschluss selbst loescht.


----------



## Dennis Wronka (25. Februar 2007)

Also: Da andy72 so viel Zeit und Arbeit in die Aufklaerung der Mysterien um SELinux gesteckt hat freue ich mich androhen zu duerfen, dass der SELinux-Support fuer EasyLFS in der kommenden Version mehr als nur die Verfuegbarkeit der Libraries und Tools sein wird. Vielmehr wird SELinux wirklich aktiv und nutzbar sein!
Natuerlich wird SELinux nicht zum Standardumfang gehoeren sondern weiterhin eine Option sein, denn die genauen Auswirkungen von SELinux koennen wir bislang noch nicht abschaetzen, z.B. ob es irgendwo Probleme bereitet.

Auf jeden Fall freue ich mich EasyLFS bald auch mit einer brauchbaren SELinux-Unterstuetzung ausliefern zu koennen, welches das System wohl wieder ein wenig interessant machen duerfte und es wohl auch noch ein wenig von anderen Distributionen abheben sollte. 

Grosser Dank hierfuer geht an andy72 der sich einen Haufen Arbeit gemacht hat um einen wertvollen Anteil an diesem Projekt leisten zu koennen!


----------



## RedWing (25. Februar 2007)

Hallo,


andy72 hat gesagt.:


> Habe jetzt die Projektseiten auf http://www.3-seiten.com etwas aktualisiert und etwas gestyled - ...



wenn Ihr mit den Seiten viele Leute erreichen wollt würde ich sie:
1.) so gestalten das sie auch in andren Browsern lesbar sind (bei mir im Firefox sind die Anleitungen unlesbar: siehe Anhang)
2.) die Seiten auf Englisch veröffentlichen.

Gruß,
RedWing


----------



## andy72 (25. Februar 2007)

So weit so gut, schön auch, dass ich hier helfen konnte.Meine Arbeit ist damit jedoch nicht so GANZ erledigt, da ich heute Nacht noch einen fatalen Fehler bei der Python-Installation gesehen habe: Python-2.5 ist nötig, um die Funktionalität von SELinux und refpolicy zu gewährleisten, da Python 2.4 diese Funktionalität nicht mitbringt,ist dieses Upgrade also notwendig. Beim kompilieren erhalte ich in version 2.5 nun zig Fehlermeldungen, in 2.4 wurden die Python-Module nicht mitinstalliert - so habe ich also bis heute morgen um 4 dran gehockt, um den Fehler zu beheben, bis jetzt noch ohne grosse Erfolge. Fazit: ich werd noch den Sonntag dran sitzen, um Python-2.5 zum laufen zu bekommn und später die Installationsanweisung updaten.

Ein grosser Dank geht hier auch erstmal an Dennis, der so schnell und eifrig die ganze Sache an sich nimmt,und sich auch die Nächte damit um die Ohren schlägt - und das noch zwischen Arbeit und Umzugsstress 

@RedWing:
Danke für deinen Hinweis:
Die Seiten habe ich erstmal nur Online gestellt, damit Dennis weiss,wie man SELinux integriert. Wie man sieht, haben die Seiten noch keinen Titel, keine Suchmaschinenoptimierung und selbst meine Anwendung (loadselinux) hat noch nicht mal ein Copyright, Readme oder eine Lizenz der GPL inne - zur Zeit habe ich wichtigeres zu tun, als an der Seite zu fummeln - trotzdem aber Danke für Deinen Hinweis


----------



## Dennis Wronka (25. Februar 2007)

Mir ist uebrigens aufgefallen, dass in Deiner Anleitung scheinbar checkpolicy nicht erwaehnt wird.

In EasyLFS hab ich auch gleich Python 2.5 eingesetzt und auch bei meinem Test heute hab ich diese Version genutzt. Entsprechend bin ich dann auch nicht ueber irgendwelche Probleme gestolpert.

Uebrigens, hier der Teil der die Bootscripts anpasst/erstellt.

```
sed -i 's@boot_mesg ""@if ! mountpoint /selinux &> /dev/null; then\n\t\t\tboot_mesg -n " /selinux" ${NORMAL}\n\t\t\tmount -n /selinux || failed=1\n\t\tfi\n\n\t\t&@' /etc/rc.d/init.d/mountkernfs || LFS_ERROR=1
sed -i 's@mount -f /sys || failed=1@&\n\t\tmount -f /selinux || failed=1@' /etc/rc.d/init.d/mountfs || LFS_ERROR=1
cat > /etc/rc.d/init.d/selinux.sh << "EOF" || LFS_ERROR=1
#!/bin/sh

. /etc/sysconfig/rc
. ${rc_functions}

case "${1}" in
	start)
	boot_mesg -n "Starting SELinux:"
	/sbin/load_policy || failed=1

	(exit ${failed})
	evaluate_retval
	;;
	*)
	echo "Usage: ${0} start
	exit 1
	;;
esac
EOF
chmod 754 /etc/rc.d/init.d/selinux.sh
ln -s /etc/rc.d/init.d/selinux.sh /etc/rc.d/rcsysinit.d/S02selinux
```

Dadurch ist es dann auch unnoetig Dein eigenes kleines Tool zum Laden von SELinux zu nutzen.

Ich lass uebrigens auch load_policy von /usr/sbin nach /sbin verschieben. Das sollte wohl eher dem FHS entsprechen da der Befehl ja beim Systemstart benoetigt wird.


----------



## andy72 (25. Februar 2007)

Dieses Tool habe ich geschrieben, da ich massive Probleme mit den booleans habe - bei mir kommen beim laden von SELinux zig Meldungen über "unknown boolean allow_"... - in meinem kleinem Toollade ich die Policy Ohne booleans, und es geht trotzdem - sogar im enforcing-Mode  *kopfkratz* ...ich vermute, der Fehler liegt am falschen Python

Setzt Du nach dem Laden von udev und dem Mount von /dev/shm nochmal die Berechtigungen der Verzeichnisse ? Wenn nicht, gibts spätestens beim laden von X11 probleme, da nach dem Laden das Verzeichnis /dev dem falsschen Context gehört: system_ubject:r:tmpfs_t ---- es muss aber system_ubject_r:dev_t gehören, darum nochmal das restorecon -R /dev


----------



## Dennis Wronka (25. Februar 2007)

Das ist moeglich.
Enforcing hab ich nicht probiert, aber diese Fehlermeldungen hab ich mein ich nicht gesehen, nur eben so einiges an Ausgaben, dass so diverses initialisiert wurde.

Kann das jetzt auch nicht nochmal testen da ich grad das Image wieder ueberschrieben hab um nun die naechsten Tests laufen zu lassen.


----------



## andy72 (25. Februar 2007)

Mist ... jetzt steh ich aber doof da ... hab an den coreutils gefummelt, und nun hab ich den Befehl "cp" zerschossen, und kann nix mehr installieren, weil dat kopieren nich mehr geht  ... ich werd mal nen Bash-Script schreiben, wo ich mit "cat" kopieren kann *g*

Update:
Python-2.5 läuft jetzt, die Policy wird jetzt korrekt erstellt und ich kann tatsächlich ohne mein Tool das System starten. Habe meine Seiten dahingehend nochmal überarbeitet, da Python-2.5 von Hause aus keine Module installiert und SELinux auch noch etwas mehr Python unterstützt. Der Befehl "cp" geht auch wieder, habe mit einem Bash-Script "cp" simuliert und konnte so die Coreutils neu installieren 

Von mir war es das für heute denn wohl erstmal, ich werde jetzt mal anfangen, die Webseiten Firefox-Tauglich zu machen, da das etwas arg grausam aussieht 

LG
Andy


----------



## Dennis Wronka (27. Februar 2007)

So, nachdem ich mir gestern bis halb 5 die Nacht um die Ohren geschlagen und mit EasyLFS verbracht hab gibt es wieder gute Nachrichten.
Die Scripts fuer SELinux funktionieren jetzt soweit. Ich musste zwar noch ein paar Anpassungen vornehmen bis es dann alles wollte, aber nun laeuft die Installation vollautomatisch ab.
Eine Vollinstallation mit GCC 3.4 und SELinux ist nun also getestet und fuer gut befunden.
Jetzt noch die Tests mit GCC 4.0 und 4.1 und dann kann es eigentlich losgehen.

Meine heutige Mittagspause hab ich auch noch in etwas Arbeit investiert um ein paar Korrekturen an den Bootscripts vorzunehmen (da gab es noch Probleme mit dem sed-Aufruf der diese aendert).

Wenn ich dann heute nach der Arbeit heim komme werd ich mal ein Script schreiben welches dann beim Reboot das Dateisystem labelt und sich anschliessend loescht.
Wenn das dann auch funktioniert kommt das mit in das SELinux-Config-Script damit das dann gleich beim ersten Reboot nach der Installation geschieht.
Ausserdem werd ich wohl auch noch Links fuer restorecond einbauen muessen damit dieser beim Systemstart gestartet wird. restorecond sorgt wohl dafuer, dass neue Dateien gleich mit den entsprechenden Labels ausgestattet werden.

Diese beiden Punkte sind aber dann eher "Kinderkram" und sollten eigentlich keine Probleme bereiten.

Heute Nacht kommt dann also der Test mit GCC 4.0, und morgen dann GCC 4.1.
Am Donnerstag sollte ich dann also, wenn es keine unerwarteten Probleme gibt, soweit sein, dass ich die offizielle LiveCD bauen kann.

@andy: Ich wollte Dich eigentlich darauf hingewiesen haben, dass bei Python noch die Shared-Libraries fehlen, hab aber grad gesehen, dass Du dies auch schon auf der Website vermerkt hast. Was ich mich aber grad noch frage ist wofuer Du die Setup.dist kopierst und wofuer Du das Signal-Modul aktivierst.


----------



## andy72 (27. Februar 2007)

Moin,moin ...

habe das in nem Thread gelesen, als ich irgendwo im Nirvana des Internet unterwegs war, und sich Python 2.5 bei der Installation verabschieded hat, weildie Module nicht Threadfähig seien - das "--with-signal-module" fügt diese Fähigkeit hinzu. Das Kopieren der Setup.dist mussteich auf MEINEM System machen, da sonst das python das bauen der Module verweigert hat (warum auch immer). Nach dem kopieren der Setup.dist lief die installation dann ohne Probleme durch.

News von den Coreutils:
Bin mitten in der Arbeit,die Coreutils SELinux-tauglich zu programmieren - bisjetzt gibt es schon "ls, stat, mkdir, chcon, runcon, id,mv und install" mit VOLLER Funktion.Ganz praktisch scheint mir "ls -Z" oder "ls --context" zu sein, daich auf einen Blick den Context der Files sehen kann, auch mv,mkdir und install erlauben was nettes: ich kann kopieren bzw Files/Verz.unter anderem Context erstellen, was bei installationen Sinn macht.

@Dennis:
restorecond ist bei der Installation bereits mit vorgesehen, allerdings habe ich in meinen Webseiten noch einen kleinen Bug drin (?): versuche mal, einen Link von /etc/rc.d auf /etc/init.d zu erstellen - eigentlich wird restorecond dann auch richtig installiert.

Noch was:
In deinen Bootscripts könntest Du evtl. den Befehl "selinuxenabled" mit verwenden, das erspart villt. einiges an Scripting


----------



## Dennis Wronka (27. Februar 2007)

So, und wieder gibt es frohe Botschaft.
Ich hab einen SELinux-Patch fuer die CoreUtils gefunden, und zwar bei Fedora.

Hab ihn grad mal getestet und es scheint alles wunderbar zu funktionieren.
Der wird nun auch noch in's Script eingebaut und dann koennen die naechsten Tests anfangen sodass ich auch wirklich noch vor dem Umzug die neue Version fertig haben kann.


----------



## andy72 (27. Februar 2007)

hm, denselben Patch hatteich von Gentoo ... das problem dabei ist aber, dass wenn Du die Patches (uname,i18n etc)  von LFS bereits integriert hast, dieser Patch nicht mehr geht - darum mein Umbau  ... wenn Du ne Lösung hast, meld dich bitte - dann kann ich mir den Spass nämlich sparen *g* ...zur zeit sitze ich eh noch an den Coreutils Version 5.94, da die aktuelle 6.7er nur mist macht. Abgesehen davon unterhalten sich die Entwickler in der Mailingliste der Coreutils auf Gnu.org bereits darüber, dass vorraussichtl. in Version 6.9 SELinux voll unterstützt werden soll und in einigen CVS-Variationen soll es bereits laufen - ist also ne Frage der Zeit (evtl ja schon in 2-3 Monaten) wann die releasen


----------



## Dennis Wronka (27. Februar 2007)

Hab auch schon gelesen, dass das fest mit rein soll. Ist auch vernuenftig.

Mit den beiden Patches werd ich mal schauen wie das aussieht.
Nur hab ich mein System mit dem ich vorhin getestet hab halt schon wieder geplaettet um den GCC 4.0 Test laufen zu lassen. Ich benutz dafuer immer das gleiche Image-File. 

Obwohl, ich hab noch ein CD-Image, damit muesste ich ja testen koennen. 
Ich werd das mal probieren.

Nachtrag: So, getestet und fuer gut befunden.
Dein Problem koennte uebrigens damit zusammenhaengen, dass Du versuchst mit den alten CoreUtils die neuen zu kompilieren, warum auch immer. Auf jeden Fall kann ich in meinem aktuellen System (also das mit dem ich jeden Tag arbeite) auch nicht die neuen CoreUtils kompilieren. Mit der LiveCD oder dem fertig installierten System, wo ja bereits die neuen CoreUtils drauf sind, ist es aber kein Problem.

Nachtrag 2: Hmm, mit den Patches konnte ich die neuen CoreUtils auch auf meinem aktuellen System uebersetzen. Das Problem muss also scheinbar woanders liegen.
Naja, Tests laufen, und es wird sich zeigen ob sich alles wie erwartet installieren laesst. Aber im Grunde bin ich zuversichtlich.
Wenn das alles laeuft duerfte es an irgendwas anderem in der von Dir genutzten Version des EasyLFS liegen.
Aber dafuer lass ich ja die Volltests laufen, sodass ich zumindest weiss dass die Scripts alle in Ordnung sind und auch alle Abhaengigkeiten aufgeloest sind.


----------



## Dennis Wronka (27. Februar 2007)

Ich denk es ist mal Zeit fuer eine komplette Liste der kommenden Version.
So kann dann jeder gleich sehen was denn so dabei ist.
Dabei ist natuerlich zu bedenken, dass nicht alle Pakete installiert werden (es wird z.B. nur ein GCC installiert), einige Pakete sind optional und werden standardmaessig nicht installiert.

```
autoconf           2.61              
 automake           1.10              
 bash               3.2               
 bash-doc           3.2               
 beecrypt           4.1.2             
 bin86              0.16.17           
 bind               9.3.4             
 binutils           2.17              
 bison              2.3               
 bzip2              1.0.4             
 checkpolicy        1.34.0            
 coreutils          6.7               
 dcron              3.2               
 dejagnu            1.4.4             
 device-mapper      1.02.18           
 dhcp               3.0.5             
 diffutils          2.8.1             
 dmraid             1.0.0rc13         
 dosfstools         2.11              
 dpkg               1.10.28           
 e2fsprogs          1.39              
 eject              2.1.5             
 expect             5.43.0            
 file               4.19              
 findutils          4.2.29            
 flex               2.5.33            
 fuse               2.6.3             
 gawk               3.1.5             
 gcc                3.4.6             
 gcc                4.0.4             
 gcc                4.1.2             
 gettext            0.16.1            
 glib               2.12.9            
 glibc              2.5               
 glibc-linuxthreads 2.5               
 grep               2.5.1a            
 groff              1.19.2            
 gzip               1.3.3             
 hdparm             6.9               
 iana-etc           2.20              
 inteutils          1.5               
 iproute2           2.6.19-061214     
 iptables           1.3.7             
 jfsutils           1.1.11            
 joe                3.5               
 kbd                1.12              
 kexec-tools        1.101             
 less               382               
 lfs-bootscripts    6.2               
 libselinux         1.34.0            
 libsemanage        1.10.0            
 libsepol           1.16.0            
 libtool            1.5.22            
 libusb             0.1.12            
 libxml2            2.6.27            
 lilo               22.7.3            
 linux              2.6.20            
 lm_sensors         2.10.2            
 lynx               2.8.6             
 m4                 1.4.8             
 make               3.81              
 man                1.5p              
 man-pages          2.43              
 mc                 4.6.1             
 mdadm              2.6               
 mktemp             1.5               
 module-init-tools  3.2.2             
 nano               2.0.3             
 nasm               0.98.39           
 ncftp              3.2.0             
 ncurses            5.6               
 neon               0.26.3            
 net-tools          1.60              
 ntfsprogs          1.13.1            
 openssh            4.5p1             
 openssl            0.9.8d            
 parted             1.8.2             
 patch              2.5.4             
 pciutils           2.2.4             
 perl               5.8.8             
 pkg-config         0.21              
 policycoreutils    1.34.1            
 procps             3.2.7             
 psmisc             22.3              
 python             2.5               
 readline           5.2               
 refpolicy          20061212          
 reiserfsprogs      3.6.19            
 rpm                4.4.7             
 screen             4.0.2             
 sed                4.1.5             
 shadow             4.0.18.1          
 slocate            3.1               
 smartmontools      5.37              
 sqlite             3.3.13            
 swig               1.3.31            
 sysfsutils         2.1.0             
 sysklogd           1.4.1             
 sysvinit           2.86              
 tar                1.16.1            
 tcl                8.4.14            
 texinfo            4.8a              
 udev               105               
 udev-config-rules  6.2               
 usbutils           0.72              
 util-linux         2.12r             
 vim                7.0               
 wget               1.10.2            
 which              2.16              
 xfsprogs           2.8.18            
 zlib               1.2.3
```
Das ist also nun die verfuegbare Software fuer EasyLFS 0.2.6, welches hoffentlich noch diese Woche fertig wird.


----------



## andy72 (27. Februar 2007)

Habe die Coreutils mit dem Patch von RedHat kompilieren können, SELinux funktioniert auch wie erwartet - muss also an deinem Sys liegen  *arbeit hinschmeiss undmich jetzt an PAM (Pluggable Ath. Modules) ranmache,um dasmit SELinux zu testen ...


----------



## andy72 (28. Februar 2007)

Heute morgen habe ich PAM installiert und daraufhin shadow nochmal neu aufgesetzt, alles SELinux-kompatibel und es läuft ... man sollte überlegen, ob man Dein EasyLFS nicht gleich mit allem Sicherheitskram ausstattet und folglich "EasyLFS SE" nennt


----------



## Dennis Wronka (28. Februar 2007)

Mit PAM hab ich mich bislang auch nicht gross auseinander gesetzt.
Ich hatte glaub ich mal versucht es irgendwann irgendwo einzubinden aber anschliessend war kein Login mehr moeglich wenn ich mich recht erinnere.
Ich muss da also scheinbar was falsch gemacht haben.

Wird PAM denn auch effektiv genutzt oder ist es einfach nur da?
Welchen Vorteil bringt uns PAM?


----------



## andy72 (28. Februar 2007)

PAM bringt den Vorteil, dass es sämtliche Logins abgreift, OpenSSH noch etwas mehr einschränkt (absichert) und eben auch auf SELinux aufsetzt. Ich vermute, da es auf SELinux aufsetzt, dass es intern ebenfalls den Context abprüft, ob im Sys was passieren darf. Ersteres ist aber Fakt - SuSE und RedHat setzen das schon seit Jahren ein


----------



## Dennis Wronka (28. Februar 2007)

Ich denke es koennte durchaus eine Ueberlegung wert sein PAM einzubauen.
Aber ich denke eher in der nachfolgenden Version und nicht mehr in der kommenden, da ich ja jetzt im Grunde schon bei den letzten Tests bin und ungern noch was umfangreiches wie PAM einkleben moechte.

Allgemein bin ich auf jeden Fall nicht abgeneigt PAM einzubauen, moeglicherweise sogar als Teil der Standardinstallation.


----------



## andy72 (28. Februar 2007)

Joah, würde ich gut finden - ich denke, das hebt das Linux von anderen Selbstbau-sachen doch stark ab


----------



## Dennis Wronka (28. Februar 2007)

Ich denk allein durch den SELinux-Support kann sich EasyLFS schon von so einigen Distributionen abheben. Denn so viele Distributionen duerften dies auch nicht bieten.
Suse ist nach einem kurzen Zwischenspiel mit SELinux auf AppArmor, welches aber nicht so umfassenden Schutz bietet wie SELinux, umgestiegen und auch bei vielen anderen Distributionen vermisst man es im Auslieferumfang.
Ausserdem bin ich eben auch der Meinung "wenn SELinux, dann auch richtig", also dass es gleich mit dem System installiert wird und auch die Software, soweit noetig, darauf abgestimmt wird.

Und wenn wir dann eben auch noch PAM bieten waer das noch besser.

Ich hab mir auch vorgenommen mich mal etwas mit UDev auseinander zu setzen um noch umfassendere Regeln ausliefern zu koennen sodass z.B. kein zusaetzliches Script mehr noetig ist um beim Systemstart z.B. die USB-Module zu laden und sowas.
Sollte ja eigentlich ueber UDev moeglich sein.


----------



## andy72 (28. Februar 2007)

hm, soll ich dir was sagen ? ich hab von udev absolut NULL ahnung  ... ich freu mich, wenn es  - den letzten kernel, den ich vor deinem 2.6.19 kompiliert habe, war noch aus der 2.4er Reihe ... und da brauchte ich weder udev noch /sys noch /srv, wo ich mich frage, was /srv macht - das verz. ist in allen Distris die hin und wieder mal teste immer leer 

...das einzige, was ich über udev weiss ist, dass es wohl hotpug ersetzt *glaub*


----------



## Dennis Wronka (28. Februar 2007)

/srv ist einfach nur da, und zwar aus dem Grund dem FHS zu entsprechen.
Warum die Distributionen nicht so konsequent sind und es auch mal nutzen anstatt es einfach nur dem Standard zuliebe kann ich aber auch nicht nachvollziehen.

Viel hab ich mit UDev bisher auch nicht gemacht. Ich hab mal eine Regel geschustert die einen SymLink fuer meinen MP3-Stick anlegt, egal welches Device er zugewiesen bekommt, sodass ich eben immer auf /dev/mp3stick zugreifen kann und 2 Regeln fuer meine CD-Laufwerke.
Mit dem Laden von Modulen hatte das alles aber nichts zu tun.

Aber ich hab bei einem Blick auf ein paar Regeln was dazu gesehen und gehe somit davon aus, dass es machbar sein sollte.

/sys finde ich persoenlich uebrigens eine Klasse Sache. Man bekommt dort einen Haufen nuetzlicher Informationen gut sortiert praesentiert. Geplant ist ja scheinbar, dass saemtliche Hardware-Informationen von /proc nach /sys wandern, was im Grunde keine schlechte Idee ist, nur eben noch ein paar Jahrzente dauern duerfte. 

Nachtrag: Frueher haben Hotplug und UDev zusammengearbeitet. Seit Kernel 2.6.irgendwas (ich glaub 16) ist Hotplug aber wohl nicht mehr notwendig.


----------



## andy72 (28. Februar 2007)

naja, bisher nutze ich noch /proc, da ich weiss, wo man was findet  ... was udev betrifft, hab ich mich ja schon öfter gewundert, wie das geht, dass mein cdrom automatisch gefunden wird ... ich dachte bis dato immer dran, dass die gucken, welches LW nen cdrom ist und in proc gucken oder im dmeg nen grep veranstalten ... also ist ja udev ne schöne sache, wenn das das ganze scripting ersetzt und man nicht per hand den symlink von /dev/hd? auf /dev/cdrom setzen muss 

was mir gerade dazu einfällt:
Ich hatte was falsch an der config gemacht, als ich mit SELinux gebastelt hatte und init konne keine console mehr öffnen, weil die devices fehlten - konnte das damit umgehen, dass ich per hand in /dev/console und /dev/null mit mknod angelegt habe. vielleicht sollte man vor dem mounten die geräte im bootscript trotzdem anlegen, falls beim boot/mount was schief geht - dann kommt man wenigstens noch bis zum login - so musste ich am lilo "init=/bin/sh" eingeben, um ans system zu kommen


----------



## Dennis Wronka (28. Februar 2007)

/dev/console und /dev/null sollte es eigentlich geben.
Diese werden bei der Installation angelegt da diese, wenn ich mich recht erinnere, schon vor UDev oder von UDev benoetigt werden.
Der Rest wird dann dynamisch angelegt.


```
LFS_JOB="populating /dev"
echo $LFS_JOB

mknod -m 600 /dev/console c 5 1 || LFS_ERROR=1
mknod -m 666 /dev/null c 1 3 || LFS_ERROR=1

. /lfs-install/modules/error.sh
```


----------



## Webstar (28. Februar 2007)

Dennis Wronka hat gesagt.:


> Ich hab mir auch vorgenommen mich mal etwas mit UDev auseinander zu setzen um noch umfassendere Regeln ausliefern zu koennen sodass z.B. kein zusaetzliches Script mehr noetig ist um beim Systemstart z.B. die USB-Module zu laden und sowas.
> Sollte ja eigentlich ueber UDev moeglich sein.


Da hätte ich einen interressanten Link als Lektüre! 

Schönen Tag noch, man liest sich. 
Euer Jens Ornot alias Webstar


----------



## Dennis Wronka (28. Februar 2007)

Vielen Dank fuer den Link, die Anleitung werd ich mir mal zu Gemuete fuehren.


----------



## andy72 (28. Februar 2007)

Wahrscheinlich war es bei mir so, dass ich das Sys schon zu weit hoch hatte, und tmpfs schon nach /dev gemounted war - somit konnte init auf die konsole nich mehr zugreifen ... ich hatte was am udev-script gemurkst weil ich die rechte mit restorecon neu setzen wollte und im script einen tippfehler hatte


----------



## andy72 (28. Februar 2007)

Nochmal zu PAM:
PAM lässt sich mit shadow und SELinux in den aktuellen Versionen installieren und konfigurieren (shadow=4.0.18.1 vom debian-ftp, pam=0.99.7.1 von ftp.kernel.org), hab nur noch ein kleines login-problem: PAM fragt beim login, welchen kontext ich benutzen will - find ich nich so klasse, da ein unerfahrener user da eh keine ahnung von hat  ..werde also noch versuchen, ein"default" zu bastel nund die nächsten Tage ein Online-Tut zur Verfügung stellen 

Bis denne
Andy

Nachtrag:
Habe bis heute morgen im Sys gefummelt, um PAM und SELinux zu koppeln, ist ja echt mal jede Menge Konfigurationsarbeit  ...soweit läufts jetzt erstmal ohne die dumme Abfrage, habe aber noch 2 wichtige Sachen, die Du bitte ins Sys integrieren müsstest Dennis:

1.) /var/log/wtmp fehlt
2.) /var/log/lastlog fehlt
3.) /etc/shells fehlt
4.) /etc/securetty fehlt ebenfalls

Die Dinge gehören eigentlich zum Standard und werden von PAM bitter benötigt - vielleicht kannst du das im nächsten Release berücksichtigen 

LG
Andy


----------



## Dennis Wronka (1. März 2007)

So, ich bin auf ein kleines, aber wirklich unguenstiges Problem mit der Installation von SELinux gestossen, oder eigentlich eher mit den CoreUtils.
Der SELinux-Patch macht es notwendig, dass autoconf und automake vorhanden sind, sonst bricht die Installation der CoreUtils ab, was unguenstig ist.
Nur koennen eben diese zu dem Zeitpunkt wo die CoreUtils installiert werden noch nicht installiert werden sodass ich mich entschieden habe die CoreUtils, genau wie auch die GLibC, ein weiteres Mal zu installieren falls SELinux-Support aktiviert wurde.
Dies geschieht nun zusammen mit den SELinux-Utils, was so ziemlich am Ende der Stage 2 geschieht und somit sollte es auch keinerlei Probleme mit irgendwelchen Abhaengigkeiten geben.
PsMisc, Shadow und Util-Linux werden eh erst recht spaet installiert und da sind dann auch schon autoconf und automake da, falls diese dort denn ueberhaupt noetig sind. Damit sollte es also keine Probleme geben, aber das werd ich wohl erst etwas spaeter sehen.

Auf jeden Fall hab ich jetzt die Scripts was angepasst sodass die CoreUtils also erstmal ganz normal installiert werden und spaeter nochmal mit SELinux-Support.
War schon etwas wundersam, dass ich alles ohne Probleme im fertigen System kompilieren konnte nur eben beim Bau eben diesen Systems kamen dumme Fehler.
Naja, aus Fehlern lernt man und ich denke wir sind jetzt wieder einen Schritt weiter.

Nur wurde dadurch jetzt der Release etwas verzoegert und ich glaube nicht, dass ich vor Samstag morgen (wo erstmal meine letzte Chance fuer einen Upload ist bevor ich umziehe und ich in der neuen Wohnung mit dem sagenumwobenen Internet ausgestattet werde) die endgueltige LiveCD aus dem Aermel schuetteln kann.
Unmoeglich ist es aber nicht, das setzt aber voraus, dass jetzt alles glatt laeuft und ich wahrscheinlich morgen Abend ein paar Ueberstunden einlegen muss. 

Zu Deinem Nachtrag: Werd ich mir mal anschauen.


----------



## Dennis Wronka (2. März 2007)

Frohe Kunde sei Euch allen bereitet, denn es ist fast geschafft!

SELinux, der letzte Stolperstein, laeuft. GlibC, CoreUtils, PsMisc, Shadow und sogar IPTables bekommen bei Bedarf (also falls SELinux-Support ausgewaehlt wurde) entsprechende Optionen um auch mit SELinux bestmoeglich zusammenarbeiten zu koennen. Das fuehrt zum Beispiel dazu, dass unter anderem ls auch auch ps mit dem neuen Parameter -Z ausgestattet werden welche den Security-Context anzeigt.
Beim ersten Startvorgang wird aber einige Zeit aufgewandt um erstmal alle Dateien und Verzeichnisse mit Security-Labels zu versehen, und wenn ich einige Zeit sage, dann meine ich auch einige Zeit. Pizza holen und essen sollte locker drin sein. 

Die mir bekannten Bugs der vorigen Version sind beseitigt und bei einem kurzen Test konnte ich auch keine neuen finden (was nicht heisst, dass keine da sind  ).

Ich werde dann jetzt gleich mal das System fuer die LiveCD basteln und dann zur finalen LiveCD zusammenstricken.
Fuer die CD selbst hab ich mir die Tage auch was nettes einfallen lassen, und zwar 2 kleine Scripts zum Laden von Modulen.
Hierbei wird lspci genutzt um zum einen zu erkennen ob ein USB-Controller da ist, und auch was fuer einer (obwohl dies in der Regel ein UHCI-Controller sein duerfte). Das entsprechende Modul wird dann geladen. Dies sollte z.B. dabei helfen wenn man eine USB-Tastatur hat. 
Weiterhin werden die restlichen PCI-Geraete mit der Datei modules.pcimap abgeglichen sodass auch Treiber fuer Festplattencontroller (hoffentlich auch SCSI und SATA) und Netzwerkkarte geladen werden.
Diese beiden Scripts sind ziemlich neu und kaum getestet sollten aber eher keinen Effekt haben als Probleme zu verursachen.
Im Grunde sollten sie aber die vorhandene Hardware den entsprechenden Modulen zuordnen koennen (bei meinen Tests im QEmu wurde der emulierte PIIX-Controller erfolgreich erkannt und auch das entsprechende Modul geladen) und diese dann laden.

Einen Downloadlink kann ich bislang nicht anbieten und weiss bislang auch nicht genau wann. Ich zieh morgen um und ich weiss nicht genau wann ich dann wieder mit dem Internet verbunden werde sodass ich dann das Image hochladen kann.
Aber im Laufe der kommenden Woche sollte sich da bestimmt was machen lassen.

Welche Software in welcher Version enthalten ist kann in diesem Post eingesehen werden, eine Installationsanleitung folgt im naechsten Post.
Und der Downloadlink dann sobald verfuegbar.


----------



## Dennis Wronka (2. März 2007)

*Installationsanleitung fuer EasyLFS 0.2.6*


Am Ende des Starts von der LiveCD wird zunaechst mal die Tastaturbelegung abgefragt.
Dabei ist es wichtig zu beachten, dass das Script die Zahlen vor den jeweilgen Eintraegen erwartet und nicht den Namen des Eintrages selbst!
Anschliessend als root einloggen.
Ein Passwort gibt es nicht, also einfach nochmal Enter druecken und schon ist man im System.
Festplatte partitionieren.
Dazu stehen fdisk und parted zur Verfuegung.
Die genutzte Partition sollte mindestens 3GB gross sein. Ein vollstaendig installiertes System benoetigt ca. 1.5GB, bei der Installation wird aber was mehr benoetigt. 3GB hab ich aber erfolgreich getestet.
Zusaetzlich empfiehlt sich natuerlich eine Swap-Partition, zwingend noetig ist diese aber nicht. Falls eine Swap-Partition angelegt wird sollte diese nicht aktiviert werden.
Nach /lfs-install wechseln.
lfs_config.sh bearbeiten.
Dazu stehen die Editoren vim (vi), joe und nano zur Verfuegung.
Hier mal die relevanten Einstellungen mit ein paar Erklaerungen:
Die Zielpartition:
*LFS_DEV=/dev/*
Hier muss hinter /dev/ noch die Partition angegeben werden wo das System denn eigentlich installiert werden soll.
Das sollte am Ende ungefaehr so aussehen: */dev/hdb3*
Die Swap-Partition:
*#LFS_SWAP=*
Diesen Eintrag nicht bearbeiten, denn die Swap-Partition wird, falls vorhanden automatisch erkannt und eingetragen.
Fallschirm 1:
*LFS_BUILD_FROM_CD=y*
Da es im Grunde auch moeglich ist das ganze Paket in sein System zu kopieren und von dort zu bauen gibt es diese Option.
Ist sie an, was die Standardeinstellung ist, dann wird das /tmp-Verzeichnis auf die Zielpartition gelinkt. Das wird deshalb gemacht weil beim kompilieren gern mal in /tmp geschrieben wird, und da /tmp im Speicher liegt wenn man von CD bootet waere dies wohl Resourcenverschwendung und koennte im Extremfall zum Abbruch fuehren weil die virtuelle Festplatte (also die Root-Partition im Speicher) voll ist.
Fallschirm 2:
*LFS_SAFECOPY=y*
Bei einem Kopiervorgang kann es auch mal zu Stoerungen kommen sodass eine Datei fehlerhaft kopiert wird.
Da hier knapp 300MB Sourcen von CD auf Festplatte transferiert werden und die Installation auch eine Weile dauert sollte man sich sicher sein koennen, dass die Installation nicht abbricht nur weil ein Paket nicht entpackt werden kann weil es beschaedigt ist.
Diese Option stellt sicher, dass die Zieldatei auch wirklich der Quelldatei entspricht indem es nach dem Kopiervorgang die MD5-Summen beider Dateien vergleicht. Sind diese nicht gleich wird nochmal kopiert, und zwar solange bis sie gleich sind!
Das Dateisystem:
*#LFS_FS=ext2
LFS_FS=ext3
#LFS_FS=ext4dev
#LFS_FS=reiserfs
#LFS_FS=jfs
#LFS_FS=xfs*
Fuer Linux stehen quasi haufenweise Dateisysteme zur Verfuegung (auch wenn natuerlich nicht unbedingt alle dafuer geeignet sind Linux darauf zu installieren, wie z.B. NTFS  ) und diese Liste repraesentiert die Dateisysteme welche sozusagen fuer den Betrieb von Linux ausgelegt sind. Jedes Dateisystem hat seine Vor- und Nachteile.
Ext2 z.B. ist in der Performance gut dabei, bietet dafuer aber kein Journal (was den Performance-Zuwachs erklaert  ).
Ext4 ist noch experimentell und entsprechend kann ich hier nicht garantieren, dass damit alles laeuft. Es steht dennoch als "Option fuer Mutige" zur Verfuegung. 
Standard ist hier Ext3, da dieses heutzutage wohl der allgemeine Standard in Sachen Linux-Dateisystem ist.
Einen kleinen unverbindlichen Vergleich zu den genannten Dateisystemen hab ich mal in der Tutorials-Section unter dem Titel Dateisysteme fuer Linux: Ein kleiner Performancevergleich abgelegt.
Der Compiler, Teil 1:
*LFS_GCC=3.4.6
#LFS_GCC=4.0.4
#LFS_GCC=4.1.2*
Meiner Erfahrung nach duerfte man wohl weiterhin mit GCC 3.4 am sichersten fahren wenn man nicht unbedingt darauf steht ein paar Minuten bis Stunden in die Suche von Patches investieren zu wollen. Dementsprechend ist diese Version auch die Standardeinstellung.
Wer sich davor aber nicht scheut darf gern auch GCC 4.0, welcher in Sachen Patches noch recht moderat daherkommt, oder GCC 4.1 nutzen, welcher doch zu einer relativ ordentlichen Patchsuche einlaedt.
Moeglicherweise sieht es mittlerweile auch besser aus, denn auch andere Software wird weiterentwickelt, und dort wird dann sicher auch neueren Compiler-Versionen Genuege getan. Aber wie gesagt, GCC 3.4 ist die sichere Wahl.
Es ist aber mit allen moeglich ein vollstaendiges System zu erstellen. Ich selbst nutze GCC 4.1.1 und hab alles was man so braucht laufen.
Der Compiler, Teil 2:
*LFS_GCC_COMPLETE=n*
Wird diese Einstellung auf y gesetzt werden von GCC nicht nur der C- und C++-Compiler installiert sondern auch alle anderen verfuegbaren Compiler, wie z.B. GCJ, der Java-Compiler.
Der Rechnername:
*LFS_HOSTNAME=easylfs.local.net*
Hier wird der Rechnername, als FQDN (Fully Qualified Domainname), angegeben.
Netzwerk-Einstellungen:
*#LFS_IP=192.168.1.1

#LFS_DNS1=205.252.144.126
#LFS_DNS2=218.102.32.208*
Wird die erste Option (LFS_IP) aktiviert (also der Kommentar entfernt) so wird beim Systemstart versucht die erste Netzwerkkarte mit zu starten und mit der IP zu versehen.
DHCP ist bisher nicht direkt moeglich, kann aber, da das DHCP-Paket installiert werden kann, manuell eingestellt werden.
Die Automatisierung ist geplant. 

Die naechsten beiden Eintraege bieten die Moeglichkeit bis zu 2 DNS-Server anzugeben.
Die dort angegebenen IP-Addressen sind keine Beispiele sondern funktionieren wirklich.
Die Standard-Seitengroesse (warum auch immer Groff die braucht  ):
*LFS_GROFF_PAGESIZE=A4*
Diese Einstellung duerfte wohl kaum einer aendern muessen. Ansonsten duerften hier auch Formate wie Letter und aehnliches moeglich sein.
Noch ein paar Einstellungen zum nicht anfassen:
*#LFS_TIMEZONE=
#LFS_KEYMAP=*
Sowohl die Zeitzone (LFS_TIMEZONE) als auch die Keymap (LFS_KEYMAP) werden hier automatisch eingetragen.
Die Keymap sollte uebrigens schon drinstehen, immerhin wurde sie ja beim Systemstart ausgewaehlt.
Die Zeitzone wird zu Beginn der Installation festgelegt.
Informationen ueber USB-Geraete:
*LFS_USE_USBFS=y*
Das USBFS kann eingehaengt werden um Detailinformationen zu USB-Geraeten zu erhalten. Da diese in der Regel ganz nuetzlich sind ist diese Option standardmaessig aktiv.
Wer einen Rechner ohne USB hat kann diese Option getrost deaktivieren indem er sie entweder komplett mit einem # auskommentiert oder auf n setzt.
"Automatische" Kernel-Installation:
*LFS_USE_CDKERNEL=n*
Diese Option auf y zu setzen bewirkt, dass die Kernel-Einstellungen vom auf der CD laufenden Kernel uebernommen werden.
Wenn man soweit gekommen ist diese Datei bearbeiten zu koennen ist das schonmal ein guter Hinweis darauf, dass dieser Kernel das eigene System betreiben kann, jedoch ist dieser ziemlich allgemein gehalten (ein riesen Haufen Module, CPU ist auf 586 gestellt, ...). Ausserdem werden die Scripts zur Device-Erkennung welche ich auf CD gepackt habe nicht installiert sodass es moeglicherweise zu Problemen kommen koennte.
Allgemein wuerde ich empfehlen den Kernel selbst einzustellen. Und wer SELinux will muss das eh tun, denn diese Unterstuetzung ist im CD-Kernel nicht aktiv.

Fuer die Zukunft koennte ich mir vorstellen aufgrund der laufenden Module und der Paketauswahl eine automatische Vorauswahl erstellen zu lassen. Wie ich das angehe weiss ich aber noch nicht genau.
Optionale Pakete:
*#LFS_INSTALL_ALL_FSUTILS=y
#LFS_INSTALL_BIND=y
LFS_INSTALL_DCRON=y
#LFS_INSTALL_DHCP=y
#LFS_INSTALL_DMRAID=y
#LFS_INSTALL_DOSFSTOOLS=y
#LFS_INSTALL_DPKG=y
#LFS_INSTALL_EJECT=y
#LFS_INSTALL_FUSE=y
LFS_INSTALL_HDPARM=y
#LFS_INSTALL_IPTABLES=y
#LFS_INSTALL_JOE=y
#LFS_INSTALL_KEXECTOOLS=y
#LFS_INSTALL_LMSENSORS=y
#LFS_INSTALL_LYNX=y
#LFS_INSTALL_MDADM=y
#LFS_INSTALL_MIDNIGHTCOMMANDER=y
#LFS_INSTALL_NANO=y
#LFS_INSTALL_NCFTP=y
#LFS_INSTALL_NETTOOLS=y
#LFS_INSTALL_NTFSPROGS=y
#LFS_INSTALL_OPENSSH=y
#LFS_INSTALL_PARTED=y
LFS_INSTALL_PCIUTILS=y
#LFS_INSTALL_RPM=y
#LFS_INSTALL_SCREEN=y
#LFS_INSTALL_SELINUX=y
LFS_INSTALL_SLOCATE=y
#LFS_INSTALL_SMARTMONTOOLS=y
LFS_INSTALL_USBUTILS=y
#LFS_INSTALL_WGET=y
LFS_INSTALL_WHICH=y*
Diese Einstellungen sollten eigentlich selbstredend sein.
Hier wird eingestellt welche optionalen Pakete noch installiert werden sollen.
Ein paar Pakete die fuer viele User nuetzlich sind sind hier vorausgewaehlt.
Und zum Schluss nochwas zum Finger davon lassen:
*LFS_ERROR=0*
Diese Variable wird in den Scripts genutzt um Fehler festzustellen. Ist diese nicht 0 wird abgebrochen.
Aenderungen hier fuehren also zur sofortigen Explosion des Computers. 

lfs_install.sh ausfuehren.
Hierbei wird man ziemlich zu Beginn nach ein paar Angaben zum eigenen Aufenthaltsort befragt um anhand dieser dann die Zeitzone einzustellen.
Gegen Ende gibt es dann noch 2 (oder auch nur eine, wenn LFS_USE_CDKERNEL aktiviert wurde) Unterbrechungen, einmal zur Konfiguration des Kernels (oder eben nicht falls die angesprochene Einstellung aktiv ist) und einmal um das root-Passwort zu setzen.
Wenn man soweit gekommen ist ist man aus dem schlimmsten raus, nach dem root-Passwort wird nur noch aufgeraeumt und neu gestartet.
Wenn das System irgendwann neu startet sollte alles gluecklich verlaufen sein. Anderenfalls sollte das Script eine Fehlermeldung praesentieren.

Ich hoffe, dass alle Interessierten das System erfolgreich mit den gewuenschten Optionen installieren koennen und bei der Nutzung keine Probleme auftreten.

Kritik, Kommentare, Anregungen und vor allem natuerlich Bugreports sind herzlichst willkommen.


----------



## andy72 (8. März 2007)

Es gibt neues von der SELinux-Front, bzw von mir 

Die Integration von SELinux in easyLFS ist wie bisher geschehen und auf meiner Webseite nun doch grundlegend falsch:

Die Initialisierung von SELinux MUSS grundsätzlich bereits im Init-Kontext des Kernels passieren, da init selbst sowie alle aufgerufenen Scripts in /etc/rc.d/* unter falschem Kontext verarbeitet werden. Das Resultat dabei ist, dass das System unter falschem Kontext arbeitet, selbst der angemeldete Benutzer ist in der Targeted-Policy nicht wie erwartet system_ubject_r:unconfined_t sondern system_ubject_r:kernel_t - was bedeutet, dass der Benutzer unter dem Kernel-Kontext arbeitet.

Was nun geändert werden musste ist, dass init einen Patch brauchte (habe ich von gentoo bzw redhat übernommen) und das ganze System etwas mehr angepasst werden muss. Dazu gehört eine Überarbeitung der init-Scripts, das erstellen angepasster policy-Regeln etc. Dies wird ca. noch eine Woche dauern, danach werde ich weiter PAM integrieren und eine neue Fassung meiner Anleitung auf meinen Server stellen.

@Dennis:
Es gibt eine neue Version von udev, die SELinux voll unterstützt und die Geräte unter richtigem Kontext erstellt. ein kopieren ist überflüssig, habe gestern abend sogar einen MP3-Player angestöpselt und ich konnte sofort lesend und schreibend darauf zugreifen (ist sogar nur ein Billigteil von Hama aus dem real,-Markt 

So long
Andy


----------



## Dennis Wronka (8. März 2007)

Meinst Du UDev 106? Den werd ich mir dann mal anschauen und in der naechsten Version verarbeiten. Dabei werd ich dann auch mal schauen ob irgendwelche Optionen fuer SELinux benoetigt werden oder nicht?

Ist natuerlich etwas unguenstig, dass noch was mehr Arbeit fuer SELinux noetig ist, aber ich denk wie es jetzt ist haben wir schon einen wirklich gewaltigen Schritt in die richtige Richtung getan, der Rest duerfte jetzt wohl noch eher Anpassungen im Detail sein so wie ich es verstehe.

Falls Du einen Link zum Init-Patch fuer mich hast waere das echt klasse, dann koennte ich da am Wochenende auch schonmal schauen.


----------



## andy72 (10. März 2007)

Anbei mal eben ein grösseres Update, das auf EasyLFS wartet:

zum ersten habe ich eine funktionierende referencepolicy (refpolicy) gebaut, die zumindest im target-modus ohne kernelaudits im logfile stabil läuft, erhältlich auf meiner Webseite unter http://www.3-seiten.com/patches unter refpolicy-easylfs.patch. 

zum zweiten habe ich udev dazu gebracht, mir alles im richtigen Security-Context zu installieren, wenn neue Geräte im Kernel gefunden werden - das Update dazu kommt am Sonntag (10.03.2007) -der nächste Schritt ist dann die Installation von automount, um USB-Sticks gleich zu mounten 

Zum dritten lädt init nun fehlerfrei SELinux ins System und läuft im richtigen Kontext (die Änderungen in den Init-Scripten sind damit hinfällig und müssen entfernt werden), auch dazu gibt es einen Patch unter http://www.3-seiten.com/patches

Zum vierten ist das Useradd-Problem ebenfalls in shadow behoben, den Patch dafür gibt es ebenfalls bei mir genauso wie ein Paar Patches für SELinux in den Coreutils und util-linux.

Bitte nutzt noch nicht die linke Navi auf der Patch-Seite, habe sie noch nicht aktualisiert 


Sooo, ich hoffe, dass ich am Sonntag meine Webseiten aktualisiert bekomme, damit meine Arbeit auch bei Euch umgesetzt werden kann 

LG
Andy


----------



## Dennis Wronka (10. März 2007)

andy72 hat gesagt.:


> Anbei mal eben ein grösseres Update, das auf EasyLFS wartet:
> 
> zum ersten habe ich eine funktionierende referencepolicy (refpolicy) gebaut, die zumindest im target-modus ohne kernelaudits im logfile stabil läuft, erhältlich auf meiner Webseite unter http://www.3-seiten.com/patches unter refpolicy-easylfs.patch.


Was genau musstest Du denn an der Policy aendern? Und was fuer Probleme gab es ohne die Aenderungen?



andy72 hat gesagt.:


> zum zweiten habe ich udev dazu gebracht, mir alles im richtigen Security-Context zu installieren, wenn neue Geräte im Kernel gefunden werden - das Update dazu kommt am Sonntag (10.03.2007) -der nächste Schritt ist dann die Installation von automount, um USB-Sticks gleich zu mounten



Der im aktuellen EasyLFS enthaltene UDev 105 sollte auch schon mit SELinux klarkommen. Zumindest hab ich im Script eine Option welche die Nutzung dessen aktiviert.
Hab aber auch schon 106 runtergeladen der dann in der naechsten Version eingeflanscht wird. Viel geaendert haben duerfte sich dort aber nicht denk ich.



andy72 hat gesagt.:


> Zum dritten lädt init nun fehlerfrei SELinux ins System und läuft im richtigen Kontext (die Änderungen in den Init-Scripten sind damit hinfällig und müssen entfernt werden), auch dazu gibt es einen Patch unter http://www.3-seiten.com/patches



Den Patch von Red Hat hab ich mir gestern auch mal besorgt, angepasst und gleich im Script verbaut.



andy72 hat gesagt.:


> Zum vierten ist das Useradd-Problem ebenfalls in shadow behoben, den Patch dafür gibt es ebenfalls bei mir genauso wie ein Paar Patches für SELinux in den Coreutils und util-linux.



Die Patches fuer Shadow, die CoreUtils und Util-Linux sind im aktuellen EasyLFS auch mit drin sodass es hier auch keine Probleme geben duerfte.



andy72 hat gesagt.:


> Sooo, ich hoffe, dass ich am Sonntag meine Webseiten aktualisiert bekomme, damit meine Arbeit auch bei Euch umgesetzt werden kann


Auf jeden Fall echt gute Arbeit. Jedoch befuerchte ich, dass nicht viele die EasyLFS-Version nutzen die Du nun so erfolgreich manipuliert hast.
Aber Deine Arbeit ist ja bereits in die neue Version eingeflossen sodass dort nun erstmals SELinux-Support existiert, in der naechsten Version kommt dann die verbesserte Variante mit dem gepatchten Init.

Du sagst weiter oben, dass nun die Anpassung der Init-Scripts hinfaellig ist, betrifft das auch das mounten von /selinux?

Ich hab die Nacht ein Testsystem mit SELinux, inklusive dem Patch fuer SysVInit, bauen lassen und werd mich nach der Arbeit noch etwas damit beschaeftigen.
Den Aufruf von load_policy hab ich schon auskommentiert eben in der Hoffnung, dass das von Init selbst geregelt wird.
Jetzt stell ich mir nur noch folgende Frage: Zum Zeitpunkt wo Init aufgerufen ist ist ja /selinux noch nicht gemountet, geschieht das dann auch automatisch durch Init?
Also ich denk mal, dass mein Mount-Aufruf fuer /selinux nun auch ueberfluessig sein duerfte, denn fuer das Laden der Policy kommt er ja dann eh zu spaet.


----------



## andy72 (10. März 2007)

Also: SELinux wird nun wie folgt ins System geladen:

init lädt mit dem Patch (hab ihn von gentoo, müssen nur mals was darüber ausdisktieren, wassinn macht) die komplette Policy ins System, nachdem procfs kurz geladen wurde um an die cmdline vom kernel zu kommen.proc wird dann wieder aus dem System entfernt und /selinux wird gemounted, wenn selinuxfs in /proc/filesystems vorhanden war.

Nach erfolgreichem mounten von selinux wird die Policy geladen und startet sich selbst neu und nun im richtigen Kontext, da SELinux das bereits übernimmt (anhand der Policy).

Somit ist ein direktes mounten im init-Script nicht mehr notwendig, auchnicht "load_policy". Was dahingehend geändert werden muss ist, dass in der /etc/fstab nun nicht mehr selinux auf default stehen darf, da es sonst gemounted wird, sondern auf noauto. Da selinuxfs ein tmpfs ist, wird es beim system-(halt, neustart) eh rausgeworfen.

Nachdem rootfs im rw-mode gemounted ist, kann udev die Geräte anlegen (nicht wie in deinem Script kopieren) und mit restorecon wird nur noch der Kontext des tmpfs, das auf /dev liegt bereinigt und auf system_ubject_r:device_t gesetzt.

Was ich an der Policy ändern musste sind grösstenteils Regeln, die das ausgeben von Kommentaren von swapon,hostname und ip sowie mount, restorecon und restorecond  auf /dev/console erlauben und habe noch /bin/mountpoint und /sbin/udevsettle verfügbar gemacht, dass da keine audits im Kernel-Log kommen.
Desweiteren habe ich die init-verzeichnisse angepasst und die Rechte darauf verlegt
(in der Policy)

Was udev betrifft:
SELinux ist nur nebensächlich, habe das init-script umgebaut, dass udev allesselbst finden kann und anlegt, ohne waszu kopieren


----------



## andy72 (10. März 2007)

Anbei mal mein udev aus den init-scripts. Habe es so angepasst, dass es alle Geräte automatisch installiert, und unter SELinux den richtigen Kontext setzt:


```
#!/bin/sh
########################################################################
# Begin $rc_base/init.d/udev
#
# Description : Udev cold-plugging script
#
# Authors     : Zack Winkles, Alexander E. Patrakov
#
# Version     : 00.02
#
# Notes       :
#
########################################################################

. /etc/sysconfig/rc
. ${rc_functions}

case "${1}" in
	start)
		boot_mesg "Populating /dev with device nodes..."
		if ! grep -q '[[:space:]]sysfs' /proc/mounts; then
			echo_failure
			boot_mesg -n "FAILURE:\n\nUnable to create" ${FAILURE}
			boot_mesg -n " devices without a SysFS filesystem"
			boot_mesg -n "\n\nAfter you press Enter, this system"
			boot_mesg -n " will be halted and powered off."
			boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
			boot_mesg "" ${NORMAL}
			read ENTER
			/etc/rc.d/init.d/halt stop
		fi

		mount -nt tmpfs tmpfs /dev -o mode=755,exec,nosuid

		if [ ${?} != 0 ]; then
			echo_failure
			boot_mesg -n "FAILURE:\n\nCannot mount a tmpfs" ${FAILURE}
			boot_mesg -n " onto /dev, this system will be halted."
			boot_mesg -n "\n\nAfter you press Enter, this system"
			boot_mesg -n " will be halted and powered off."
			boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
			boot_mesg "" ${NORMAL}
			read ENTER
			/etc/rc.d/init.d/halt stop
		fi
		
		echo "/sbin/udevsend" > /proc/sys/kernel/hotplug

		mkdir -p /dev/pts
		mkdir -p /dev/shm
		restorecon /dev/pts
                  restorecon /dev/shm

		/sbin/udevd --daemon		
		/sbin/udevtrigger
		/sbin/udevsettle --timeout=60

		evaluate_retval
		;;

	*)
		echo "Usage ${0} {start}"
		exit 1
		;;
esac

# End $rc_base/init.d/udev
```


----------



## andy72 (11. März 2007)

Anbei noch mal ein Paar sinnvolescripts,die das mounten von USB-Sticks vereinfachen:

10-udev-mount.rules ist das File, dass die Regel zu USB-Sticks (NUR Speichermedien und USB-MP3-Player) beschreibt.

mountudev ist ein Shell-Script, dass nach /bin kopiert werden muss (der Dateiname ist deshalb so gewählt, um mit refpolicy keinen Konflit zu erzeugen) und mountet bei einem udev-event im USB Bus mit root-rechten den USB-Stick nach /media, wenn das Gerät Blockorientiert ist. Es erstellt davor in /media ein Verzeichnis, dass dem des Gerätes gleich steht (z.B. /media/uba1) und mountet es dorthin.

umountudev wird von udev aufgerufen, wenn der Stick entfernt wurde.

die fstab muss noch etwas geändert werden, um die Geräte einzubinden:

```
echo "/dev/uba1  /media/uba1  auto  sync,noauto,user,exec 0 0" >> /etc/fstab
echo "/dev/uba2  /media/uba2  auto  sync,noauto,user,exec 0 0" >> /etc/fstab
echo "/dev/uba3  /media/uba3  auto  sync,noauto,user,exec 0 0" >> /etc/fstab
echo "/dev/uba4  /media/uba4  auto  sync,noauto,user,exec 0 0" >> /etc/fstab
```

Sinn und zweck: Der User benötigt zum Mounten von USB-Speichermedien keine Root-Rechte und muss sich um das mounten/umounten nicht kümmern, auch ein "vergessen" des umount-Befehls ist egal 

Filelink: http://www.3-seiten.com/udev-files.tar.gz

LG
Andy


----------



## andy72 (12. März 2007)

Das WE ist vorbei, und ich kann nun wie versprochen eine Aktualisierung meiner Seiten vorweisen. Das Changelog ist nicht allzu gross ausgefallen, da die Zeit zum grössten Teil mit patchen und fixen von Problemen draufgegangen ist, jedoch kann ich stolz verkünden, dass die Integration von SELinux vorerst abgeschlossen ist,und nun mehr die Arbeit im Detail liegt.

Hier die wichtigsten Änderungen:
- Der Downloadbereich ist nun öffentlich verfügbar, auf dem ich Patches bereit stelle
- Aktualisierung auf Kernel 2.6.20.1
- Linux-PAM, Coreutils, Shadow und Sysvinit wurden (neu) integriert
- Installationen wurden überarbeitet und div. Patches wurden hinzugefügt
- Konfiguration der Init-Scripte ist wieder online

Hier nochmal der Link zum Projekt easyLFS: Integration SELinux

LG
Andy

PS: Das Forum auf meinen Seiten ist auch dazu da, wenn jemand eine Frage zum Projekt hat - traut Euch


----------



## Dennis Wronka (17. März 2007)

So, nach ein paar Tagen Ruhe im Thread mal wieder ein Update.

Zum Einen arbeite ich grad an der Dokumentation zu EasyLFS, damit das Projekt auch mal ein Dokument bekommt welches ueber Installation, Optionen und die Hintergruende des Projekts informiert.
Zum Anderen wurde mir von unserem grosszuegigen Sponsor Azi, welcher ja auch bereits die Images hostet, angeboten ein Wiki einzurichten welches sich dann mit EasyLFS beschaeftigen wird.


----------



## Dennis Wronka (20. März 2007)

So, ich freue mich bekanntgeben zu duerfen, dass nun offiziell und allgemein die Version 0.2.6 von EasyLFS zum Download bereitsteht.
Und zwar hier: http://easylfs.aquanasoft.de/easylfs-0.2.6.iso (ca. 450MB)

Neuerungen wurden zwar schon ausfuehrlich hier im Thread behandelt, und in diesem Post findet sich auch eine Liste der enthaltenen Software, aber trotzdem moechte ich noch ein paar kurze Highlights anfuehren.

Mit der Version 0.2.6 ist nun erstmals eine brauchbare Integration von SELinux verfuegbar, inklusive der Reference-Policy.
Leider haben wir dort noch einen kleinen Fehler sodass alles und jeder im Kontext des Kernels arbeitet. Dies sollte aber kein Sicherheitsproblem darstellen, die normalen Schutzmechanismen von Linux greifen weiterhin, SELinux wird dadurch mehr oder weniger unwirksam.
Das Problem ist fuer die naechste Version (0.3) auf jeden Fall schon behoben.

Es gibt jetzt auch Midnight Commander, fuer etwas komfortablere Arbeit mit Dateien und Verzeichnissen, und auch Programme wie NcFTP und OpenSSH sind mit dabei.

Der eingesetzte Kernel ist 2.6.20.

Eine Installationsanleitung findet Ihr in diesem Post.


----------



## Dennis Wronka (24. März 2007)

So, nachdem nun wieder ein wenig Zeit vergangen ist mal wieder ein kleines Update.

Viel habe ich die letzten Tage nicht gemacht. Da ich nun mit meiner Frau und ihren Kindern zusammen lebe ist die Zeit etwas knapper geworden.
Ich hab in den letzten Tagen ein wenig was an der Resumefaehigkeit der Scripts gearbeitet und ein klein wenig schonmal in das EasyLFS Wiki eingetragen.
Ansonsten hab ich eben einige Zeit damit verbracht unseren Umzug mal langsam zu einem Ende kommen zu lassen (und trotzdem steht noch so viel Kram rum) und den Kindern bei den Hausaufgaben zu helfen.
Ausserdem hab ich vor knapp einer Woche mal wieder mit Ultima 9 angefangen, in der Hoffnung jetzt doch endlich mal bis zum Ende dabei zu bleiben. Immerhin hab ich schon 3 Schreine wiederhergestellt und bin jetzt im Dungeon Wrong um meine Weggefaehrtin Raven zu befreien.

Aber es gibt auch Gutes, nicht nur Verzoegerungen. So hab ich z.B. gestern ein neues Buch erhalten welches mir bei der Arbeit an EasyLFS durchaus helfen koennte: Classic Shell Scripting

Dieses Wochenende will ich schauen dass ich mal wieder etwas mehr Zeit fuer die Arbeit an EasyLFS finde, und auch noch was mehr in das Wiki eintrage (z.B. fehlt die Installationsanleitung noch), und auch noch was bei Ultima weiter komme. 
Mal schauen wie sich das alles untereinander und mit der Familie arrangieren laesst.


----------



## Webstar (24. März 2007)

Dennis Wronka hat gesagt.:


> ...
> Aber es gibt auch Gutes, nicht nur Verzoegerungen. So hab ich z.B. gestern ein neues Buch erhalten welches mir bei der Arbeit an EasyLFS durchaus helfen koennte: Classic Shell Scripting
> ....


Für alle die der englischen Sprache nicht sehr mächtig sind, oder welche gern ein Buch in deutscher Muttersprache in den Händen halten, gibt es folgende Ausgabe Klassische Shellprogrammierung
(Aktuelle Auflage: 1.Januar 2006)

Schönen Tag noch, man liest sich. 
Euer Jens Ornot alias Webstar


----------



## Dennis Wronka (24. März 2007)

So, folgende Informationen sind nun im EasyLFS Wiki zu finden:

Softwareliste
Installationsanleitung
Downloads

Obwohl es ja nun das Wiki gibt wird dieser Thread weiterhin genutzt werden, und zwar wie gehabt fuer Diskussionen und Entwicklungsnews rund um das Thema EasyLFS.

Zu dem Buch: Das hab ich in einem englischsprachigen Forum gewonnen, daher ist es eben auf Englisch.


----------



## Webstar (24. März 2007)

Dennis Wronka hat gesagt.:


> Zu dem Buch: Das hab ich in einem englischsprachigen Forum gewonnen, daher ist es eben auf Englisch.


Achso!

PS.: Lade mir gerade das Iso-Image zum Testen herunter.
Mal sehen wie ich mit EasyLFS zurechtkomme, und ob es meine selbsterstellten Installscripte ersetzen kann.

Schönen Tag noch, man liest sich. 
Euer Jens Ornot alias Webstar


----------



## andy72 (25. März 2007)

Hallo @all,

habe endlich eine neue Version des refpolicy-patches (Version 0.8) bereit gestellt - das Changelog befindet sich auf meiner Seite  http://www.3-seiten.com .

Hat leider etwas gedauert, da ich diese Woche nun endlich aus der VMWare auf eine reale Festplatte umgezogen bin und noch etliche Dinge installieren musste,um hier was zu tippseln  ... Inzwischen läuft bei mir OpenSSH, Postfix, Apache 2.4.4 mit PHP5 und MySQL 5.0.20 sowie OpenLDAP und natürlich KDE 3.5.6 mit allen Paketen und abhängigkeiten incl. AmaroK (VOLL-Install ), KbfX-SVN, Krusader, Quanta, Scribus, sämtlichem Video- und Audio-Support sowie Beryl 0.2.0-SVN - alles in allem bin ich mal wieder von Linux begeistert, werde die nächsten Wochen noch einiges ändern und installieren,um SELinux weiterhin ausgiebig zu integrieren:

grobes ToDo:
Integration KDE und Qt in SELinux
Integration D-BUS / HAL / Hotplug in SELinux
Integration weiterer Netzwerkdienste sowie ipTables in SELinux
Integration des Gnome-Desktop in SELinux (vorraussichtl. erst Ende April)

@Dennis:
- /dev/null hat KEINE User-Rechte - Mode ist auf 660, sollte aber auf 666 sein,
- die Geräte /dev/tty* haben ebenfalls keine Schreibberechtigung für normale user, es sei denn, man ordnet diese der User-Gruppe tty zu (was mir zu aufwendig ist)
- das Verzeichnis /root hat Lese-Rechte für ALLE 

(Betrifft noch easylfs 0.2.1 -bestimmt sindschon einige Fehler behoben )

Schönes WE noch
Andy


----------



## Dennis Wronka (25. März 2007)

Also die Sache mit den Rechten besteht auch bei 0.2.6, und ich denk auch /dev/zero sollte 666 haben, nicht nur /dev/null und /dev/tty.
/root hat in 0.2.6 750, was okay sein sollte.

Die Device-Rechte kommen auf jeden Fall auf die ToDo-Liste fuer 0.3.


----------



## andy72 (26. März 2007)

Erfahrungsbericht D-BUS u. HAL bezüglich SELinux:

Habe heute morgen mal Probehalber D-BUS und HAL installiert, es gibt keine Audits im Kernel-Log, also behaupte ich mal, dass das alles so funktioniert. Bei der Installation hat D-BUS die Bibliotheken von SELinux sofort gefunden, habe die Installation auch beobachtet - D-BUS linkt SELinux mit dazu, das Binary hat am Ende auch den richtigen Context. Was noch bleibt ist die Neu-Installation von KDE-Base, da ich KDE drauf hatte, und D-BUS noch nicht, somit fehlt mir eh einiges an Funktionalität 

Sollte es dennoch Probleme geben, werde ich dazu noch was schreiben - ansonsten wünsche ich eine frohe Installation von KDE (dauert unter VMWare übrigens satte 2 Tage *g*)

LG
Andy


----------



## Dennis Wronka (26. März 2007)

Es freut mich wirklich zu lesen wie gut Du voran kommst und vor allem natuerlich, dass Du damit zeigst, dass EasyLFS nicht nur ein Grundsystem sein kann sondern damit eben auch weitergemacht werden kann bis man sogar KDE hat.
Dieses Wissen ist wichtig und es macht mich wirklich gluecklich, denn dadurch weiss ich, dass die ganze Arbeit wirklich was gebracht hat und ein wirklich nutzbares System dabei rauskommt.


----------



## Dennis Wronka (26. März 2007)

Okay, das Wiki enthaelt jetzt soweit den groessten Teil der Informationen die ich zuvor auch schon in KOffice "zu Papier" gebracht hatte. In veraenderter (meiner Meinung nach verbesserter) Form, aber im Grunde mit dem selben Inhalt.
Was dort nun dringend noch fehlt ist ein Logo.  Ich blender grad so nebenbei etwas rum um zumindest was vorlaeufiges dort hinsetzen zu koennen um endlichen diesen Platzhalter loszuwerden. 

Ausserdem habe ich den Grund fuer die fehlerhaften Device-Permissions gefunden. Das Script welches UDev und die entsprechenden Regeln installiert kopiert die Regel-Dateien falsch sodass nicht alle Dateien kopiert werden. Und die Datei die fuer die Rechte zustaendig ist wurde, zusammen mit anderen, nicht kopiert.
Das Script ist behoben und somit sollte es in der naechsten Version keine Probleme mehr damit geben.


----------



## andy72 (27. März 2007)

So, KDE-Base ist über Nacht neu Installiert worden, D-BUS und HAL funktionieren,
für udev brauch ich nun meine Regel nicht mehr, um meinen USB-MP3-Stick einzubinden.
Es geht doch jetzt soooo einfach: Stick rein, Dialog vom KDE erscheint, was ich machen will und gut ists ... hab jetzt nur noch in der fstab eine mount-Regel drin, dass jeder den Stick mounten kann und das geschreibsel darauf synchronisiert wird - im amaroK geht das ganze noch einfacher: "Button-Klick: Verbinden", der Stick wird ausgelesen und ich kann drauf lesen und schreiben ... ich bin echt mal begeistert 

@Dennis:
Gibt es bezüglich udev einen besseren Workaround in easylfs 0.2.1, als im init-script "per Hand" die Rechte zu setzen ? ...will das Sys noch nicht platt machen, wo doch jetzt alles sooo gut läuft 

...werde die Woche auf die neuen SELinux-Libs updaten, hab schon gelesen, dass es in meinen Versionen etliche Memory-Lecks gibt - wird Zeit, das Sys auf Vordermann zu bringen


----------



## Dennis Wronka (27. März 2007)

andy72 hat gesagt.:


> @Dennis:
> Gibt es bezüglich udev einen besseren Workaround in easylfs 0.2.1, als im init-script "per Hand" die Rechte zu setzen ? ...will das Sys noch nicht platt machen, wo doch jetzt alles sooo gut läuft


Ich denke hier koennte ein Blick in /etc/udev/rules.d nicht schaden. Bei 0.2.6 gibt es einen Bug der dafuer sorgt, dass nicht alle Regeln kopiert werden, was auch der Grund fuer die fehlerhaften Berechtigungen fuer /dev/null und so ist.
Es wird wohl das beste sein aus dem UDev-Paket und dem UDev-Rules-Paket von LFS die Regeln dort nochmal hin zu kopieren.
Das fehlerhafte Script ist auch fuer die kommende Version schon korrigiert sodass dies in Zukunft kein Problem mehr darstellen sollte.

Danke fuer den Hinweis bezueglich SELinux, da werd ich die Pakete auch gleich mal aktualisieren.


----------



## andy72 (27. März 2007)

hätte ich bei der installation von udev106 mal bloss ALLEs installiert ... wusste ned so recht, wie du das installiert hast, und hab nur die libs und binaries kopiert (per hand installiert) ...werde ich heute abend mal gucken, ob ich das über LFS gebacken bekomme


----------



## Dennis Wronka (27. März 2007)

Es sollte ausreichen die Pakete zu entpacken und lediglich die enthaltenen .rules-Dateien zu kopieren.

Die CoreUtils 6.9 sind uebrigens raus, bin mal gespannt ob da noch ein Patch fuer SELinux noetig ist.


----------



## andy72 (27. März 2007)

Laut der Mailinglist nicht ... schau mal nach, ob in den Quellen das Prog "chcon" bei liegt, oder im Makefile gegen libselinux gelinkt wird - das reicht ja als info


----------



## Dennis Wronka (27. März 2007)

Hmm, scheint nicht so.
Mist. Und der SELinux-Patch fuer 6.7 wirft ein paar Fehler.
Naja, werd mich mal ranmachen und schauen was es da zu aendern gibt.


----------



## andy72 (27. März 2007)

hab auch gerade geguckt *enttäuscht bin*  ... denn warten wir halt 1-3 wochen, denn gibts von RedHat nen neuen Patch dafür


----------



## andy72 (27. März 2007)

*freuuuuuuuuuuu*

Fedora hat schon 6.9 im CVS drin, und auch alle Patches dazu 
http://cvs.fedora.redhat.com/viewcvs/devel/coreutils

Werd heute abend also gleich mal updaten und testen


----------



## Dennis Wronka (27. März 2007)

Wunderbar, dann kann ich ja jetzt aufhoeren zu versuchen die Patches manuell zu uebertragen. 

Der uname-Patch ist nicht dabei oder hab ich den uebersehen?


----------



## andy72 (27. März 2007)

Nein, der uname Patch fehlt, und die Entwickler haben den Patch auch nicht integriert - das File uname.c sieht vom Code absolut nicht so aus, als dass die Infos aus /proc enthalten wären. Kannst aber versuchen, den Patch aus 6.7 zu nehmen - wenn der Code in 6.9 nicht verändert ist, greift der Patch ja trotzdem  *viel Glück wünsch*


----------



## Dennis Wronka (27. März 2007)

Hab jetzt den 6.7er uname-Patch zurechtgeschnitten sodass die CoreUtils 6.9 damit kompilieren (ohne Aenderungen fuehrte der Patch zum Kompilationsabbruch), werde mal schauen ob es evtl. moeglich ist diesen lediglich auf die Aenderungen an der uname.c zu beschraenken oder ob es dann Probleme gibt.


----------



## andy72 (27. März 2007)

Was musstest Du zurechtschneiden bzw was war beim kompilieren die fehlermeldung ?


----------



## Dennis Wronka (27. März 2007)

Weiss ich nicht mehr genau, ein paar der Hunks konnte ueberhaupt nicht angewandt werden, z.B. in split.c, wo auch glaub ich das Problem beim kompilieren auftrat.

Ich hab den Patch jetzt aber auch schon darauf zurueckgestuetzt, dass nur uname.c geaendert wird und es funktioniert.


----------



## andy72 (27. März 2007)

Ich guck's mir heute abend mal an ...muss mich jetzt erstmal wieder meiner arbeit in der firma widmen, sonst kann ich bald 24h für open source da sein


----------



## Dennis Wronka (28. März 2007)

So, die Nacht hab ich die aktuelle Dev-Version mal durchlaufen lassen, mit den Einstellungen fuer die LiveCD, also nicht mit allem Kram, aber eben mit den ganzen aktualisierten Paketen (unter anderem eben die CoreUtils). Das verlief soweit auch erfolgreich.
Davon werd ich dann jetzt mal eine LiveCD stricken und damit schauen ob vielleicht meine Scripts zur Hardware-Erkennung nun ueberfluessig sind (weil ja jetzt endlich alle UDev-Regeln da sind) und auch ob die Rechte der Devices richtig sind (auch wegen der UDev-Regeln).

Danach werd ich dann wohl nochmal einen vollstaendigen Durchgang laufen lassen um zu sehen ob alle aktuellen Pakete kompiliert werden koennen.


----------



## andy72 (28. März 2007)

Hab vorhin zu Hause udev-107 neu installiert, nun hab ich zwar nen automatischen Module-Load, aba /dev/null hat trotzdem nur 660 und /dev/pty* haben auch nur 660 - bleibt die Frage, ob KDE das so annimmt - hab im Mom noch ein Problem mit meiner GraKa (nvidia GF4000: das glx-modul und der GL-Treiber wollen TLS (kommt von KerberOS) und nu schmiert die Kiste ab ...schei** ClosedSource Treiber  ), wenn ich das behoben habe, werd ich den Spass mal als normaler User testen.

Was udev-107 noch betrifft: Weisst Du (@Dennis), dass man da im Makefile SELinux aktivieren kann, oder ist das neu ? hab das heute morgen erst gesehen 

Anmerkung zu den Rechten:
Die Geräte gehören nur der Gruppe root, ich werd das mal mit den anderen rules von RedHat testen, dort werden andere rules genommen und dort ist die Berechtigung auf Gruppe tty gesetzt - macht glaub ich mehr sinn


----------



## Dennis Wronka (28. März 2007)

Ja, die Moeglichkeit zur SELinux-Unterstuetzung in UDev ist mir bekannt und wird auch bereits genutzt. Wenn ich mich recht erinnere war das sogar in EasyLFS 0.2.1 schon der Fall.


----------



## Dennis Wronka (28. März 2007)

Der Rechte-Bug ist durch die Installation aller UDev-Regeln (sowohl den Regeln von UDev als auch denen von LFS) behoben.
Auch die Hardware-Erkennung laeuft nun besser, auch ohne meine zusaetzlichen Scripts werden Netzwerkkarte, Mainboard und USB-Controller erkannt und deren Module geladen.
Auch andere Hardware, sofern Module vorhanden sind, sollte nun automatisch erkannt werden.


----------



## andy72 (29. März 2007)

Habe gestern abend die neuen Coreutils getestet: das Patchen lief bei mir fast durch, bis auf dass ein Patch "vergaß" die Header mit einzubinden und SELinux im Makefile von src/ nicht aktiviert war, so dass es zu einem Compiler-Abbruch kam, da undefinierte Symbole gefunden wurde, die vom SELinux herrührten. Nachdem ich das bereinigt hatte, lief alles durch. Werde einen angepassten Patch heute abend dann auf meiner Seite zur Verfügung stellen (werde das aber als 3in1 Patch machen)

LG
Andy


----------



## andy72 (30. März 2007)

News:

Ab sofort steht der Download für den CoreUtils-6.9-easylfs.patch auf http://www.3-seiten.com zur Verfügung. Failed Patches sind behoben und entsprechen auch ihrem Zweck, alle Tests (laut LFS) sind durchgelaufen.

Integrierte Patches:
LinuxFromScratch.org: i18n (aus Version 6.7)
LinuxFromScratch.org: supress-uptime-kill-su (aus Version 6.7)
LinuxFromScratch.org: uname(aus Version 6.7)
RedHat (Fedora Core): selinux (aus 6.9)

Schönen Abend noch
Andy


----------



## Dennis Wronka (30. März 2007)

Ich hab jetzt grad mal Deine beiden Policy-Patches ausprobiert, aber irgendwie helfen die mir nicht. Moeglicherweise weil Du das alles ja noch mit EasyLFS 0.2.1 gemacht hast.
Auf jeden Fall arbeite ich auch grad an einer Anpassung der Policy, dank audit2allow ist das ja nicht so schwierig.


----------



## andy72 (30. März 2007)

Welche Fehler bekommst Du im kernel-Log ? Beimir steht noch ein Patch für Xorg aus, der aus libmng kommt, desweiteren für D-BUS & HAL ...das werde ich am WE fixen


----------



## Dennis Wronka (30. März 2007)

Weiss ich jetzt nicht mehr genau, da war was wegen hwclock_t, fsadm_t, mount_t, ifconfig_t und noch ein paar andere.
Hab die jetzt gefixt und auch die beiden Meldungen die beim Shutdown kamen beseitigen koennen.
Bei Targeted gibt's jetzt beim Start und Shutdown keine Meldungen mehr, jetzt bin ich grad dabei die Strict-Policy zu fixen.


----------



## andy72 (30. März 2007)

Hm, ich hatte dieselben Probleme mit hwclock und ifconfig ...liegt Dein hwclock in /var/lib/hwclock ? Nach meinem Patch hatte ich diese Meldung nicht mehr ...sind ja schon zig weitere Regeln eingeflossen, um vom Permissive-Mode endlich mal in den "Enforce-Mode" zu wechseln,aba so weit bin ich noch nicht :|

Werde am WE endlich mal KDE und Xorg fixen, danach sehe ich erstmal keine weiteren Probleme. Der Strict-Mode ist nicht ausgereift, wenn man den Meldungen aus Foren glauben schenken darf: Strict bedeutet, dass das System sofort blockiert, wenn eine Regel nicht greift ...ich stell mir das blöd vor, wenn mein Server da versagt oder KDE/X abschmiert.


----------



## Dennis Wronka (2. April 2007)

So, ich hab jetzt SELinux im Targeted-Enforcing-Mode laufen. Soweit scheint alles zu funktionieren, inklusive dem SSH-Server.
Jedoch musste ich fuer den SSH-Server einen recht unschoenen Fix einbauen. Dieser Fix betrifft uebrigens nicht nur SSH, sondern z.B. auch Bind und wohl alle Daemons (oder gar alle Programme) die libcrypto nutzen.
In welchem Kontext laeuft bei Dir der SSH-Server? Bei mir ist es unconfined_t, was ich zur Zeit libcrypto in die Schuhe schiebe.


----------



## andy72 (2. April 2007)

hm,bei mir gibts auch Probleme, allerdings im X11, KDE und libmng: X11 will unbedingt die libmng und libGL im Stack ausführen, das Audit im Kernel-Log ist "execstack" bei libGL, und "execmod" bei libmng. Eine Lösung gibts nicht, man muss die libs wohl lassen -was /ich/ bei Client-Programmen recht gefährlich finde 

sshd läuft bei mir, auch im rechten Context: System_ubject_r:sshd_exec_t.
ABER: ich hab die Policy dazu nicht angepasst.Das einzige, was ich geändert habe ist, dass /etc/selinux kein link mehr auf /etc/security/selinux ist sondern ein reguläres Verzeichnis - vielleicht ist genau DAS das Problem, ichhatte mit dieser Variante auch zig Audits im Kernel.

Noch was: hostname, hwclock, ip etc lies sich nur fixen, indem der sysklogd nichts mehr auf die Console wirft - dazu habe ich die /etc/syslog.conf angepasst und im ersten init-script noch "dmesg -n 1" hinzugefügt, seitdem läufts.


----------



## Dennis Wronka (2. April 2007)

andy72 hat gesagt.:


> hm,bei mir gibts auch Probleme, allerdings im X11, KDE und libmng: X11 will unbedingt die libmng und libGL im Stack ausführen, das Audit im Kernel-Log ist "execstack" bei libGL, und "execmod" bei libmng. Eine Lösung gibts nicht, man muss die libs wohl lassen -was /ich/ bei Client-Programmen recht gefährlich finde


Genau dieses execstack-Problem hab ich im Zusammenhang von SSH und libcrypto (OpenSSL).
Aber ich hab jetzt moeglicherweise eine Loesung dafuer gefunden, ich hab naemlich SSH ohne --with-selinux kompiliert, was durchaus eine Erklaerung sein koennte.



andy72 hat gesagt.:


> sshd läuft bei mir, auch im rechten Context: System_ubject_r:sshd_exec_t.
> ABER: ich hab die Policy dazu nicht angepasst.Das einzige, was ich geändert habe ist, dass /etc/selinux kein link mehr auf /etc/security/selinux ist sondern ein reguläres Verzeichnis - vielleicht ist genau DAS das Problem, ichhatte mit dieser Variante auch zig Audits im Kernel.


Hmm, komisch. /etc/security/selinux hab ich bislang vollkommen aussen vor gelassen, /etc/selinux ist also bei mir ein echtes Verzeichnis.



andy72 hat gesagt.:


> Noch was: hostname, hwclock, ip etc lies sich nur fixen, indem der sysklogd nichts mehr auf die Console wirft - dazu habe ich die /etc/syslog.conf angepasst und im ersten init-script noch "dmesg -n 1" hinzugefügt, seitdem läufts.


Hiermit hatte ich keinerlei Probleme, ich hab lediglich die entsprechenden Regeln gemaess audit2allow eingetragen und hatte keine Probleme mehr.

Nachtrag: Ich hab da was gefunden. Wenn man den ASFLAGS *--noexecstack* hinzufuegt sollte es gehen. Das hab ich im Zusammenhang mit OpenSSL gefunden, sollte aber auch bei anderen betroffenen Libraries helfen koennen.


			
				as --help hat gesagt.:
			
		

> --noexecstack           don't require executable stack for this object


----------



## andy72 (2. April 2007)

Mit libmng geht das evtl. ja noch mit den ASFLAGS, jedoch hab ich die libGL und libGLUT von nVidia - die sind ja bekanntl. im Binärformat  ...die könnten ruhig die Linuxtreiber und libs opensource machen, denn gäbe es sicher weniger Probleme, die Software anzupassen.

Ich sehe gerade, d-bus meldet auch audits im log, aber nur, dass er in /var/run nix ausführen bzw nix schreiben darf ...werde ich also auch noch fixen *grummelz*

blöde Frage: libcrypto kommt von cracklib, oder ? hab die noch ned installiert - werde ich probehalber mal machen ...muss jetzt erstmal auf Arbeit

*Schönen Tag wünsch*


----------



## Dennis Wronka (2. April 2007)

andy72 hat gesagt.:


> Mit libmng geht das evtl. ja noch mit den ASFLAGS, jedoch hab ich die libGL und libGLUT von nVidia - die sind ja bekanntl. im Binärformat  ...die könnten ruhig die Linuxtreiber und libs opensource machen, denn gäbe es sicher weniger Probleme, die Software anzupassen.



Es gibt in den Regeln fuer unconfined noch einen separaten Eintrag fuer Objekte die auch im Stack ausfuehren duerfen, diese muessen aber wahrscheinlich auch anders gelabelt werden. Evtl. liesse sich darueber was machen. Bisherige Versuche meinerseits sind da aber wenig erfolgreich gewesen.
Und gut, dass ich ATI nutze, da gibt es auch einen freien Treiber. 



andy72 hat gesagt.:


> blöde Frage: libcrypto kommt von cracklib, oder ?



Nein, libcrypto kommt aus OpenSSL.
Irgendwie will OpenSSL mit dem ASFLAGS-Zusatz aber nicht kompilieren. Muss mal schauen, hab vorhin auch einen Patch dafuer gesehen.


----------



## Dennis Wronka (2. April 2007)

Was kommt bei Dir dabei rum wenn Du *id* ausfuehrst?
Ich hab das Gefuehl, dass bei mir die User nicht richtig mit Rollen bestueckt werden, denn auch root laeuft als unconfined_t.


----------



## andy72 (3. April 2007)

Bei mir ist root ebenfalls unconfined_t - das hängt aber an dem Type der Policy. Im Targeted-Mode ist jeder User unconfined_t, das heisst, er darf (fast) alles tun. Dieser Modus bietet nur schutz für Server-Anwendungen, soviel ich gelesen habe. Der Strict-Mode erlaut dann die Feinabstimmung, jedoch gibts da dann wohl noch etwas mehr zu konfigurieren


----------



## Dennis Wronka (3. April 2007)

Im Targeted-Mode gibt es also keine zusaetzlichen Einschraenkungen fuer User, eben nur was Linux selbst bietet, nur bestimmte Dienste werden gezielt (targeted) beschraenkt, richitg?
Wo hast Du eigentlich Deine ganzen Informationen her, dann kann ich mich da auch mal durchwuehlen. Ich hatte von linuxsecurity.com ein paar Abhandlungen, die waren aber eher allgemein ueber SELinux an sich.


----------



## andy72 (3. April 2007)

Genau so ist es - es werden nur die notwendigsten Dienste geschützt. M.E. bringt das für die Sicherheit des Users bzw für den Rechner nix, wenn der User alles (kaputt machen) darf 

Habe sämtliche Infos über Google gefunden, teils aus RedHat's Documentation über die Verwendung von SELinux, Teils von Gentoo und wiederum einiges aus Mailinglisten


----------



## Dennis Wronka (4. April 2007)

Ich hab heute mal ein wenig rumgespielt und auch mal Engarde Secure Linux installiert, welches wohl "das Vorbild schlechthin" sein muesste in Sachen SELinux-Integration.
Auf jeden Fall bin ich nun wieder einen Schritt weiter, und zwar durch die Installation von PAM. Jetzt scheint der User-Context mehr Sinn zu machen, und ich hab auch die Strict-Policy zu grossem Teil nutzbar machen koennen, nur werden wohl einige Aenderungen durch PAM nun ueberfluessig werden, oder muessen eben wieder angepasst werden. Aber das ist nicht so tragisch, ich werd dann wohl nochmal mit einer frischen Policy anfangen und mich wieder durch die Meldungen von audit2allow kaempfen.
Jetzt zum Test ist PAM erstmal als Option drin, falls es sich aber hinreichend gut integrieren laesst werde ich es wohl zum Standard erklaeren.

Dank PAM bekomm ich bei *id* nun auch den Context *root:sysadm_r:sysadm_t* angezeigt, zumindest in der Strict-Policy.
Zuvor ging dies nur wenn ich mich ueber SSH eingeloggt hab.


----------



## Dennis Wronka (19. April 2007)

Um auch hier mal wieder ein kleines Update einzubringen:
Es geht voran. Die Targeted-Policy scheint nun soweit nutzbar, der Resume-Support ist fast fertig und es hat sich kurzfristig ergeben, dass EasyLFS 0.3 hoechstwahrscheinlich GPG enthalten wird.

Wie in meinem Blog geschrieben moechte ich Euch nun wieder herzlich dazu einladen Ideen und Vorschlaege zu praesentieren, welche dann in Zukunft (also nach 0.3) umgesetzt werden koennen.


----------



## Dennis Wronka (22. April 2007)

Hmm, Ideen lassen ja noch etwas auf sich warten, aber dafuer gibt es ein Update.
Zum einen scheint das Wiki, und somit auch die Downloadseite, zur Zeit leider nicht erreichbar zu sein.
Zum anderen geht es mit grossen Schritten in Richtung EasyLFS 0.3.
Ueber's Wochenende hab ich vollstaendige Testbuilds sowohl mit als auch ohne SELinux gefahren und es sieht soweit alles sehr gut und vielversprechend aus, auch die SELinux-Policy und PAM scheinen wunderbar zu funktionieren.
Letzte Probleme wurden beseitigt sodass fuer die Fertigstellung jetzt im Grunde nur noch der Resume-Support fehlt.

Noch bin ich nicht ganz sicher ob ich PAM schon fuer EasyLFS 0.3 mit in den Standardumfang aufnehmen soll. Klar ist aber, dass wenn dem nicht so ist es standardmaessig zur Installation ausgewaehlt sein wird.

Falls jemandem ein Grund einfaellt warum PAM nicht Standard werden sondern eine Option bleiben sollte waere es nett diesen zu erfahren. Ich sehe naemlich zur Zeit keinen.
Im Grunde setzen alle grossen Distributionen auf PAM, und allgemein scheint eine sinnvolle Geschichte zu sein.


----------



## andy72 (23. April 2007)

Folgt man der LSB 3.1 ist PAM genauso "empfohlen" wie Qt4 etc - damit man zur LSB konform ist, muss man also scheinbar ein Komplett-System zur Verfügung stellen  ...ich für meinen Teil benutze Linux gerade DESHALB, da es in Punkto Sicherheit einiges mehr als ein Windows zu bieten hat und eben dieser Punkt das System für mich erst interessant macht. Also plädiere ich natürlich dafür, dass PAM seinen Weg in EasyLFS findet, und zwar als Standard - wer es nicht mag, soll es aber abschalten können, genauso wie den Midnight-Commander, SELinux oder Lynx.

Weitere Idee: Optional Xorg 7.x sowie ein Gnome oder KDE - DAS macht EasyLFS erst für viele interessant denke ich, und stellt auch erst DANN eine ECHTE Alternative für Klicki-bunti-Ubuntu oder Gentoo dar - EasyLFS hat dann SELinux und einen Desktop, dazu noch eine Standard-Firewall, die dem User erlaubt, alles nach drausen zu senden aber nix hinein zu lassen und ist somit dann ebenbürtig mit RHEL


----------



## Dennis Wronka (23. April 2007)

andy72 hat gesagt.:


> Folgt man der LSB 3.1 ist PAM genauso "empfohlen" wie Qt4 etc - damit man zur LSB konform ist, muss man also scheinbar ein Komplett-System zur Verfügung stellen  ...ich für meinen Teil benutze Linux gerade DESHALB, da es in Punkto Sicherheit einiges mehr als ein Windows zu bieten hat und eben dieser Punkt das System für mich erst interessant macht. Also plädiere ich natürlich dafür, dass PAM seinen Weg in EasyLFS findet, und zwar als Standard - wer es nicht mag, soll es aber abschalten können, genauso wie den Midnight-Commander, SELinux oder Lynx.



So ist es bisher geregelt, PAM ist standardmaessig ausgewaehlt, der User kann aber vor der Installation dafuer sorgen, dass es nicht installiert wird.
Ich werde es dann wohl optional lassen, aber als Abhaengigkeit fuer SELinux definieren, sodass es auf jeden Fall installiert wird wenn SELinux installiert wird.



andy72 hat gesagt.:


> Weitere Idee: Optional Xorg 7.x sowie ein Gnome oder KDE - DAS macht EasyLFS erst für viele interessant denke ich, und stellt auch erst DANN eine ECHTE Alternative für Klicki-bunti-Ubuntu oder Gentoo dar


Dann duerfte es in dem CD-Image aber ordentlich eng werden. Ich bin ja jetzt schon bei 450MB, mit X und KDE waere ich wahrscheinlich bei 700-800MB, was dann nicht mehr passen wuerde. Und da waeren dann auch nicht noch die ganzen zusaetzlichen Libraries zur Aufloesung von Abhaengigkeiten und fuer zusaetzliche Features in KDE (von QT ganz zu schweigen  ) dabei.

Moeglicherweise lassen sich solche grossen Zusatzpakete ueber eine weitere CD machen, vergleichbar mit BLFS. Dort koennten dann einige grosse Pakete inklusive ihrer Abhaengigkeiten und eben den passenden Installationsscript liegen und so dann auch solche Pakete schoen automatisiert installiert werden.

Allgemein wollte ich eigentlich EasyLFS eher kompakt halten, aber schon einen gewissen Satz sinnvoller Software mitbringen.
Falls ich mich dazu hinreissen lasse grosse Pakete auf eine zusaetzliche CD auszugliedern koennte ich evtl. sogar ueberlegen alle optionalen Pakete die nicht so tief im System sitzen wie SELinux und PAM auszugliedern um das eigentliche EasyLFS wieder etwas schlanker zu machen.
Eine andere Moeglichkeit waere die Modularitaet der Linux-Live-Scripts zu nutzen und optionale Pakete als Module anzubieten. Diese koennten dann in die LiveCD eingebaut werden und mitkompiliert werden.



andy72 hat gesagt.:


> EasyLFS hat dann SELinux und einen Desktop, dazu noch eine Standard-Firewall, die dem User erlaubt, alles nach drausen zu senden aber nix hinein zu lassen und ist somit dann ebenbürtig mit RHEL



Ein Firewall-Script zu erstellen was alles dicht macht und per Connection-Tracking eben nur angefragte Daten reinlaesst ist kein Problem, das laesst sich machen.


----------



## andy72 (23. April 2007)

Ich denke, in Zeiten von Multimedia-fähigen Rechnern könnte man ruhig über eine DVD nachdenken, jedoch diese alternativ zu 2 CD's anbieten, damit ältere Rechner darunter nicht leiden müssen  ... ich persönlich würde das schon schön finden, wenn es ähnlich wie in Gentoo mehere Stages gäbe, die mir erlaubt, ein minimales grundsystem zu installieren, oder eben nach einlegen einer weiteren CD erlaubt, einen Desktop nachzuinstallieren.

Nachtrag:
Wenn man in Erwägung zieht, Xorg etc zu integrieren, könnte man das ja für Oktober vorsehen, wenn KDE 4 erscheint - dann könnte man einen genialen Desktop basteln - incl. D-BUS & HAL


----------



## Dennis Wronka (24. April 2007)

Also eigentlich wollte ich das Ganze schon ueberschaubar, also im Rahmen einer CD halten.
Die Moeglichkeit mit den zusaetzlichen Modulen gefaellt mir da noch am besten.
Das Problem dabei duerften nur die Abhaengigkeiten zu anderen Paketen sein.

In meinen Scripts, welche ja sozusagen alle voneinander wissen kann ich mit Abhaengigkeiten ziemlich einfach fertig werden, ein zusaetzliches Modul hingegen muesste z.B. mit find oder whereis pruefen ob eine notwendige Library bereits installiert wurde (falls diese nicht zum Standardumfang gehoert) und diese gegebenenfalls nachinstallieren.


----------



## andy72 (24. April 2007)

Ja gut, installiert man zB KDE oder Gnome, werden natürlich noch zig Bibliotheken benötigt, und da bietet sich dann wohl doch an, das ganze in Pakete zu schnüren. Wobei mir da einfällt,dass man dann gleich mit RPM installieren kann, um diese Abhängigkeiten zu gewährleisten  *an SuSE und RH denk, die dann schnell mal 200GB Platz brauchen *


----------



## Dennis Wronka (24. April 2007)

RPM und DPkg sind ja in EasyLFS enthalten, und in der kommenden Version duerfte DPkg sogar funktionieren.


----------



## andy72 (24. April 2007)

Funktionieren tut es schon, ganz sicher - aber soweit ich mal mit einem früheren LFS experimentiert habe, musste ich feststellen, dass sich RPM bei einer nicht zum System gehörenden RPM-DB beschwert hat, dass Paket b ohne Paket a nicht installiert werden kann, und ich ja noch nich mal ne Bash habe - was aber der Fall war. Man muss also RPM erstmal beibringen, was alles da ist, damit man damit richtig arbeiten konnte. Habe RPM in meinen selbst kompilierten Systemen nicht mehr verwendet, brauchte nur die Libs davon und Cpio, um RPM zu dekomprimieren


----------



## Dennis Wronka (24. April 2007)

RPM funktioniert im Grunde soweit, DPkg eben erst mit der kommenden Version, da dafuer noch ein paar Dateien erstellt werden mussten.
Dass beide Paketmanager grundlegende Pakete nicht finden liegt daran, dass diese nicht in deren Datenbanken stehen, um solche Abhaengigkeiten zu umgehen gibt es aber bei beiden Managern die Moeglichkeit diese nicht zu ueberpruefen. Ist zwar nicht ganz fein, aber zum einen ist EasyLFS kein Einsteigersystem, zum anderen sollen die beiden Paketmanager eben nur dafuer da sein, dass man eben die Moeglichkeit hat fertige Pakete zu installieren.


----------



## andy72 (24. April 2007)

Nun ja - ich gebe Dir soweit recht, aber mit Binär-Paketen gibts auch Probleme, denke ich. Habe versucht, Firefox binär laufen zu lassen (gibts leider nur bis Version 1.5), da ich zu faul war, selbst zu kompilieren, aber ohne passende libstdc++-5 gehts nicht. ich werd mich hüten, auf ne niedrigere glibc zu gehen, nur damit die alte version von firefox läuft 

Vielleicht mach ich mal nen Geh-Versuch und versuche ne ältere glibc parallel zu installieren, natürlich in einen OS-untauglichen Pfad hinein, um mit einem Startscript den Browser zu starten, wo dann die libc geladen wird - sollte ja funktionieren, denke ich *g*


----------



## Dennis Wronka (24. April 2007)

Oft, bei Skype z.B. hatte ich das mal, reicht scheinbar ein SymLink mit dem passenden Namen.
Aber Du hast schon recht, die GLibC zu ersetzen ist etwas was man nicht unbedingt machen sollte. Ich hab mir vor langer, langer Zeit mal meine Suse damit zerschossen.


----------



## andy72 (24. April 2007)

Mit einem Symlink hab ich's versucht, brachte aber nur die Fehlermeldung, dass die Symbole in libstdc-6 nicht gefunden wurden, die der Feuervogel dort gesucht hat. Java hingegen läuft mit einem Symlink noch ganz gut


----------



## Dennis Wronka (25. April 2007)

Ich wollte mal kurz die Aufmerksamkeit auf meinen vorsichtigen, vorlaeufigen Veroeffentlichungstermin fuer EasyLFS 0.3 lenken. Dieser Termin ist erstmal fuer Sonntag den 13. Mai angesetzt.
Details finden sich im verlinkten Blog-Eintrag.


----------



## andy72 (26. April 2007)

Sooooo ...nur mal als allgemeine Info: Heute wurde nun endlich der neue Kernel 2.6.21 released - für mich bedeutet das gleich mal einen neuen Kernel aufzusetzen und SELinux auf die kommende Version 2.0 zu updaten, die Builds dafür stehen ja schon länger auf http://www.nsa.gov/selinux zur Verfügung. Auch eine neue refpolicy gibt es: refpolicy-20070417, diese wird dann gleich mit integriert. Infos werde ich zu diesem Projekt natürlich hier und auf meiner Webseite hinterlassen


----------



## Dennis Wronka (26. April 2007)

Argh, und das jetzt wo ich in den Endspurt uebergehen will.
Na mal schauen ob sich der Quatsch noch fuer die 0.3 einbauen laesst, testen werd ich auf jeden Fall mal.
Der Kernel sollte ja kein Problem darstellen, aber SELinux und die RefPolicy koennten haarig werden.


----------



## andy72 (26. April 2007)

Wie weit ist Deine Targeted-Version der Policy ? Wäre nett, wenn Du mir evtl. mal eine Kopie als Vergleich schicken könntest - zum Testen der neuen 0.3 EasyLFS werde ich leider erstmal nicht kommen, da ich zur Zeit bissi viel zu tun habe, aber ich werde zumindest mein SELinux-Project weiterführen, das geht auch mal abends oder am WE :|


----------



## Dennis Wronka (26. April 2007)

Wenn ich daheim bin lad ich hier mal den Patch gegen die ReferencePolicy von Dezember hoch, dann kannst Du mal schauen. Dort ist aber nur Kram drin der eben fuer EasyLFS relevant ist, zusaetzliche Pakete die der User evtl. noch installieren koennte werden dabei nicht bedacht.
Ich bin also nur anhand der Meldungen von audit2allow vorgegangen.

Wenn ich mich recht erinnere hab ich dort auch schon ein paar Sachen fuer die Strict-Policy drin, ganz sicher bin ich aber nicht da ich den Patch ein paar Mal neu erstellt hab. Koennte also sein, dass in dem aktuellen Patch die Sachen fuer die Strict-Policy nicht drin sind.


----------



## andy72 (26. April 2007)

Würde mir auch erstmal reichen um zu sehen, wie Du das umgesetzt hast, bzw ob wir da parallel arbeiten - ich habe leider den Verdacht, dass ich mit meiner Policy zu selbst-eigen bin, d.h, dass meine Policy womöglich woanders nicht so funktioniert, wie bei mir.

Dass sie, wie du schon schreibst, nicht überall laufen wird, ist mir klar, trotzdem ich da auf den FHS geachtet habe. zB fängt es bei mir an, dass die originale refpolicy KDE in /opt/kde3 installiert, und QT in /usr - was mir gar nicht passt. KDE ist bei mir in /opt/kde-3.5.6 und /opt/kde ist nur ein Link, bei Qt4 ist es ähnlich. Dann noch Xorg-7.1, was bei mir in /usr/X11 liegt, habe das so gemacht, da Xorg mit X11R6 nichts mehr zu tun hat und den Code zwecks Updates getrennt zu halten. refpolicy besagt aber, dass X11 nach /usr/X11R6 oder direkt nach /usr gehört ... sind lauter so Sachen, die man entweder komplett in EasyLFS anpassen müsste und das bereits in der Policy berücksichtigt, oder man lässt das aussen vor und überlässt das dem User, wo ich denke, nicht jeder User wird sich gleich auf die SELinux-Sache stürzen, wenn EasyLFS erstmal als solide Basis eines guten OS installiert ist


----------



## Dennis Wronka (26. April 2007)

So, hier mal mein Patch fuer die Reference-Policy.
Die bisherigen Anpassungen fuer die Strict-Policy sind auch mit drin. Wenn man diese auf Enforcing stellt kann man sich aber, wegen einem bisher nicht erlaubten Kontextwechsel, nicht einloggen.

Ich hab auch diese Stack- und MemExec-Anpassung uebernommen die ich eigentlich vermeiden wollte, aber einen anderen Weg konnte ich nicht finden. Bei der Strict-Policy besteht dieses Problem auch nicht, was auch ein Grund ist warum ich auch weiter an der Strict-Policy arbeiten werde um im Endeffekt auch diese anbieten zu koennen.


----------



## andy72 (26. April 2007)

Habe gerade mal drüber geschaut - viele der Patches habe ich in meiner Policy bereits integriert, ich werde heute abend mal meine Policy sichern und die neue refpolicy installieren, ich glaube sogar, dass sie das Problem von dcc_* aus Kernel 2.6.19 gefixed haben - im SVN war dies schon drin


----------



## andy72 (27. April 2007)

Habe heute Nacht den Kernel 2.6.21 installiert,allerdings habe ich nur den Patch installiert, der lediglich rund 5MB groß ist da ich wieder mal zu faul war, den kompletten Kernel neu zu installieren. Als erstes fiel mir auf, dass nach einem Neustart des Systems die Kernel-Version dieselbe ist, dass sich die Version von 2.6.20-1 auf 2.6.21 geändert hat, hat weder das installations-Verzeichnis /lib/KERNELVERSION gemerkt, noch "uname -r" - was mich doch schon arg wundert. Was auch nicht zu sehen war, ist das neue Feature von VMWare, wo die Rede von einer neuen Engine für Virtualisierung die Rede war, nach wie vor befindet sich nur der menü-Punkt "Paravirtualisation" in der Config. Das einzige, was ich auf Anhieb sehen konnte, dass die Initialisierung von SELinux schneller durchläuft, auch die ganzen Meldungen über geladene SELinux-Module sind endlich weg (hat mich eh genervt ), es erscheinen nur noch die Fehlermeldungen (habe die neue refpolicy noch nicht drauf, somit erscheint noch der Fehler bezüglich "dcc"). Schlussum werde ich heute Nachmittag den Kernel dann doch nochmal komplett neu installieren, anscheinend hat der Patch nicht so die Konfiguration geändert, wie ich mir das ganze gewünscht hätte 

LG & einen schönen Tag
Andy


----------



## Dennis Wronka (27. April 2007)

Den neuen Kernel hab ich gestern auch bereits in meinem System (ohne SELinux) verbaut, und dort wird auch brav ueberall 2.6.21 angezeigt.
Den Kernel und auch die neue RefPolicy hab ich in den aktuellen EasyLFS-Tree uebernommen und in die Config eingetragen sodass beim naechsten Testbuild, den ich heute nach der Arbeit starten will, diese zum Einsatz kommen werden.
Die neue RefPolicy werde ich nicht mit meinem Patch bearbeiten, sondern "as is" installieren, und dann mal schauen was fuer Anpassungen eventuell noetig sind.


----------



## andy72 (27. April 2007)

Kann ich dir gleich sagen: Du kannst den ganzen Kram der refpolicy gleich neu anpassen  ... hab das eben schon probiert, die scheinen nicht davon abzuweichen, dass ifconfig evtl.mal auf ein Gerät zugreifen muss, dass hostname eine Konfig braucht, die er lesen muss und auch dass klogd/syslogd evtl. in eine Logdatei schreiben mag, ebenso verhält es sich mit d-bus und hal, die ganze Arbeit der letzten Wochen sollte man gleich da rein kopieren, sonst bringt das nix  *g*


----------



## Dennis Wronka (28. April 2007)

andy72 hat gesagt.:


> Kann ich dir gleich sagen: Du kannst den ganzen Kram der refpolicy gleich neu anpassen


Naja, es gibt schlimmeres.
Vielleicht ist jetzt wenigstens der Kontext-Wechsel drin den ich fuer die Strict-Policy brauche. Selbst hab ich den bisher naemlich bislang nicht hingekriegt.

Gestern und heute hab ich auf der Arbeit zwei kurze Kompatibilitaetstests durchgefuehrt.
Zum einen hab ich meine aktuelle TestCD mal auf einem Rechner mit SATA-Platte gestartet und auch mal einen USB-Stick eingesteckt.
Sowohl die SATA-Platte als auch der USB-Stick werden erfolgreich erkannt und sind verfuegbar. Somit steht nun fest, dass EasyLFS nicht nur IDE-Platten unterstuetzt sondern auch SATA und USB-Storage-Devices.
SCSI konnte ich bisher aber noch nicht testen, sehe aber soweit keinen Grund warum es nicht gehen sollte.


----------



## andy72 (28. April 2007)

japp, udev unterstützt in den Scripten SCSI ...kann das leider auch nicht testen, da ich kein SCSI-Gerät habe.Mein Rechner hat nicht mal SATA *g*


----------



## Dennis Wronka (28. April 2007)

andy72 hat gesagt.:


> japp, udev unterstützt in den Scripten SCSI ...kann das leider auch nicht testen, da ich kein SCSI-Gerät habe.Mein Rechner hat nicht mal SATA *g*


Ich hab zwar einen SATA-Controller onboard, der wurde auch erkannt, aber ich hab keine SATA-Platte. Und ich wollte halt mal testen auf eine eben solche zuzugreifen.
Aber das ist ja nun geschafft.
Jetzt muss ich nur irgendwie dafuer sorgen, dass wir auf der Arbeit mal einen unserer beiden Dell-Server neu starten muessen, dann kann ich da auch mal kurz den SCSI-Support testen.


----------



## andy72 (10. Mai 2007)

Heute Nachmittag wirds mal wieder ernst für SELinux und EasyLFS:

Eine neue Version von VMWare wurde veröffentlicht, angeblich lassen sich damit PC's von der Hardware her klonen - bin gespannt, ob das a) wirklich so funktioniert, und ob das versprochene USB-2.0 auch virtualisiert so gut funktioniert wie real mit dem neuen Kernel 2.6.21.

Testbericht folgt dann heute abend


----------



## zeroize (10. Mai 2007)

Die Clone-Funktion wird (so nehme ich stark an) auf dem bereits herausgegebenen VMWare Converter basieren, ein richtig geiles Tool, kann ich nur empfehlen ;-) - hervorragend um das mal auszustesten übrigens http://www.vmware.com/download/converter/ die Starter-Edition ist frei verfügbar!


----------



## andy72 (11. Mai 2007)

Guten morgen allerseits,

anbei mal ein kurzer Testbericht - erstmal nur vom VMWare-Converter 3.0.1.

Nach einem mehr oder minder anstrengenden Download vom Hersteller (die Download-Funktion geht irgendwie nicht richtig, und man darf wieder ne Dummy-Mailadresse angeben, da VMWare anscheinend die Mail-Addi auch nur zu Werbezwecken nutzt) war die Installation recht easy. Nach dem Programmstart steht man dann vor einem Wizard,
der helfen soll, die VMWare-Maschine einzurichten. Es folgen Fragen wie: "Was soll gecloned werden ? *)ein PC im lokalen Netzwerk *)der Lokale PC ?" und was soll gecloned werden ? - es folgt eine Auswahl an physischen Festplatten. Da XP ja eine Linuxplatte trotzdem anzeigt, auch wenn das Dateisystem nicht gerade NTFS oder FAT ist,war ich schon recht zuversichtlich, dass VMWare Converter nun eine Sektorkopie der Festplatte macht, wo mein Linux drauf ist ... Man schliesst den Wizard dann mit einer Zusammenfassung ab, und ich wurde schon stutzig, als der Converter bemängelte, dass meine Platte keinen Bootsektor enthält ... nun ja, als Secondary Master hat das die Platte ja nicht zwangsläufig  ... "Egal" dachteich,und bestätigte dann die Abfrage mit "Joah,passt trotzdem - ich weiss das" *g* ... der Konverter beginnt nun, meinen PC zu clonen, es vergehen 20min und ich stehe vor dem Dialog, dass der Converter meine Einstellungen so nicht übernehmen konnte,da kein Bootsektor da sei ... *hmpf* ... 

Alles artig beendet, und mal ins Verzeichnis geschaut, was der Converter gemacht hat - und nun war ich erst richtig enttäuscht: ein Blick in die Konfig Datei (*.vmx) verriet mir mal gleich,dass er nicht meine Hardware gecloned hatte, sondern nur versucht hat, mein Linux von der Platte in eine Image-Datei zu prügeln ... toll, das kann VMWare selbst,dazu brauch ich keinen Konverter 

Enttäuscht hab ich das Progrämmelchen wieder deinstalliert, da man das so nicht nutzen kann 

LG
Andy


----------



## Dennis Wronka (17. Mai 2007)

Neues an der Treiberfront:
Sinac war so freundlich die aktuelle Beta mal auf einem Server auf der Arbeit auszuprobieren, damit EasyLFS auch mal in Kontakt mit SCSI und sogar Multi-CPU-Systemen kommt.
SCSI funktioniert, wie ich eigentlich schon erwartet hatte. Aber es ist auf jeden Fall gut eine Bestaetigung zu haben.
Jedoch wurde von den CPUs nur eine erkannt, was aber nicht weiter verwunderlich ist, da der auf der CD befindliche Kernel keinen SMP-Support hat.
Da werd ich mal ein wenig testen und schauen ob man nicht risikolos einfach einen SMP-faehigen Kernel auf die CD packen kann, dann waere auch dieses "Problem" gleich geloest.


----------



## andy72 (18. Mai 2007)

Mahlzeit 

Ich kann Dir bestätigen, dass ein SMP-Kernel bei mir am laufen ist (Kernel 2.6.21) und das auf einem Single-CPU System nichts macht, es dauert nur beim Systemstart ein paar Sekunden länger, da der Kernel versucht, die 2. CPU zu finden - es kommt keine Fehlermeldung und der Kernel startet dann normal weiter.

LG
Andy


----------



## Dennis Wronka (18. Mai 2007)

In der Kernel-Doku hab ich gelesen, dass es auf Single-CPU-Systemen besser ist keinen SMP-Kernel zu nutzen, da dieser dann wohl etwas weniger performant sein soll.
Entsprechend hab ich entschieden, dass ich probieren werde 2 Kernel auf der CD unter zu bringen, einen mit und einen ohne SMP-Support.


----------



## Dennis Wronka (19. Mai 2007)

So, weiter geht's mit guten Nachrichten.

Es hat mich Zeit und Nerven gekostet, aber ich hab die Linux-Live-Scripts dazu bewegen koennen 2 Kernel auf die CD zu packen.
Durch die neue Version der Live-Scripts gibt es nun auch ein schickes Menue zur Auswahl des Kernels, sodass man nicht doof rumtippen muss. Sehr schick das Ganze.

Auf der aktuellen Beta-CD sind ein Kernel mit und einer ohne SMP-Support enthalten.
Laut einem schnellen QEmu-Test (der ja auch SMP emulieren kann) funktioniert das auch alles soweit.


----------



## Dennis Wronka (24. Mai 2007)

So, EasyLFS 0.3 liegt in den letzten Zuegen vor der Veroeffentlichung.
Sekt/Champagner/Bier koennen schonmal kalt gestellt werden, denn wenn nichts wirklich gravierendes passiert wird der Release noch diesen Monat erfolgen.
Angepeilt ist der 29.05., welcher durchaus realistisch sein sollte.

Zur endgueltigen Groesse der LiveCD kann ich bislang nichts sagen, viel groesser als die CD von EasyLFS 0.2.6 sollte sie aber nicht werden.

Informationen zur kommenden Version finden sich hier im Thread und vor allem natuerlich im EasyLFS Wiki.


----------



## andy72 (24. Mai 2007)

Erstmal herzlichen Glückwunsch zum freudigen Ereignis !

Da ich ja 0.2.6 übersprungen habe, werde ich Version 0.3 100% ausgiebig testen und mal sehen, in wie weit sich das Sys denn bei einem Fummler und Frickler wie mir verwenden und vergewal*****gen lässt 

Inzw. bin ich schon an einem neuen Projekt dran:
EasyLFS zu installieren durch endloses kompilieren der ganzen Pakete ist ja schön und gut - der Sinn eines LFS liegt ja nicht nur am Spass und lernen, sondern auch darin, das System so zu bauen, wie es a) einem gefällt und b) doch etwas Performance heraus zu holen. Schade nur, wenn man das System mal neu machen muss/will - dann bleibt natürlich nur noch der Weg, alles neu zu kompilieren. Genau HIER setzt meine Idee an:

Schon während des kompilierens der Basis-Pakete werden wahlweise RPM's oder Deb's erstellt, die später auf eine CD verfrachtet werden können und ad hock einfach nur noch installiert werden brauchen. Somit hat man sein "altes" System wieder und spart mal eben einen haufen Zeit.


----------



## Dennis Wronka (24. Mai 2007)

Womit arbeitest Du zur Erstellung der Pakete? Mit checkinstall?

Fuer EasyLFS 0.4 hab ich mir uebrigens auch schon ein paar nette Sachen ausgedacht.
Der groesste Teil davon wird zwar eher im Hintergrund passieren, also in den Scripts, aber dafuer werden diese dann wohl wieder ein gutes Stueck flexibler.

Ob es grosse, neue Features geben wird weiss ich noch nicht, eventuell die Strict-Policy fuer SELinux, aber das ist noch nicht sicher.
Auf jeden Fall will ich dann auch GCC 4.2 mit drin haben.


----------



## andy72 (24. Mai 2007)

Im Mom schwirrt mir nur die Idee grundlegend im Kopf herum und ich bin dabei zu planen, wie man das realisieren kann. Klar ist es bestimmt einfach (bzw keine grosse Sache) statt kompilieren rpm -ba zu nehmen, und das RPM danach zu installieren - aber das muss ich erstmal testen, ob das so geht, wie ich mir das vorstelle. Erstmal brauche ich wieder ein Linux, dass nicht in sich verstrickt ist sondern solide - ergo EasyLFS 0.3 scheint mir schon das mitzubringen, was ich brauche. Mal schauen 

Das Problem bei neuesten Compilern ist ja eigentlich nur, dass man das ganze Sys bis hin zu X11, KDE,Gnome,Server-Anwendungen etc testen muss, ob das ganze dann auch kompilier- und lauffähig ist. Was bringt sonst der neueste Compiler, wenn man dann nur Probleme hat nach der Basis-System Installation


----------



## Dennis Wronka (25. Mai 2007)

Bei 4.1 weiss ich ja, dass damit soweit alles geht, wenn auch durchaus schonmal Patches noetig sind (z.B. fuer QEmu und Yadex, um nur mal 2 zu nennen).
Ich denke aehnlich wird es auch mit GCC 4.2 aussehen.

In Sachen EasyLFS wird z.B. ein Patch fuer das configure-Script von Perl benoetigt damit dieses mit GCC 4.2 zusammen arbeitet.

Naja, ich werd mich jetzt auf jeden Fall erstmal darauf konzentrieren EasyLFS 0.3 fertig zu kriegen; gestern musste ich noch 2 Aktionen in der SELinux-Policy erlauben und meinem Patch hinzufuegen; und dann kann ich mal sehen wie es weiter geht.


----------



## Dennis Wronka (25. Mai 2007)

Auf den letzten Druecker hat sich, dank eines Kurz-Reviews im Linux-Magazin, noch das kleine, aber wirklich feine Tool MemTest86+ in EasyLFS 0.3 geschafft.
Ich denke es kann nicht schaden sowas zu installieren, auch wenn man es meist nicht brauchen duerfte.
Ich hab mich dafuer entschieden, dass es per default aktiv ist, aber eben deaktiviert werden kann falls man es wirklich nicht will.


----------



## andy72 (26. Mai 2007)

So, habe eben Fedora 6 minimal installiert, um zu testen ob das geht mit den RPM's zur Kompilierzeit. Nachdem Ubuntu unter VMWare gescheitert ist, mir einen Kernel mit Quellen zu installieren (das Problem lag an meiner dummen Installation: Hatte das Server-Image, da ich den Desktop nicht brauchte und meinte, so etwas Zeit zu sparen. Das Ende vom Lied war dann, dass ich unter VMWare kein netzwerk hatte da Ubuntu-Server 7.04 keinen Treiber für vmxnet bei hat und keine Kernel-Quellen auf der CD sind *g* ). Knoppix fiel auch aus, da man die CD nicht entfernen und das VMWare-Image mounten kann, genau so verhielt sich das bei  EasyLFS 0.3 - nun hab ich halt eine Entwickler-Installation ohne jede Dienste und X11 - die Installation von Fedora konnte ich so auf minimale 500MB drücken - mehr muss ja nicht sein 

Werde also die näxten Tage hier berichten, wie ich voran komme - Pfingsten ist ja nun ein langes WE 

LG
Andy


----------



## andy72 (28. Mai 2007)

Hier also mal mein Statement zu Fedora 6 und VMWare:

Die Installation war gleich beim ersten mal abgeraucht, nachdem ich die Partition(en) konfiguriert habe. Ein Neustart brachte mich dann durch die gesamte Installation, die schon nach 20min erledigt war. Hier und da noch etwas im /etc/init.d aufgeräumt, einen neuen Kernel installiert (Version 2.6.21.3, den ich vom Iso-Image hatte) und dann ging es los: Ein Paar RPM's erstellt - lief wunderbar. ABER: bis heute morgen brauchte ich kein Netzwerk, da ich mich auf meine doch sehr positiven Erfahrungen mit Fedora und VMWare verlassen hatte - und wurde nun verlassen. Nachdem ich die vmxnet.c (der NW-Treiber von VMWare) hier und da noch umgeschrieben hatte, da der mit Kernel 2.6.21.3 nicht mehr kompatibel war, lief er zwar im Kernel, aber ich kam nirgends hin. Fazit der ganzen Aktion: schei** VMWare, das Dings ist echt für nix gut  - Morgen kommt also der näxte Versuch mit QEmu, vielleicht klappts ja damit besser *hoff*

LG
Andy


----------



## Dennis Wronka (29. Mai 2007)

EasyLFS 0.3 ist da!

Feedback und Bugreports sind immer gern gesehen.
Am besten hier im Thread, gerne aber auch per PN.


----------



## andy72 (29. Mai 2007)

Hui, na das ist doch mal nen geiler Wochenstart 

*Heute nachmittag gleich mal download und installiere*


----------



## lexz (29. Mai 2007)

Hey,auch von mir erstma nen dickes Gratz!
Wollte nachgefragt haben wie das denn auf der Wiki mit der 2-Sprachigkeit aussieht, 
übersetze gerade die Sektion: Geschichte, werd sie dir nachher per PN wieder zukommen lassen. 

Nur damit ich weiß ab wann ich mich richtig reinknien müsste 


mfg

alex


----------



## andy72 (29. Mai 2007)

Hi,

Irgendetwas scheint mit der glibc evtl.nicht in ordnung zu sein:
eben schaute ich auf die Konsole während des kompilierens, und sah folgenden Schalter beim gcc: "-D'LOCALEDIR=/usr/share/locale" - das Hochkomma zwiscehen dem D und L sieht aus wie ein Tipp- oder KopierFehler - läuft die glibc bei Euch mit locale-Einstellungen ?


----------



## Dennis Wronka (30. Mai 2007)

andy72 hat gesagt.:


> ..., und sah folgenden Schalter beim gcc: "-D'LOCALEDIR=/usr/share/locale" - das Hochkomma zwiscehen dem D und L sieht aus wie ein Tipp- oder KopierFehler...


Da dieser Aufruf nicht von mir stammt (ist in keinem meiner Scripts enthalten) wird das wohl seine Richtigkeit haben.



andy72 hat gesagt.:


> ... - läuft die glibc bei Euch mit locale-Einstellungen ?


Ich hab's grad auf der LiveCD getestet, die ist ja auch mit den Scripts gebaut, und *locale -a* zeigt mir die Liste der Locales an. Auch ein kurzes

```
LC_ALL=de_DE gettext --help
```
laesst deutschen Text erscheinen, wenngleich ohne Umlaute...
Wenn Du eine Idee hast woran das liegt dann wuerde ich mich ueber einen Tipp sehr freuen.


----------



## andy72 (30. Mai 2007)

Moin,moin 

Werde heute nachmittagmal ein "./configure" in der glibc machen und mal "greppen", ob ich was finde. Die Installation ist jetzt auch fast durch - nach guten 16 Stunden Kompilierzeit.

Umgebung:
VMWare 5.5 - virtuelle HDD mit 8GB, virtuelles CDR-LW
Zugewiesener RAM: 256MB
CPU: 1x Celeron @2GHz
Host-System: WinXP SP2

Zusätzliche Installationsauswahl von Paketen: RPM, Lynx, SELinux, mc, wget
gab auch keinerlei Probleme - ich muss sagen,das System ist wirklich gute Arbeit.

LG
Andy


----------



## Dennis Wronka (30. Mai 2007)

andy72 hat gesagt.:


> ich muss sagen,das System ist wirklich gute Arbeit.


Vielen Dank fuer die Blumen.
Und grossen Dank fuer Deinen Einsatz in Sachen SELinux und PAM.

Einen kleinen Makel gibt es uebrigens noch bei der SELinux-Implementation. Wenn man LILO aufruft um den MBR zu schreiben wird eine Aktion geblockt, die Funktion von LILO scheint dadurch aber nicht beeintraechtigt zu werden.
Und da es mit einer einfachen Regel irgendwie nicht getan war hab ich das System mit diesem Makel als fertig erklaert.
Bis zur naechsten Version werd ich aber mal schauen ob ich das nicht irgendwie geregelt bekomme, denn auch wenn alles funktioniert, unschoen ist es trotzdem.


----------



## andy72 (30. Mai 2007)

In welcher Version EasyLFS wird diese MBR-Aktion unter SELinux geblockt ?
Werde mir das dann heute Nachmittag / Abend mal ansehen 

Mein Einsatz ist keine grosse Sache - Ich mach gerne was für OSS, da ich der Meinung bin, wenn jeder seinen Teil beiträgt der von Linux genug Ahnung hat, kann das ein grossartiges System sein und nur noch besser werden. Allein schon zum Trotz gegenüber den eingefleischten Software-Herstellern, die seit Jahren die Kunden abzocken und ihren Kram - für meine Begriffe zu teuer - verscherbeln. Ich denke, dass Software schon Geld kosten sollte, allein schon um die Entwicklungskosten zu finanzieren - aber es sollte eine klare Grenze geben. Unter Linux gibt es ja auch kommerzielle Software - sieht man sich mal Nero 3 an, merkt man, dass SW nicht so teuer sein muss - der Preis ist beinahe die Hälfte von der Win-Version Nero 7...

Nicht desto trotz werde ich mich trotzdem weiterhin an EasyLFS beteiligen, und den "grossen Machern" den gewissen Finger zeigen


----------



## Dennis Wronka (30. Mai 2007)

andy72 hat gesagt.:


> In welcher Version EasyLFS wird diese MBR-Aktion unter SELinux geblockt ?


In der aktuellen, 0.3, tritt das auf.
Und wenn ich die von audit2allow vorgeschlagene Regel in die entsprechende .te-Datei eintrage laesst sich die Policy zwar kompilieren aber scheinbar nicht mehr laden.


----------



## andy72 (31. Mai 2007)

Guten Morgen 

Nach erfolgreicher Installation hier mal aufgefallene Fehler:

- Fehlendes Verzeichnis: /usr/etc nicht angelegt

- in Verzeichnis:
/usr/libexec: ssh-server sollte evtl.nach /usr/sbin
/usr/libexec: ssh-keysign sollte evtl. nach /usr/(s)bin
/usr/libexec: gnupg evtl. nach /usr/bin

Fehler im Makefile in glibc-2.5/intl:
Gefunden nach ./configure mit Installation-Options aus Stage1
Zeile 126 --> Ungültiger Schalter: -D'LOCALEDIR=
Zeile 127 --> Ungültiger Schalter: -D'LOCALE_ALIAS_PATH=

Kernel-Message beim Laden einer CD-Rom:
mount /dev/hdb /media: "Unable to load NLS utf-8"

Falscher Pfad für Man-Pages von Util-Linux:
/share/man/man{4,8} gehört nach /usr/share/man

Ich hoffe, schon mal ein paar Fehler gefunden zu haben, die keine Probleme verursachen 

LG
Andy


----------



## Dennis Wronka (9. Juni 2007)

Durch Fedora bin ich nun auf sdparm aufmerksam geworden.
Da dies, wie auch hdparm, ein nuetzliches, kleines Tool ist wird dieses auf jeden Fall Teil der naechsten Version werden.

Die Arbeit daran hat aber noch nicht begonnen. Wann ich mit der Arbeit daran beginnen werde ist bislang noch unklar. Ich denke ich werde in einer Woche oder so mal die komplette Softwareliste durchgehen und alle Pakete aktualisieren und dann langsam mit der Arbeit beginnen.


----------



## Dennis Wronka (11. Juni 2007)

Nachdem nun bereits sdparm fuer die Aufnahme in die naechste Version von EasyLFS festgelegt wurde gibt es jetzt noch 2 Pakete die in den Einzug in die naechste Version finden sollen, denn EasyLFS soll besseren Netzwerksupport bekommen. Dies wird dadurch geschehen, dass sowohl pppd (inklusive des PPPoE-Plugins) als auch die Wireless-Tools als Optionen bereitstehen werden.
Auch Bluetooth-Support koennte durchaus im Rahmen des Moeglichen sein.


----------



## Dennis Wronka (14. Juni 2007)

Da der Bluetooth-Support DBus verlangt kommt dies nun auch, und wo ich dann schonmal dabei bin kommt HAL gleich mit.
Dadurch gibt es nun auch neue Pakete die wegen Abhaengigkeiten eingebaut werden muessen. Python, LibXML2 und die GLib sind ja bereits da, zusaetzlich kommen jetzt noch Expat, DBus-GLib und das Perl-Modul XML:arser.

Der Startschuss fuer die Arbeit an der naechsten EasyLFS-Version ist nun also gefallen, nachdem ich mir nach dem Release von EasyLFS 0.3 quasi 2 Wochen Pause gegoennt habe (in denen ich mir aber hin und wieder mal Gedanken gemacht hab was denn so kommen koennte).

Stay tuned!


----------



## andy72 (14. Juni 2007)

Konntest Du meine gemeldeten Fehler eigentlich nachvollziehen, oder tauchten diese nur bei mir auf ?


----------



## Dennis Wronka (14. Juni 2007)

andy72 hat gesagt.:


> Konntest Du meine gemeldeten Fehler eigentlich nachvollziehen, oder tauchten diese nur bei mir auf ?



Die hab ich mir bislang noch nicht angeschaut, werd ich aber in Kuerze tun. Hab ja die letzten 2 Wochen hauptsaechlich etwas Urlaub von EasyLFS gemacht. 
Aber jetzt geht es wieder heiter weiter, und so werd ich mir dann auch mal die von Dir angesprochenen Punkte anschauen.


----------



## andy72 (14. Juni 2007)

Ich hatte übrigens D-BUS und HAL in der ersten EasyLFS-Version mit drin und muss sagen, dass es echt keine Probleme gab. Folgt man den Anweisungen von LFS, ist das ganze eigentlich nur zu kompilieren und zu installieren, den Rest macht später dann KDE (hatte das mit KDE 3.5.6 getestet).

Zu meinem bedauern muss ich aber nun doch mal mitteilen, dass ich im Mom keine Zeit für das Projekt mit den RPM's habe, da ich zur Zeit beruflich stark eingebunden bin. Ich denke aber, dass ich im Juli wieder mehr Zeit habe, und dann werde auch ich mich wieder aktiver beteiligen 

LG
Andy


----------



## Dennis Wronka (14. Juni 2007)

Alles bisher hier angekuendigte, inklusive D-Bus und HAL sind mittlerweile installiert und funktioniert.
Fuer D-Bus und HAL hab ich auch bereits Startscripts, fuer den Bluetooth-Kram muss ich die noch schreiben.
Anschliessend wird das Ganze dann in Scripts gepackt damit es Teil von EasyLFS wird.


----------



## Dennis Wronka (16. Juni 2007)

andy72 hat gesagt.:


> - Fehlendes Verzeichnis: /usr/etc nicht angelegt


Ist /usr/etc nach FHS nicht "verboten"?



andy72 hat gesagt.:


> - in Verzeichnis:
> /usr/libexec: ssh-server sollte evtl.nach /usr/sbin
> /usr/libexec: ssh-keysign sollte evtl. nach /usr/(s)bin
> /usr/libexec: gnupg evtl. nach /usr/bin


Das muss ich mir mal anschauen.



andy72 hat gesagt.:


> Fehler im Makefile in glibc-2.5/intl:
> Gefunden nach ./configure mit Installation-Options aus Stage1
> Zeile 126 --> Ungültiger Schalter: -D'LOCALEDIR=
> Zeile 127 --> Ungültiger Schalter: -D'LOCALE_ALIAS_PATH=


Nur in Stage1 oder auch in Stage2?



andy72 hat gesagt.:


> Kernel-Message beim Laden einer CD-Rom:
> mount /dev/hdb /media: "Unable to load NLS utf-8"


Auch das muss ich mir mal anschauen.
Moeglicherweise hat das ja mit dem von Dir genannten GlibC-Problem zu tun.



andy72 hat gesagt.:


> Falscher Pfad für Man-Pages von Util-Linux:
> /share/man/man{4,8} gehört nach /usr/share/man


Es sind die Module-Init-Tools, wenn ich das richtig sehe.  Denn ich seh da Pages zu lsmod und anderen modulbezogenen Programmen.

Hast Du eigentlich schonmal eine InitRD erstellt?


----------



## andy72 (16. Juni 2007)

Moin 

Also:
/usr/etc soll nach FHS verboten sein ? Hmz, meine Info ist noch, dass das Verz. von Programmen genutzt wird, die Ihre Konfig nicht in /etc speichern müssen.

Das Makefile-Problem habe ich nur in Stage1 getestet, mir fiel auch nix falsches daran auf, was Du an configure-optionen mitgibst - viell. liegts an den autotools oder direkt an der Glibc ? Am Patch kann es nicht liegen, da ich ungepatched ./configure aufgerufen habe. (hab ja nix neu installiert)

Zum mount-Problem:
Es taucht auch nur beim mounten von CD's auf (getestet unter VMWare 5.x WS). Einen USB-Stick (FAT16) konnte ich auch problemlos mounten. Vielleicht liegt das an einem Fehler von VMWare ? Habe das Sys noch nicht direkt auf Platte, da ich im Mom keinen Platz dafür habe *g*

Eins hab ich noch:
Das Netzwerk ist unter VMWare 5.x WS nicht verfügbar, da die ihre Kernel-API geändert haben. Somit ist es nicht möglich, die Treiber zu kompilieren. Auch da sollten wir uns was einfallen lassen,damit das wieder funktioniert. Habe zwar nach umbiegen die Treiber kompiliert bekommen, aber es läuft trotzdem nicht. Irgendwas läuft da nicht 

LG
Andy


----------



## Dennis Wronka (16. Juni 2007)

andy72 hat gesagt.:


> /usr/etc soll nach FHS verboten sein ? Hmz, meine Info ist noch, dass das Verz. von Programmen genutzt wird, die Ihre Konfig nicht in /etc speichern müssen.



Ich denk das verwechselst Du mit /usr/local/etc.
Hab auch nochmal nachgeschaut.



			
				FHS 2.3 hat gesagt.:
			
		

> The consistency of /usr/local/etc is beneficial to installers, and is already used in other systems. As all of /usr/local needs to be backed up to reproduce a system, it introduces no additional maintenance overhead, but a symlink to /etc/local is suitable if systems want alltheir configuration under one hierarchy.
> Note that /usr/etc is still not allowed: programs in /usr should place configuration files in /etc.


----------



## andy72 (16. Juni 2007)

Oha ... na gut,ich sag mal, dass es auch Sinn macht, Config-Files in /etc zu speichern. Ich suche die Configs eh ned gerne woanders, wenn es möglich ist, hau ich auch alles nach /etc.

Habe das Verz. auch nur "vermisst" - brauchen tue ich das nicht


----------



## Dennis Wronka (17. Juni 2007)

Ist es eigentlich sinnvoll nur D-Bus zu installieren aber nicht HAL? Oder macht es nur Sinn wirklich beide zu installieren?
Dass HAL D-Bus benoetigt weiss ich, andersrum scheint das ja nicht zu sein, nur sehe ich auch keinen Sinn darin nur D-Bus zu installieren.
Ich spiele naemlich mit dem Gedanken einfach nur eine Option zur Installation von HAL anzubieten und dann eben D-Bus automatisch zu installieren, ohne eine zusaetzliche Option die dies dann regelt.


----------



## andy72 (18. Juni 2007)

Soweit ich weiss, ersetzt D-BUS den früheren RPC-Server - ich denke,in Zukunft wird es weitere Programme geben, die D-BUS nutzen. Da HAL D-BUS sowie Inotify des Kernel nutzt, bin ich der Meinung, man sollte ruhig beides installieren können. Macht aber auch nur Sinn, wenn später KDE, XFCE oder Gnome auf den Rechner kommen. Ein purer LAMP-Server wird das nicht brauchen *g*


----------



## Dennis Wronka (18. Juni 2007)

andy72 hat gesagt.:


> Soweit ich weiss, ersetzt D-BUS den früheren RPC-Server - ich denke,in Zukunft wird es weitere Programme geben, die D-BUS nutzen. Da HAL D-BUS sowie Inotify des Kernel nutzt, bin ich der Meinung, man sollte ruhig beides installieren können. Macht aber auch nur Sinn, wenn später KDE, XFCE oder Gnome auf den Rechner kommen. Ein purer LAMP-Server wird das nicht brauchen *g*



Daher wird es auch optional angeboten werden, aber moeglicherweise wird es per default aktiviert sein.
Uebrigens find ich die Ausgabe von lshal wirklich gut, wenngleich sie kein absoluter Ersatz fuer lspci und lsusb zu sein scheint. Aber ich glaub zum Teil werden auch mehr Infos angezeigt, wie z.B. die Platten. lshal gibt bei mir ueber 100 Geraete aus, was ca. 4 bis 5 mal so viel sein duerfte wie lspci und lsusb zusammen ausspucken.

Also Du meinst eine Option fuer beides waere okay?


----------



## Dennis Wronka (19. Juni 2007)

Es gibt wieder frohe Botschaft in Hinsicht auf die naechste Version: Ich hab mich in den letzten beiden Tagen etwas mit InitRamFs, dem Nachfolger von InitRD, beschaeftigt und mit Hilfe dessen hab ich es nun geschafft, dass ich EasyLFS von einem Volume im LVM booten kann.
Das ist aber nicht alles, denn dadurch wird es dann auch moeglich von verschluesselten Partitionen oder vom RAID zu booten.
Dies koennte wieder ein Feature werden welches EasyLFS von anderen Distributionen abheben koennte.


----------



## Dennis Wronka (23. Juni 2007)

Heute hat sich ergeben, dass EasyLFS ein geniales, neues Feature erhalten wird. Ich wage sogar fast zu behaupten, dass EasyLFS die erste Distribution mit diesem Feature sein wird (auch wenn ich da natuerlich nicht ganz sicher sein kann)!

Wovon ich rede sind flexible root-Partitionen. EasyLFS wird in der naechsten Version standardmaessig mit einem InitRamFs arbeiten, dadurch wird es, wie bereits berichtet, moeglich sein von einem RAID, vom LVM und aus verschluesselten Partitionen zu booten; aber auch, und das ist das neue Feature: Die root-Partition muss nicht immer das gleiche Device haben. Das ist insbesondere bei mobilen Festplatten sinnvoll, denn diese bekommen nicht immer und ueberall das gleiche Device zugewiesen.
Der Trick dahinter ist recht einfach, man bootet vom Device und das InitRamFs erkennt anhand des Filesystem- oder LVM-Labels welches die root-Partition und welche Partition /boot ist. Anhand dessen wird dann die fstab beim Bootvorgang erstellt sodass immer die richtigen Devices gemountet werden!
Klingt genial? Ist es auch!

Womit es bislang leider nicht zu funktionieren scheint sind verschluesselte Dateisysteme, da man dort eben nicht an das Label rankommt. Mal schauen ob ich dafuer auch noch eine Loesung finde.
Fuer unverschluesselte Dateisysteme und fuer LVM-Partitionen scheint es aber schon ganz gut zu laufen, und das mit nur wenigen Zeilen Shell-Code. Auch mit RAID sollte es kein Problem darstellen, das muss ich aber noch testen.

Stay tuned!


----------



## Westbär (3. Juli 2007)

Hallo,
Schönes Projekt, für die die es eilig haben ;D.
Ich installiere/kompiliere mir gerade LFS. Hab jeden FTP-Server durchsucht und jeweils die neueste Version heruntergeladen. Mal schauen ob es was wird.
Bei den neuesten Versionen braucht man ja auch die Patches nicht 

Wünsche dir noch viel Erfolg dabei!

Gruß


----------



## andy72 (3. Juli 2007)

Oha @Westbär ... Ich wünsche Dir natürlich auch viel Erfolg, aber wer sagt denn, dass man bei neuesten Versionen keine Patches braucht ? Allein schon aus Kompatibiltätsgründen kann es sehr gut sein,dass man einige Pakete patchen muss, damit sie zB mit bestimmten Compiler-Versionen kompiliert werden können ...von Sicherheit ganz zu schweigen 

LG
Andy


----------



## Dennis Wronka (3. Juli 2007)

Wie Andy schon sagt, es werden auch bei den neuesten Versionen zum Teil Patches benoetigt. Zum Teil andere, zum Teil die gleichen wie bei aelteren Versionen.
So kommen die CoreUtils z.B. immer noch nicht mit SELinux-Support daher. Aber das ist fuer Dich wahrscheinlich eher belanglos da Du sicher dem LFS-Buch folgst und nicht noch solchen Kram wie SELinux einbaust.

EasyLFS ist uebrigens auch nichts fuer Leute die es eilig haben. Man spart zwar gut Zeit im Vergleich zu Linux from Scratch, aber ein paar Stunden dauert es trotzdem noch.
Auf meinem alten 586er Notebook hat es sogar ganze 3 Tage gebraucht.

Ansonsten sei natuerlich auch nochmal erwaehnt, dass EasyLFS mittlerweile wirklich mehr ist als bloss eine automatisierte LFS-Installation da es eben einiges mehr bietet als LFS es tut, wie z.B. Support fuer SELinux und in der naechsten Version auch das Booten vom LVM und von verschluesselten Devices.
All das kann zwar mit LFS auch erreicht werden, aber eben nicht wenn man sich genau an das Buch haelt.
Ein grosser Teil der optionalen Software bei EasyLFS kann man zwar im Nachhinein auch bei LFS noch installieren, z.B. mit Hilfe des BLFS-Buches, aber einige Teile sind eben sinnvoller gleich bei der Systeminstallation zu installieren als nachtraeglich, wie z.B. eben das mehrfach erwaehnte SELinux.

Ich wuensche Dir auf jeden Fall viel Spass mit Deinem LFS, denn es ist ein echt gutes System. Auf meinem PC laeuft nutze ich LFS 6.1.1, wobei ich wie Du vorgegangen bin und alle aktuelen Pakete installiert hab und nicht die Versionen die im Buch genannt werden.

Und vielleicht kommst Du ja irgendwann mal auf die Idee neu installieren zu wollen, willst Dir dann aber die Tipperei sparen; dann bist Du auf jeden Fall ein potenzieller Kandidat fuer EasyLFS.


----------



## Westbär (4. Juli 2007)

Vielen Dank für die Infos, mein System rennt (hab leider glibc von 2.6 auf 2.3.6 downgraden müssen )
Gebrannt hab ich mir EasyLFS schon. Aber jetz mach ich erstma auf mein LFS KDE drauf.

Ahja, Ich hab gelesen, das DHCP noch nicht umgesetzt ist. Probier es doch mal mit DHCPCD. Hab ich gerade selbst auf meinem LFS kompiliert und funktioniert wie geschmiert.

Gruß


----------



## andy72 (4. Juli 2007)

Warum dieser drastische Downgrade der Glibc ?


----------



## Westbär (4. Juli 2007)

Weil es mit 2.6 nur Fehler gab. Dann hab ich halt auf 2.3.6 gedowngradet. Hätte es auch mit 2.5 machen können, war aber dann zufaul dazu.


----------



## Dennis Wronka (4. Juli 2007)

Ich wollte EasyLFS auch schon auf 2.6 upgraden, jedoch scheint es dafuer nicht das LinuxThreads-Paket zu geben, wie auch schon bei 2.4.  . Und da ich mit 2.4 auch Probleme hatte bleib ich erstmal bei 2.5, welche gut funktioniert.
Du haettest also keinen so grossen Rueckschritt tun muessen, ein Schritt zurueck haette gereicht.

Welchen GCC hast Du genommen? Mit 4.2.0 hab ich naemlich auch noch ein paar Probleme in EasyLFS.

DHCPD ist uebrigens schon drin. Der fehlende DHCP-Support bezieht sich darauf, dass bislang keine IP geholt wird wenn man denn einstellt, dass DHCP genutzt werden soll. Da muss ich eben noch was an den Scripts spielen sodass dies dann auch geschieht.


----------



## Westbär (4. Juli 2007)

Ich hab die GCC 4.1.2. 4.2.0 wäre schon,  hat aber leider nicht gefunkt.

Gruß


----------



## andy72 (7. Juli 2007)

Zu der glibc habe ich eben gelesen, dass das Zusatzpaket "Linuxthreads" wohl abgeschafft wurde, da die neue Glibc wohl mit NPTL arbeitet. Man hat wohl in letzten Versionen die linuxthreads nur noch bekommen, weilman abwärtskompatibel sein wollte. Vielleicht sollte man das mal probieren, mit NPTL zu arbeiten, da das angeblich sogar schneller im Threading sein soll...

LG
Andy


----------



## Dennis Wronka (7. Juli 2007)

Ueber die NPTL hab ich bislang auch recht interessantes gelesen. Wenn ich mich nicht irre wird diese auch schon gebaut und wahrscheinlich auch zum Teil genutzt. Ist eben die Frage ob man denn auch schon ohne die alten Linux-Threads auskommen kann und eben vollstaendig mit Posix-Threads arbeiten kann.
Ich werde das die Tage mal testen.


----------



## andy72 (9. Juli 2007)

Wo wir neulich beim Thema Sicherheit waren:

Man schaue auf den Screenshot und achte mal auf das Konsolen-Fenster, wo der
User seine Dokumente speichert ... da fällt mir nix zu ein 

http://www.kde-look.org/content/show.php/OSX-Tiger?content=61601

LG & eine schöne Woche
Andy


----------



## Dennis Wronka (9. Juli 2007)

Und EasyLFS kann seit gestern offiziell auf /dev/mapper/cryptroot installieren und anschliessend davon booten.
Das ist doch mal ein schickes Sicherheitsfeature, nicht?


----------



## Dennis Wronka (11. Juli 2007)

Es gibt wieder ein paar Aenderungen an EasyLFS. Lilo wird nun nicht mehr in den MBR geschrieben sondern in den Bootsektor der Partition. Bei der Installation wird auch automatisch sichergestellt dass diese das Boot-Flag gesetzt hat. Funktionell scheint es keinen Unterschied zu geben, die Konfiguration von Lilo wird fuer mich aber ein klein wenig einfacher. In welche Partition der Bootloader geschrieben wird haengt von der Konfiguration ob, wenn es eine Partition fuer /boot gibt dann auf diese Partition, ansonsten auf die root-Partition. Der Grund ist der, dass die Partition fuer /boot eh unverschluesselt etc. sein muss um die root-Partition, die ja verschluesselt sein und/oder im LVM/RAID stecken kann, booten zu koennen.
Wie zuvor erwaehnt wird jetzt per Config die Installation auf eine verschluesselte Partition unterstuetzt, was auch hervorragend funktioniert.
Weiterhin gibt es eine Option um zu verhindern, dass der Bootloader in den Bootsektor geschrieben wird. Dies kann praktisch sein fuer User die schon eine Linux-Distro haben und EasyLFS dort in den Bootloader eintragen wollen.

Der naechste Test gilt den oben erwaehnten Aenderungen fuer Lilo, und dort werde ich dann auch mal GLibC 2.6 testen.

Allgemein geht es zur Zeit wieder gut vorwaerts. Dank meines Notebooks kann ich jetzt auch in der Mittagspause und im Bus oder in der Bahn an EasyLFS arbeiten sodass ich allgemein mehr Zeit dafuer habe.


----------



## Dennis Wronka (4. August 2007)

Nachdem es an dieser Stelle mal wieder ein paar Wochen nichts gab mal wieder ein kleines Update.
Zum Einen ist die Entwicklung von EasyLFS natuerlich nicht eingeschlafen, wenngleich sie aufgrund der allgemeinen Lage (viel Arbeit, was mehr Zeit mit der Familie, 4 mal die Woche zum Schwimmen) langsamer voran geht als bei vorherigen Versionen. Zur Zeit sehe ich aber auch keinen Grund zur Eile, EasyLFS 0.3 ist ein nutzbares System und schon garnicht so schlecht. EasyLFS wird es zwar extremst in den Schatten stellen, da es eben einige grosse neue Features, wie z.B. die Installation auf eine verschluesselte Partition, geben wird. Aber bis zum Release ist es noch ein relativ weiter weg da noch an einigen Fronten Arbeit ansteht.

In der Zwischenzeit hab ich mal getestet ob EasyLFS auf einem Intel-Mac lauffaehig ist.
Seht selbst was dabei herausgekommen ist.


----------



## Dennis Wronka (6. August 2007)

Gestern hab ich mal endlich dafuer gesorgt dass alle Pakete aktuell sind. Hat eine Weile gedauert, aber jetzt ist wieder alles frisch.
GLibC wurde auf Version 2.6.1 aktualisiert, die Linux-Threads entfernt und somit jetzt offiziell auf Posix-Threads umgestellt.
Und auch sonst gab es einige Aenderungen, nur eben nicht so gravierende wie GLibC.
Getestet ist die neue C-Library auch schon, als naechstes folgt der Test der neuen GCC, 4.2.1.


----------



## Dennis Wronka (8. August 2007)

Ich habe eine traurige Nachricht. Obwohl in letzter Zeit die Entwicklung in Richtung 0.4 gut vorwaerts ging muss ich die Entwicklung erstmal einfrieren.
Grund ist dass mein PC den Geist aufgegeben hat, was es genau ist weiss ich noch nicht, auf jeden Fall ist das Teil nicht benutzbar.
Ein Backup der aktuellen Daten habe ich auf jeden Fall, sodass nichts verloren ist, nur wird es, bis das Problem behoben ist, nicht mehr weitergehen.

Ich koennt echt ko.....

Moeglicherweise kann ich ein paar Tests in Images durchfuehren die ich auf meinem Notebook gespeichert habe, bahnbrechendes duerfte dabei aber nicht herumkommen.


----------



## Dennis Wronka (12. August 2007)

Es geht wieder weiter.
Mein PC ist wieder arbeitstuechtig und somit wird nun auch die Arbeit an EasyLFS fortgesetzt.
Grad jetzt mach ich da weiter wo ich vor dem Totalschaden aufgehoert hab, bei der Erstellung einer Beta-CD mit den neuen Versionen, darunter ja nun auch GLibC 2.6.1, wodurch die LinuxThreads nun Geschichte sind.


----------



## andy72 (29. August 2007)

Soeben habe ich gelesen, dass LFS 6.3 erschienen ist.
leider muss ich sagen, dass ich doch etwas enttäuscht bin von dem, was geboten wird,
selbst das SVN vom 27.8.07 ist nicht sonderlich aktuell:

1.) Noch immer wird SELinux nicht berücksichtigt
2.) man baut noch immer auf die (alte?) Glibc2.5 auf, folglich noch nicht auf NPTL
3.) Noch immer ist Ext2FS das einzige unterstützte Dateisystem, ein zweites wäre wenigstens zu erwarten, denke ich
4.) Man hat von Lilo auf Grub gewechselt - früher war das eine Extra Option in BLFS

Naja ...LFS scheint nun doch immer mehr in eine Ecke zu gehören, wo man hin und wieder mal guckt, aber konkret SO nachbauen würde ich das sicher nicht mehr - dann lieber ein solides EasyLFS 

### EDIT
Selbst ein Blick in HLFS lässt mich zweifeln, ob das ganze so gut ist - nix SELinux, nur das alt hergebrachte GRSecurity und ein paar Compiler-Patches, dazu noch ein sinnloser Assembler-Code für /bin/true und /bin/false - die Begründung: man braucht dann keine C-Lib mehr und es braucht weniger speicher. Ok ... ABER: wie oft nutzt man diese beiden programme eigentlich ? Nachteil noch dazu: er läuft nur auf 3-,4- und 586er Maschinen - nix 64Bit 

LG
Andy


----------



## Dennis Wronka (29. August 2007)

andy72 hat gesagt.:


> 1.) Noch immer wird SELinux nicht berücksichtigt


Das war zu erwarten. Ich glaube auch nicht dass SELinux jemals Einzug in LFS halten wird. In HLFS sollte es aber zumindest optional aufgefuehrt sein, denn SELinux ist einfach eine sehr gute und umfassende Security-Loesung.



andy72 hat gesagt.:


> 2.) man baut noch immer auf die (alte?) Glibc2.5 auf, folglich noch nicht auf NPTL


Immer noch mit Linux-Threads? Abwaertskompatibilitaet in allen Ehren, aber irgendwann muss auch mal gut sein. Und aktuelle Distros wie z.B. Fedora zeigen doch wohl hinreichend dass man darauf verzichten kann.



andy72 hat gesagt.:


> 3.) Noch immer ist Ext2FS das einzige unterstützte Dateisystem, ein zweites wäre wenigstens zu erwarten, denke ich


Es muss ja nicht unbedingt ein weiteres sein, es wuerde einfach reichen statt Ext2 einfach Ext3 zu nutzen. So hat man wenigstens ein Journal. Fuer aeltere Systeme waere dann wohl noch die Erwaehnung von Ext2 angebracht, aber die meisten User duerften wohl mit Ext3 gluecklich werden.



andy72 hat gesagt.:


> 4.) Man hat von Lilo auf Grub gewechselt - früher war das eine Extra Option in BLFS


Das war auch in der letzten Version schon der Fall. Grub wird wohl, frueher oder spaeter, auch in EasyLFS kommen, aber dann wird man die Wahl zwischen Lilo (dem von mir nach wie vor bevorzugten Bootloader) und Grub haben.



andy72 hat gesagt.:


> Naja ...LFS scheint nun doch immer mehr in eine Ecke zu gehören, wo man hin und wieder mal guckt, aber konkret SO nachbauen würde ich das sicher nicht mehr - dann lieber ein solides EasyLFS


Da ich ja nun EasyLFS habe werde ich wohl auch kein LFS mehr bauen, warum auch? Immerhin hab ich mir jede Menge Arbeit gemacht ein System zu erstellen was LFS in vielen Punkten ueberschatten kann.



andy72 hat gesagt.:


> Nachteil noch dazu: er läuft nur auf 3-,4- und 586er Maschinen - nix 64Bit


Zur Zeit ist EasyLFS ja auch noch ein 32-Bit-System. Soweit ich das verstehe duerfte wohl auch ein 32-Bit-System herauskommen wenn man auf einem 64-Bit-Rechner kompiliert, da das laufende System, also die EasyLFS-CD, 32-Bit ist.
Aber, da ich ja jetzt eine 64-Bit-CPU habe hab ich gestern mal 10GB Platz geschafft und Fedora 64-Bit installiert. Darunter will ich jetzt mal schauen ob man ohne groesseren Aufwand ein EasyLFS64 bauen kann.
Ohne groesseren Aufwand heisst hier schlichtweg ohne Anpassungen an den Scripts die nicht auf die 32-Bit-Version anwendbar sind. Ich wuerde schon gern bei einem Satz Scripts bleiben.


----------



## andy72 (29. August 2007)

hmmm ...bist also derselben meinung wie ich, dass LFS 6.3 nicht der "Bringer" ist. Ehrlich gesagt habe ich auch schon lange ned mehr in Gentoo geschaut, das basiert ja zT auch auf LFS.
Ob man sooo einfach ein 64Bit System bauen kann,weiss ich leider auch nicht, da ich keine 64Bit CPU mein Eigen nennen darf, aba ist ja bald Weihnachten, da werd ich mir mal was neues leisten - mein kleiner Celeron ist auch nicht mehr der beste


----------



## Dennis Wronka (29. August 2007)

Mein altes Athlon-System hat ja den Geist aufgegeben, da musste dann Ersatz her. Und statt einfach nur Ersatz fuer was auch immer nun kaputt war zu kaufen hab ich gleich den Schritt nach vorn gemacht und mir einen schicken Athlon64 X2 gekauft.


----------



## andy72 (29. August 2007)

*rumsuch* ... *preise vergleich* ...naja, ich müsste mir - oder will mir - ja eh nen neues Sys zulegen. Gleich mit Mainboard was schön SATA und/oder Raid hat (kein dummes Raid0 sondern "echtes"), ne neue GraKa brauch ich auch mal, da meine GF5000 doch arg in die Jahre gekommen ist - also ich schätz mal, so um die 300-400 TEuros darf das dann schon kosten


----------



## Dennis Wronka (29. August 2007)

Okay, kleine Korrektur. Es wird im aktuellen LFS doch Ext3 genutzt.
Jedoch steht dort folgendes:


			
				LFS 6.3 hat gesagt.:
			
		

> The most widely-used system in the Linux world is the second extended file system (ext2), but with newer high-capacity hard disks, journaling file systems are becoming increasingly popular.


Meiner Meinung nach trifft dies aber nicht mehr zu. Die Anzahl an Installationen auf Ext3 duerfte wohl mittlerweile die Installationen auf Ext2 ueberwiegen.
Naja, egal.
Wenigstens kommt mittlerweile Ext3 zum Einsatz.


			
				LFS 6.3 hat gesagt.:
			
		

> We will create an ext3 file system. Instructions for creating other file systems can be found at  http://www.linuxfromscratch.org/blfs/view/svn/postlfs/filesystems.html.


----------



## andy72 (29. August 2007)

Naja, wenn man dann BLFS installiert hat, kommt das einem SuSE 10 schon recht nahe


----------



## Dennis Wronka (29. August 2007)

Naja, alles vom BLFS wird wohl keiner Installation. Wer braucht schon Gnome und KDE? Einer der beiden Desktop-Manager reicht doch vollkommen.


----------



## andy72 (29. August 2007)

Sehe ich auch so ...ab und an hatte ich auch einfach nur WindowMaker,nen Binary von Firefox und der Rest war Web-,SQL- und FTP-Server der nur zur Webentwicklung diente und ich manchmal ein "schöneres" WWW haben wollte wenn ich Linux Standalone hatte.
Inzw. fahre ich wieder Parallel bzw habe ein VMWare-Image auf der Platte auf dem ein kleines Linux läuft. Wenn ich wieder mehr Zeit habe, werde ich mich mit Linuxwieder etwasmehr auseinandersetzen - habe ja schon wieder nette Sachen gesehen, wo mir die Finger jucken


----------



## andy72 (30. August 2007)

Voller Schrecken stellte ich eben fest, dass mein EasyLFS 0.3 kein SSH mehr will:
Der SSH-Server läuft seit der Installation, ich kann lokal darauf zugreifen, über WinXP bekomme ich aber plötzlich von Putty diesen unten angeführten Dialog.Derzeit läuft EasyLFS malwieder in VMWare - Ein Test dazu steht erstmal aus, ob es am EasyLFS oder VMWare liegt *grübel*


----------



## Dennis Wronka (1. September 2007)

Ich denke es ist Zeit dass mal ein klein wenig mehr Aufmerksamkeit in Richtung meines kleinen Projektes gelenkt wird.
Wie macht man sowas? Natuerlich mit Marketing!
Und wo macht man sowas? Natuerlich da wo Leute zusammenkommen die sich mit Computern beschaeftigen!
Da ich ja am Montag auf der Symantec Security Insights Live bin und dort eh Visitenkarten brauche dachte ich waeren diese ein Weg schonmal den Begriff EasyLFS etwas in Umlauf zu bringen.
Das ist aber noch nicht alles, denn zusaetzlich habe ich mir ein 10er-Pack Lightscribe-CDs gekauft, welche ich mit der aktuellen Beta (0.3.6) bestuecken werde und ein nettes kleines Label draufbrennen werde. Sieht doch wesentlich besser aus als mit Edding selbst beschriftet. Vor allem bei meiner Handschrift. 
Ich werde also versuchen am Montag ein paar Kontakte zu knuepfen und vielleicht ein paar Leuten meine Karte, und eventuell sogar eine CD in die Hand zu druecken.


----------



## andy72 (1. September 2007)

Moin,moin ...

habe nun den Fehler eingrenzen können, esliegt mal wieder an VMWare und dem "zu neuen" Kernel 2.6.20.x. Nach einem Downgrade auf Kernel 2.6.19 läuft nun alles wieder - warum VMWare damit nicht klarkommt ist nun offensichtlich: Neuere Kernel-Versionen als 2.6.19.x haben die Struktur derNetzwerktreiber geändert ( ersichtlich an der Fehlermeldung beim kompilieren des vmxnet-Treibers:

```
Error in vmxnet.c: CHECKSUM_HW undefined Symbol...
```
Ein patchen der Datei von CHECKSUM_HW nach CHECKSUM_PARTIAL bereinigte zwar den Compiler-Error, auch der Treiber läuft scheinbar, da das Netzwerk damit auch im LAN/WAN funktioniert, jedoch kann man auf die Maschine trotzdem nicht fehlerlos zugreifen. Beim Netzwerkzugriff kommen dann scheinbar zerstörte TCP-Pakete an, das erklärt den Decrypt-Error in Putty (SSH) und auch FTP brauchte 1 Stunde, um eine 4kB Datei zu übertragen (Ja, ich habs wirklich getestet  )

LG
Andy


----------



## rabenkind (3. September 2007)

Hallo zusammen,

ich arbeite seit einigen Jahren mit LFS als Leitfaden und setze auch meist die aktuellste Software ein die es so gibt und nicht die im Buch vorhandenen Versionen.

Ich bin im Moment sehr an Deiner Umsetzung der initramfs interessiert. Da gibt es ja viele Möglickeiten und die von Dir angesprochenen gefallen mir sehr gut. dm-crypt auf LVM und raid.

Gibt es auch einen Link zu Deiner aktuellen Version von EasyLFS? Habe gerade nichts gefunden, muss aber auch zugeben das ich wenig Lust habe den gesamten Thread hier durchzulesen. ;-) Werde ihn aber ab heute aufmerksam verfolgen.

Sobald ich die Software habe werde ich gerne als Tester helfen. LFS von Hand zu bauen ist mir aus Zeitgründen in Zukunft leider nicht mehr möglich da wir gerade unser zweites Kind bekommen haben, aber aus genau diesem Gund finde ich Deine Idee sehr gut und unterstützenswert. LFS ist nämlich mit Abstand das beste was es so gibt wenn man ein stabiles und schnelles System für einen Poweruser haben möchte.

Grüße Michael )


----------



## Dennis Wronka (3. September 2007)

Die aktuell stabile Version ist EasyLFS 0.3. Diese, und Informationen dazu, findest Du im EasyLFS Wiki, oder in englischer Sprache auf im Forum meiner Website.
Diese Version nutzt aber InitRamFs noch nicht und daher auch nicht das Booten von verschluesselten Partitionen, RAID oder LVM. Dies ist erst in der kommenden Version, 0.4, enthalten. Zur Zeit bin ich bei 0.3.6, die Installation und der Betrieb einer verschluesselten Partition funktioniert bereits problemlos. Auch ein manuell eingerichtetes logisches Volume kann genutzt werden. RAID ist bislang ungetestet und im InitRamFs auch nicht script-technisch unterstuetzt.
Daran, und an einer brauchbaren SELinux-Policy muss ich bis zum Release der 0.4 noch arbeiten.
Ob die RAID-Unterstuetzung ueber Software-RAID hinausgehen wird kann ich aber noch nicht sagen. Ich hab zwar SATA-RAID onboard, aber keine entsprechenden Platten, kann also nicht damit rumtesten.

Zur Zeit verbringe ich aber etwas Zeit damit zu testen ob ich nicht auch eine 64-Bit-Version des Systems bauen kann, was aber bislang mit einem SegFault beim 2. Durchgang der BinUtils scheitert.


----------



## andy72 (3. September 2007)

Wenn Du die SW haben möchtest, klick doch mal auf Dennis' Link "EasyLFS Wiki", dort hast Du unter Download auch die aktuelle Version 0.3.

Solltest Du EasyLFS in VMWare testen/nutzen wollen, nimm besser mind. die Version der WS 5.5.3, da es siehe obigem Anhang unter 5.5.0 Probleme mit dem Netzwerk gibt 

LG
Andy


----------



## Dennis Wronka (3. September 2007)

Und bei Bedarf kann ich gern auch mal das Image der aktuellen Beta zur Verfuegung stellen. SELinux sollte man da aber noch nicht nutzen da dort noch eine nackte Reference-Policy ausgeliefert wird. Und da nach dem Labeln der Files SELinux auf Enforcing gestellt wird schliesst man sich dadurch vollstaendig aus dem System aus. Oder besser gesagt, es kann dadurch nichtmal zu Ende booten.

Ansonsten ist das System aber durchaus nutzbar, bietet ein paar coole, neue Features gegenueber 0.3 und natuerlich neuere Versionen von fast allen Paketen, und auch ein paar neue Pakete.
Infos darueber, was aktualisiert oder hinzugefuegt wurde lassen sich auch im Wiki finden, genauso wie ein paar Infos zu den neuen Features.
Ersteres in Bereich "Entwicklung", letzteres im "Tagebuch".

Uebrigens, bei EasyLFS64 bin ich jetzt etwas weiter gekommen; durch eine Klasse Anpassung die ich im aktuellen LFS-Buch gefunden hab. 
Jetzt bricht aber TexInfo ab. Da werd ich mich dann aber morgen mit beschaeftigen.

Und auch in Sachen LILO muss ich noch was anpassen. Die Tage hab ich erfahren dass es bei XFS nicht moeglich ist den Bootloader in den Partitions-Bootrecord zu schreiben, da dies das Dateisystem zerstoert (wie unpraktisch). Dazu werd ich mir dann mal was einfallen lassen.


----------



## andy72 (3. September 2007)

Hm, was sagt denn Grub dazu ? Wenn's geht, dann integriere doch Grub jetzt schon, wolltest Du doch eh machen  *Lilo blöd find *


----------



## Dennis Wronka (3. September 2007)

Das ist kein Problem von Lilo, sondern ein "Problem" des Dateisystems.
XFS nutzt jeden Block der Partition, und laesst nicht, wie wohl die meisten anderen Dateisysteme, ein paar KB am Anfang frei zur Verwendung fuer Bootloader.

Ich denke die Loesung wird darin bestehen dem User die Wahl zu geben ob er in den MBR oder den Partitionsbootsektor schreiben will, oder aber garnicht. Wird eingestellt dass der Partitionsbootsektor genutzt werden soll und die Partition soll mit XFS formatiert werden so wird eine Meldung ausgegeben und nichts gemacht.
Ein Script zum Pruefen der Einstellungen hab ich schon fuer die Installation auf eine verschluesselte Partition eingefuehrt, da wird gemeckert wenn keine Partition fuer /boot angegeben wurde (ja, auch das ist jetzt moeglich  ). Dort koennte ich dann auch diese Pruefung mit einbauen.


----------



## rabenkind (3. September 2007)

Hallo, erstmal Danke für die umfassenden Antworten.

Das der Link in deiner Sig steht habe ich jetzt erst gesehen, naja Betriebsblind 



Dennis Wronka hat gesagt.:


> Und bei Bedarf kann ich gern auch mal das Image der aktuellen Beta zur Verfuegung stellen. SELinux sollte man da aber noch nicht nutzen da dort noch eine nackte Reference-Policy ausgeliefert wird. Und da nach dem Labeln der Files SELinux auf Enforcing gestellt wird schliesst man sich dadurch vollstaendig aus dem System aus. Oder besser gesagt, es kann dadurch nichtmal zu Ende booten.



Daran, an der aktuellen Beta, hätte ich schon Interesse. Version 0.3 ist ja doch schon ein wenig älter ;-) 
Trotzdem werde ich die 0.3 erstmal auf einer der Testpartitionen installieren und Dir über eventuelle Probleme oder eben den Erfolg berichten.

Grüße Michael )


----------



## andy72 (4. September 2007)

Kann wie weiter oben erwähnt nur sagen,dass die 0.3 sehr stabil läuft, wenn SELinux aktiviert ist, läuft auch das sehr sicher. Sofern Du weitere Sachen wie zB KDE installierst, musst Du beim kompilieren nur darauf achten, dass du den KDE-Libs mitteilst, dass SELinux und PAM verwendet werden soll, da Du dich sonst im X.org nicht anmelden kannst. Wenn KDE fertig ist, musst Du noch in /etc/pam.d gucken, ob das Config-File für KDE drin ist (bei mir gab es da keine Probleme,dass KDE das macht).
Gnome habe ich leider noch nicht getestet, da mir im Moment die Zeit fehlt, weiter zu entwickeln (Bin im EasyLFS für SELinux mit verantwortlich, da Dennis und ich das zusammen fabriziert haben  )

LG
Andy


----------



## Dennis Wronka (4. September 2007)

andy72 hat gesagt.:


> (Bin im EasyLFS für SELinux mit verantwortlich, da Dennis und ich das zusammen fabriziert haben  )


Richtig, Andy hat den Loewenanteil der Arbeit uebernommen SELinux ueberhaupt in EasyLFS einzubinden. Meine vorherige Implementation war nicht nur falsch, sondern auch, eben durch die falsche Einbindung, vollkommen nutzlos da alles im Kernel-Kontext lief.

Mit EasyLFS64 geht es jetzt auch langsam vorwaerts. Stage1 scheint soweit gemeistert zu sein, dank ein paar kleinen Anpassungen die aber nichts an der Funktionalitaet der Scripts auf 32-Bit-Systemen aendern sollten. Morgen geht es heiter weiter, und ich hoffe bis zum Ende der Woche ein fertiges 64-Bit-EasyLFS zu haben. Schick waer es ja.


----------



## andy72 (4. September 2007)

Im Dezember könnte ich das dann auch testen, hab beschlossen, mir ein 64Bit System zu bauen (Brauch wie oben erwähnt eh eine neue CPU + MainBoard, da kommt EasyLFS64 gerade recht


----------



## Dennis Wronka (5. September 2007)

So, auf /dev/sda7 (bzw. hda7, je nachdem welchen Treiber ich nutze) liegt nun das erste lauffaehige 64-Bit EasyLFS.
Jetzt muss ich noch ein paar Kleinigkeiten an den Scripts anpassen, dann sollte die naechste Test-Installation auch ohne jegliche Unterstuetzung meinerseits laufen koennen.


----------



## andy72 (19. September 2007)

Erstmal Glückwunsch zu deinem lauffähigen 64Bit-System 

Habe eben auf Freshmeat.net gestöbert, und bin auf folgendes gestossen:
In Phyton hat sich jemand die Arbeit gemacht, und ein sehr gutes Script geschrieben, dass die Logfiles abscannt und so Einbruchsversuche erkennt, zB via SSH oder Postfix.
Funktionieren soll das ganze so, dass das Script wohl die Logs scannt, nach Loginversuchen nachsieht und bei mehrfachen fehlschlagen eines Logins dann die IP in der /etc/hosts.deny vermerkt oder via ipTables die IP sperren kann - somit ist der entfernte PC dann nicht mehr in der Lage, für einen wählbaren Zeitraum den Rechner nicht mehr anzugreifen.

Werde das heute od. morgen mal testen - im Sinne eines sicheren EasyLFS scheint mir das ganz brauchbar zu sein 

### EDIT
Hier der Link zur Homepage: http://www.aczoom.com/cms/blockhosts/

LG
Andy


----------



## Dennis Wronka (19. September 2007)

Danke, danke.

EasyLFS macht auch weiter Fortschritte.
Es gab ein paar Anpassungen fuer die 64-Bit-Version, die sind aber allesamt portabel und die Scripts koennen jetzt fuer beide Versionen genutzt werden.
Ansonsten gab es hier und da ein paar Aenderungen, und, was sehr erfreulich ist, es gibt neuen Webspace.
Da ist zwar noch nichts, aber bis zur Release von EasyLFS 0.4 wird das schon werden.
Dort werde ich dann wahrscheinlich auch genug Platz haben um das ISO fuer EasyLFS64 unterbringen zu koennen, sodass ich mit EasyLFS 0.4 dann wohl offiziell 2 Architekturen unterstuetzen kann. 
Speziell fuer die neue Seite programmier ich mir grad eine neue Seite, welche natuerlich schoen flexibel gehalten wird um das Ganze auch als allgemeines Projekt-Management-System nutzen zu koennen. Inwieweit ich dieses Ziel einhalten kann weiss ich noch nicht, als Distributions-Managament-System wird es aber auf jeden Fall herhalten koennen.
Dabei sollen dann auch mehrere Projekte moeglich sein, User koennen verschiedenen Projekten angehoeren und auch verschiedenen Gruppen, welche wiederum unterschiedliche Berechtigungen haben koennen.
Fuer den Content gibt es dabei nur eine Tabelle, wobei aber ueber den Content-Type die Ausgabe manipuliert werden kann da jeder Content-Type einem eigenen Template zugeordnet werden kann.

Was da noch bei rumkommt weiss ich noch nicht da ich erst heute mit der Arbeit daran begonnen habe.
Das System wird auf jeden Fall in Kuerze auch mal einen Blog-Eintrag gewidmet bekommen mit ein paar mehr Infos dazu.

Zusaetzlich habe ich heute die Dokumentation etwas vereinfacht, also im Sinne der Bearbeitung. Die Installations-Anleitung ist jetzt in KDissert verfasst, wodurch die Bearbeitung der einzelnen Abschnitte recht einfach wird.


----------



## Dennis Wronka (3. November 2007)

Ich brauchte mal einen neuen Thread da ich fuer ein aktuelles "Problem" eine Umfrage brauche.
Es geht darum wie EasyLFS in Zukunft an seine zig-millionen User verteilt werden soll.


----------



## Westbär (19. November 2007)

Huhu,
Wie wärs wenn man wie bei Gentoo eine Minimal-CD rausbringt die nur ein paar MegaByte groß ist und den ganzen Rest aus dem Internet holt?
Und könnte man nicht GRUB benutzen, das ist mir ehrlich gesagt viel lieber als LILO

Gruß


----------



## Dennis Wronka (20. November 2007)

Westbär hat gesagt.:


> Huhu,
> Wie wärs wenn man wie bei Gentoo eine Minimal-CD rausbringt die nur ein paar MegaByte groß ist und den ganzen Rest aus dem Internet holt?
> Und könnte man nicht GRUB benutzen, das ist mir ehrlich gesagt viel lieber als LILO
> 
> Gruß



Theoretisch ja, nur muesste ich dann auf der CD alle Moeglichkeiten der Internetverbindung beruecksichtigen und der User muesste dann auch die Moeglichkeit haben diese nutzen zu koennen.
Man kann ja nicht davon ausgehen dass jeder hinter einem Router sitzt.
Das wuerde also bedeuten dass die CD alle moeglichen Netzwerktreiber, inklusive PPP und ISDN braucht. Zudem noch Wireless, wo es dann das Problem gibt dass so einige Karten nur ueber NDISWrapper unterstuetzt werden, welcher nicht Teil von EasyLFS ist.

Eben das macht es etwas problematisch eine NetInstall-CD zu bauen. Und da die CD nun auch nicht so gross ist wie es bei anderen Distributionen der Fall ist, wie z.B. bei Debian, denke ich dass der einmalige Download doch besser ist als der Weg ueber eine Netzinstallation, wo doch eh (fast) alles runtergeladen werden muss (im Gegensatz zu groesseren Distros, wie eben Debian  ).

Ich hab zur Zeit nur LILO drin da ich zum einen LILO immer Grub vorgezogen habe, und zum anderen da sich dieser einfacher automatisch konfigurieren laesst. Immerhin kann ich bei LILO ganz einfach mit /dev/... arbeiten, waehrend ich das fuer Grub irgendwie in hd(...,...) umsetzen muesste. 
Aber keine Sorge. Irgendwo auf dem Weg zur 1.0 wird auch Grub mit an Bord kommen sodass man dann auswaehlen kann was man will.


----------



## Dennis Wronka (17. Februar 2008)

So, es war ja nun eine Weile seit ich zuletzt hier gepostet hab.
EasyLFS 0.4 ist ja mittlerweile schon eine Weile verfuegbar und ich hab auch nichts in der Richtung getan.
Jetzt kommt mal was neues. Zur Zeit spiele ich mit Xen rum, und da hab ich mir ueberlegt ob ich EasyLFS nicht irgendwie "xenified" kriege.
Ich kompilier also grad den aktuellen Xen-Kernel von xen.org, 2.6.18-xen, und will dann mal schauen.

Waer ja mal interessant EasyLFS fuer Xen fertig zu machen.


----------



## Dennis Wronka (28. Juni 2008)

So, wie in meinem Blog gepostet geht es wieder heiter weiter.
Die Diskussionsrunde ist also wieder eroeffnet. Feature-Wuensche koennen gern vorgebracht werden, bevorzugt hier, denn dies ist nach wie vor der Thread zur Diskussion meines Projektes.


----------



## Sukrim (30. Juni 2008)

Nachdem ich beschlossen habe mir über die Sommerferien mal Unix oder Linux "anzutun" bin ich mal an der Idee von LFS, Gentoo und den FreeBSD Ports hängengeblieben Software aus dem Quellcode möglichst optimiert an die jeweilige Architektur, CPU etc. angepasst zu kompilieren.

Bei Gentoo und den FreeBSD-Ports steckt dann im Hintergrund ja quasi eine große "Bibliothek" an Quellcode und quasi kleinen Korrekturen + Inhaltsangaben der "Maintainer" damit man die Sachen möglichst schnell möglichst einfach und möglichst immer bei sich daheim dann auch durchkompilieren kann.

Wie schaut das dann mit LFS aus?

Wäre es z.B. möglich sowas wie einen Minipaketmanager zu haben, der sich in den Repositories der 50(?) Programme die ich dann auch nutze alle neuen Versionen auscheckt (für ein Bleeding Edge System) und versucht zu kompilieren? Ich nehme mal an, dafür könnte/müsste man ein größeres Shellscript schreiben das dann eben mit SVN, GIT und CVS zurechtkommt - oder gibt's da schon was von Ratioph... irgendnem GPL-Jünger?


----------



## Laudian (1. Juli 2008)

Im Normalfall arbeitet LFS ganz ohne Paketierung etc ... dadurch dass wirklich alles aus Stage 1 heraus kompiliert wird und LFS als solches ja eigentlich nur eine Anleitung zum Aufbau eines komplett selbst kompilierten Systems darstellt. LFS ist da nur ein weg, der eine recht ordentliche Gemeinde hat. 

EasyLFS beinhaltet ind em Sinne Scripte, die das LFS-Format automatisieren, am Ende ebenfalls ein rudimentaeres, arbeitsfaehiges System bereitstellen.

In wie weit da Paketierungssoftware sinn macht weiss ich nicht ... mich stoert die apt und rpm-Geschichte oft mehr als dass sie hilft, da sie auf aehnliche Systeme zum Teil eklatant schlecht portierbar ist (Anpassungen fuer bestimmte Distries der Pakete etc).

Ich hab mich jetzt auf Slack eingeschossen, in dem sinne auch keine Paketsoftware, aber alles schoen uebersichtlich gestaltet und vor allem selbststaendig anpassbar ...


----------



## Sukrim (1. Juli 2008)

Das ist mir schon klar, nur fände ich es interessant immer mal die aktuellen Versionen der Programme, die ich nutze auf der Platte zu haben - und das möglichst automatisch.

Wenn ich mich schon in ein anderes Betriebssystem reinfuxe, dann möchte ich das auch verwenden können und nicht nach einem "rudimentären System" aufhören, ein paar Pakete draufklatschen und alle paar Monate dann zig Websites abklappern um zu sehen, ob nicht eines der verwendeten Programme dank offenem Quellcode schon eine fesche Sicherheitslücke aufweist auf die man maßgeschneiderte Exploits loslassen kann. Lieber hätte ich z.B. eine Liste mit den Sourceforge/whatever Quellcodeseiten und das System kompiliert sich dann automatisch neue Versionen, wechselt auf diese und löscht die vorletzte. Wenn die aktuelle nicht funktioniert, geht man auf die Vorgängerversion und schreibt den Entwickler an, was beim Kompilieren schiefgelaufen ist - so profitiert jeder davon.

Ob das mit Linux derzeit möglich ist - keine Ahnung, aber vielleicht wäre das was für (easy)LFS - immerhin ist das ja quasi DIE "Distribution" um Quellcode in Massen zu verarbeiten und möglichst alles anpassbar etc. zu haben.


----------



## Dennis Wronka (2. Juli 2008)

Sukrim hat gesagt.:


> Ob das mit Linux derzeit möglich ist - keine Ahnung, aber vielleicht wäre das was für (easy)LFS - immerhin ist das ja quasi DIE "Distribution" um Quellcode in Massen zu verarbeiten und möglichst alles anpassbar etc. zu haben.


Naja, EasyLFS sicher zu halten ist die Aufgabe des Nutzers, und somit recht aufwaendig, da dieser eben selbst nach Advisories, Patches und Paketen schauen muss, und nicht ueber ein Update-Tool mit neuem Kram versorgt wird wie es z.B. bei Fedora, Debian, etc. der Fall ist.

EasyLFS hat zwar "easy" im Namen, das heisst aber nicht dass es ein System fuer jedermann ist, sondern eben eher ein System das die Installation von Linux from Scratch vereinfacht, und LFS ist nunmal ein System was eher fuer Bastler ausgelegt ist.
(Easy)LFS kann Dir ein schickes System bieten, dafuer musst Du aber auch gewillt sein mit der Mehrarbeit zu leben.

EasyLFS enthaelt uebrigens Dpkg und RPM, welche optional installiert werden koennen. Beide kommen aber mit einer leeren Paketdatenbank daher.


----------



## Laudian (6. Oktober 2008)

So, ich heb diesen Thread mal wieder aus der Traufe. 

Bin grad ueber ein nettes Projekt gestolpert, welches eine Grafische Oberflaeche nur auf gtk+ und den Framebuffer aufsetzt. Nennt sich Xfast 0.9 und wuerde das Arbeiten evtl erleichtern, ohne gleich den sperrigen X-Server mit dem ganzen restlichen Krempel mit zu bringen.

Ich versuchd as grad auf nem normalen Debian 5 zum Laufen zu bringen, muss das einfach mal testen. Waere vllt mal nen Blick wert fuer easyLFS 

xfast.wiki.sourceforge.net


----------



## Webstar (9. Oktober 2008)

Bezüglich der Aktualität diverser Software in einem LFS-System, hab ich mir seit langem,
ein umfangreiches Repertoire an sogenannten Buildscripten erstellt.
Beispiel sind in den Anhängen zu finden.

Ich brauch somit nur die Version zu ändern, Patches entfernen/hinzufügen bzw. notwendige Korrekturen durchführen.

Der/die Download,Konfiguration,Build,Deinstallation,Installation erfolgt dann automatisch beim Aufruf des Buildscriptes.

Schönen Tag noch, man liest sich. 
Euer Jens Ornot alias Webstar


----------



## Dennis Wronka (8. Januar 2009)

So, es sind ein paar Monate untaetig in's Land gezogen, was an einem Hardware-Problem meinerseits lag, aber nun geht es eifrig weiter.

Wie ueblich wurden viele Pakete aktualisiert und meine CPU hat fleissig kompiliert, oft die 32- und die 64-Bit Versionen parallel. Mit meinem neuen Speicher kann ich das ja machen. 

Es gab einige Probleme hier und da, aber der groesste Teil davon ist ausgeraeumt.

Im Moment arbeite ich daran die Scripts so umzustricken dass die Libraries der 64-Bit Version alle in die lib64-Verzeichnisse installiert werden damit ich mir die Links von den lib-Verzeichnissen auf die lib64-Verzeichnisse sparen kann.

Dadurch will ich zum einen ein saubereres System erstellen, zum anderen denke ich darueber nach der 64-Bit Version die Moeglichkeit zu geben dass man die GLibC auch in 32-Bit installieren kann und somit ein System bekommt welches sowohl 32- als auch 64-Bit Binaries erstellen kann.


----------



## andy72 (8. Januar 2009)

Hi,

schön mal wieder was von LFS zu hören.
Habe zwar im moment keine Möglichkeit weiter mitzuwirken da mir aus berufl. Gründen
die Zeit fehlt, aber testen werde ich das ganze bald mal wieder - immerhin steckt da ja
nun genug Arbeit drin die es auch Wert ist belohnt zu werden 

@Dennis hoffe Dir geht es gut !

LG
Andy


----------



## Dennis Wronka (9. Januar 2009)

andy72 hat gesagt.:


> @Dennis hoffe Dir geht es gut !


Natuerlich geht es mir gut.
Du weisst doch: Schlechten Menschen geht es immer gut. 
Und ich bin ja nun seit 9 Monaten Papa, da kann es einem doch nur gut gehen. 

Ja, an EasyLFS hat sich in der Zwischenzeit einiges getan. Auch der SELinux-Support hat sich weiter gebessert und mit der naechsten Version will ich eine richtig gute Policy liefern.
Dafuer hab ich mich auch auf der SELinux-Mailing-Liste eingeschrieben um von dort Hilfe und Informationen bekommen zu koennen.

Grad jetzt kompilieren meine beiden EasyLFS-VMs wieder fleissig vor sich her. Durch den Wechsel auf GCC4 (GCC3 gibt es jetzt nicht mehr in EasyLFS) dauert die Installation aber gleich ein wenig laenger. Dafuer erhoffe ich mir verschiedene Verbesserungen durch die neuen Features die GCC4 bietet.


----------



## Dennis Wronka (23. Januar 2009)

So, wieder mal ein Update.

Ich hab mittlerweile die aktuelle Test-Version in KVM installiert bekommen und darin diese auch nochmal gebaut. Die aktuelle Version von EasyLFS ist also in der Lage sich selbst zu kompilieren. Zuvor hab ich ja mit einer etwas getunten 0.4 kompiliert.
Im Anschluss an diese beiden Durchgaenge hab ich die Live-Scripts bearbeitet und auch an ein paar anderen Scripts fuer meine LiveCD geschraubt sodass nun auch dieser Teil mehr oder weniger abgeschlossen ist.

Was mir aufgefallen ist ist dass die Nutzung von SMP die Installation nicht gross beeinflusst. Grund scheint zu sein dass make sequentiell arbeitet.
Um die Installation auf SMP-Systemen zu beschleunigen bin ich nun dabei alle Aufrufe von make durch Aufrufe von make -j, gefolgt von der Anzahl an CPUs/Kernen im System, zu ersetzen.
Das sollte beim kompilieren helfen wenn man mehrere CPUs/Kerne hat.

Zudem wird die naechste Version auch keine 2 Kernel mehr beim Booten bieten. Die Auswahl SMP/Nicht-SMP erspare ich dem User indem ich einfach einen SMP-faehigen Kernel auf die CD packe.
Das macht es mir auch etwas leichter bei der Erstellung der LiveCD.


----------



## Laudian (20. April 2009)

So, mal wieder ausbuddeln und nachfragen, ob sich was neues tut


----------



## Dennis Wronka (20. April 2009)

Ja, es tut sich so einiges.
Ich berichte zwar in letzter Zeit "eher unregelmaessig", aber eingeschlafen ist das Projekt keineswegs.

Die aktuelle Test-Version ist 0.4.18.2 und laeuft soweit ganz gut.
Hier und da gibt es noch Arbeit, z.B. gibt es glaub ich noch ein paar Programme und Libraries die in der 64-Bit Version nach /lib, bzw. /usr/lib installieren obwohl eigentlich /lib64, bzw. /usr/lib64 genutzt werden sollte.

Ansonsten gibt es halt wieder einige Neuerungen.

Support fuer POSIX-Capabilities (die zum Teil auch bereits genutzt werden um das SUID-Bit zu ersetzen), ACLs und erweiterte Dateisystem-Attribute.
Die Moeglichkeit den ADA-Compiler der GCC zu installieren. Das war zuvor nicht moeglich da GNAT (der ADA-Compiler) selbst in ADA geschrieben ist und somit sich selbst benoetigt um kompiliert werden zu koennen.
Durch Aenderungen am Kernel der LiveCD kann das darauf befindliche System nun auch von USB-Sticks oder Speicherkarten gestartet werden.
Die LiveCD hat jetzt nur noch einen Kernel, nicht mehr einen mit und einen ohne SMP-Support. Jetzt gibt es eben nur noch den SMP-Kernel.
Es gibt jetzt endlich die Option zwischen LILO und GRUB zu waehlen. Aber bislang nur auf 32-Bit-Systemen, da GRUB auf 64-Bit nicht kompilieren will.
Migration auf LibATA. Aehnlich anderer aktueller Distributionen (z.B. Fedora) werden durch die Verwendung der neuen Treiber nun auch IDE-Festplatten als /dev/sd* angesprochen.

Ansonsten hab ich zur Zeit Probleme mit Ext3 und Ext4. Da muss ich mal pruefen warum denn ueberhaupt. Problem koennte eventuell der Kernel sein, oder aber fehlerhafter Speicher. Beides waere bloed. Den Kernel wieder auf 2.6.28.x runterzusetzen wuerde heissen dass ich einige Aenderungen am LiveCD-Prozedere rueckgaengig machen muesste (Kernel 2.6.29 hat da ein paar Sachen einfacher gemacht da SquashFS direkt integriert ist), Speicher pruefen ist langwierig und langweilig, aber wenigstens ist der noch recht neu und sollte somit einfach umtauschbar sein.
Persoenlich tendiere ich aber zum Kernel-Problem, da es doch ein sehr komischer Zufall waere dass mein Speicher genau dann den Geist aufgeben soll wenn EasyLFS auf Kernel 2.6.29 umsteigt.

Werde mal testen, heute Nacht mal MemCheck laufen lassen, und dann mal schauen was ich mach.

Ja, ansonsten faellt mir jetzt erstmal nichts ein, was aber nicht heisst dass das nun alles war.
Die aktuelle Version unterscheidet sich ordentlich von 0.4, wenngleich so einige Aenderungen fuer den User erstmal weniger sichtbar sind.


----------



## andy72 (20. April 2009)

Das sind ja mal paar nette Fakten 

Freut mich, dass es das Projekt noch gibt - leider muss ich zugeben, dass ich meinen Support für
SELinux unter EasyLFS nicht mehr habe, da ich zeitlich vom Projekt wohl schon zu weit weg bin
und nicht hinterher war um die Änderungen zu übernehmen 

Werde mir aber demnächst wieder mal eine Version EasyLFS besorgen und mal wieder bissi
rumspielen - immerhin hat sich während meiner doch recht langen Pause etwas getan, inzw.
bin ich vom Windows zu 90% weg - nutze es nur noch auf Arbeit und am heimischen PC um mal
paar Windows-Programme zu nutzen.

Habe nun auch ein neues Notebook, mit dem ich unter Linux Ubuntu 9.04 wesentlich zufriendener
bin als mit bisher jeder Windows-Installation, weshalb ich also doch recht gut mit den neuen
Linux-Errungenschaften vertraut bin und hier und da auch mal was testen kann - und das auch
unter 64Bit, das sollte Dennis doch etwas Freude ins Gesicht zaubern 

Meld Dich mal per PM wenn Du noch Hilfe brauchst @Dennis 

Lg
Euer Andy


----------



## Laudian (20. April 2009)

Das klingt nach ner Menge Arbeit und ner Menge neuer Features 

Hab hier mal wieder angefragt, weil ich selbst langsam aber sicher ein etwas komplexeres Projekt angehen werde. Ein noch kleineres Linux-System zu kompilieren, dass auf GCC 3.4.6, aktuellen Binutils, uClibc , aktuellem Kernel in abgespekter Version und Dash aufbauen soll ... Pflichtveranstaltung wird LCAP (also die netten Capabilities), Dateisystem steht noch nicht fest, rsync als Standard, eine ganz abgefahrene Testgeschichte um die Grafik einzubauen ... kein X-Server, sondern ein Lighttpd, ein SQLite und dann ein auf dem Framebuffer im Vollbild laufender Browser, der eine PhP Oberflaeche nutzen soll. Das Spart mir die gtk-Bibs, die qt-Bibs ... etc ... und es lassen swich genauso Fenster bauen, wie man sie aus der C-Programmierung kennt 

Alles ist bisher nur eine Vision, bzw ich bin dabei, die Toolchain fuer GCC 3.4.6 auf uClibc zu bauen, was noch etwas Probleme macht ... 

Ich bin gespannt, was daraus werden kann  

Hintergrund des Ganzen, ein System mit aktueller Funktionalitaet, oder aehnlichem bsw auf nen IBM 600X zu bekommen


----------



## Dennis Wronka (20. April 2009)

@Andy: Wenngleich Du keine Zeit mehr hattest weiter an SELinux zu feilen ist die Policy dennoch nicht stehen geblieben sondern wurde auch fleissig bearbeitet. In der naechsten Version von EasyLFS plane ich eine Modulare Policy mit MLS zu haben.

@Laudian: Das hoert sich wirklich interessant an. Zu uCLibC und GCC wuerde ich mal rumforschen wegen moeglicherweise verfuegbaren Patches. Da wird es sicher was geben.
Die Entscheidung fuer GCC3 ist wahrscheinlich aus Platzgruenden gefallen, oder? GCC4 ist ja schon ein wenig groesser als GCC3.
Dein Projekt hoert sich auf jeden Fall recht interessant an.
Ich weiss nicht mehr wer's mal hier erwaehnt hat (und bin zu faul jetzt durch den Thread zu wuehlen um zu suchen), aber moeglicherweise waere fuer Dein Projekt xfast interessant.

Uebrigens: Ich wurde vor Kurzem angemailt bezueglich EasyLFS. Inhalt der Mail war ein recht interessantes Angebot.
Zum einen wollte der Absender sich anbieten am Projekt mitzuarbeiten, zum anderen hat er Server, Domain, ... angeboten. easylfs.org hoert sich doch schon nett an. 

Ausserdem wuerde ich das Projekt doch gern irgendwie der Community gegenueber oeffnen, nur sieht es ja so aus dass das wohl nicht ueber die grossen Projektplatformen wie z.B. Sourceforge passieren wird, da denen ja bei meinem ersten Versuch EasyLFS dort zu registrieren das Projekt zu gross war.

Ich hab bislang nicht viel Zeit gehabt die Sache zu ueberdenken, werde das aber auf jeden Fall mal bald in Angriff nehmen.
Ich wuerde EasyLFS auf jeden Fall gern zu einem Community-Projekt machen, aber ganz unvorbereitet soll das nicht passieren.
Naja, wie gesagt, ich werde mir dazu mal Gedanken machen und dann dazu was posten.


----------



## Laudian (21. April 2009)

ja, Gcc3 hoch ist ein Kompromiss. Hab hier Ende Maerz einen der Debianer aus Muenchen getroffen und mit dem ueber Sicherheit (Securityprofi im Informatikbereich) und damit auch ueber grundlegende OS-Dinge geredet. Seine Meinung war, koennte er GCC 1.4 weiter verwenden, wuerde er das tun ... leider ist das mit aktueller Software nicht mehr durchfuehrbar. Kompiler vor 2.95.1 erfordern erhebliches Umprogrammieren jedes einzelnen Paketes, da selbst die Binutils ab 2.95.1 unterstuetzen ... mit dem 3.0.4 (rund 10MB Download-Volumen) hatte ich arge Probleme, mit der 3.4.6 (18-19MB Download) komm ich ganz gut zurecht. Haette ja ganz gerne eine 3.0.x Version genutzt, aber der Aufwand ist mir zumindest im Moment noch zu gross.

Was die uClibc angeht, es gibt bei CLFS mehrere Projekte die darauf setzen ... das offizielle nutzt allerdings zusaetzlich Busybox und das ist mir dann zu festgelegt ... will die Grundsoftware sowie die Cross-Toolchain selber bestimmen koennen, genauso wie die verwendete Shell ... 

XFast muss ich mir erst anschaun. Aber auch da hatte die Webserver-Variante einen Hintergedanken. Plane schon laenger an einem "normalen" Online-Desktop, also einer PhP-Oberflaeche die das regulaere Arbeiten auf einem entfernten PC ueber die normalen Webserver-Schnittstellen ermoeglicht. Habe mir also gedacht, der Plan kann auch local funktionieren, mit dem grossen Vorteil, dass zur Nutzung des heimischen PCs incl der regulaeren Oberflaeche weder VNC, VPN oder SSH genutzt werden muss, sondern ich nur die normalen Geschwindigkeitseinbussen durch Dateitransfer ueber Inet habe ... 
Da der gesamte Desktopbereich noch in Planung war und ist, und auch die Frage der Sicherheit noch nicht so ganz geklaert ist, waere das ein ziemliches Zukunftsprojekt. Was dabei auch noch zu klaeren ist, ist die Frage, welcher Browser genutzt werden kann ... oder ob auf einem Webengine alias Gecko oder einer anderen, die moeglichst keine weiteren Bibs benoetigt ein eigener Vollbildbrowser, der moeglichst nur Tabbingfunktion braucht geschrieben werden soll ... dieser Browser laeuft dann im Vollbild auf dem Framebuffer, wers dreist will, kann den Browser auch so einrichten, dass 2, oder 4 oder 9 auf einen Framebuffer gehen und somit entsprechend mehr "Desktops" parallel nutzen 
Ganz nebenher existiert dann kein Treiberhungriger X-Server, der mich seit dem er massgeblich nur noch ueber Xrandr konfiguriert wird abgrundtief ankotzt, es wird kein weiterer Treiber als ein VesaFB benoetigt, was enorm Ram spart ... etc pp ...  Haette eigentlich nur Vorteile ... nur muss das Sicherheitsproblem geloesst werden und vermutlich ein etwas speziellerer Webbrowser ... der wenn alles optimal laeuft rekursiv nutzbar ist, also sich selbst darstellen kann ueber die PhP-Oberflaeche ... 

Noch ist das alles Zukunftsmusik und wirklich eher ein Gedankengespinst ... es war vor einer Woche mehr ein Spass, aus dem ich die Desktopvariante mal ausprobieren wollte 

Ich spamme grad irgendwie hier deinen Thread voll, dass weis ich, aber es passte grad dazu ... mal gucken, wenn sich das erhaerten sollte, werd ich mal Featureliste etc zusammen tragen und hier nen eigenen Projektthread basteln.


----------



## andy72 (21. April 2009)

Deine Idee klingt ja Grundsätzlich gut, jedoch habe ich bezüglich der Weboberfläche als Desktop etwas bedenken:

PHP erlaubt ja eine ganze Menge, angefangen von "einfachen" Dateimanipulationen bis hin zu
kompletten Strukturen (sieht man ja am ganzen Web 2.0-Gehabe) - aber um den Web-Desktop
möglichst schnell darzustellen (d.h. zB wenn ich ein Fenster via Div-Element darstelle und ziehen
will) wird es im Framebuffer arge Einbußen geben, denn ein Framebuffer ist eben kein beschleunigter
Desktop sondern eben nur ein Puffer - ein Klumpen RAM in dem sich alles abspielt.
Rein von der Performance her hege ich da Zweifel 

Aber viellt. kann man ja im Framebuffer mehr machen als ich vermute - eine wirkliche Ahnung
habe ich davon von Programmiererseite nicht 

Lg


----------



## Dennis Wronka (21. April 2009)

Meine Idee bezueglich xfast war auch eigentlich weniger diesen als vollwertigen Ersatz fuer eine grafische Oberflaeche zu nutzen sodass der User dort arbeiten kann, sondern eben rein als Platform fuer den Browser. Somit koenntest Du einfach Firefox einsetzen.

Obwohl, hab grad mal fix gegoogelt und es scheint dass GTK+ mittlerweile auch auf dem Framebuffer arbeiten kann, ohne X. Somit ist es dann wohl auch moeglich Firefox im Framebuffer laufen zu lassen.

Uebrigens, keine Panik wegen dem Thread-Hijacking. Ist schon in Ordnung.


----------



## Dennis Wronka (21. April 2009)

So, hab jetzt mal was rumgetestet.

Mein Speicher scheint okay zu sein, wie eigentlich erwartet. Zudem hab ich mal einen Build in QEmu (ohne KQEmu oder KVM) gestartet und auch dort ist das Problem aufgetreten, also auch kein KVM-spezifisches Problem.
Das Problem scheint auch unabhaengig von der Bit-Zahl des OS und vom der VM zugewiesenen Speicher zu sein (hab es mit 512MB und 1GB probiert, was zuvor wunderbar geklappt hat).

Im Moment tippe ich also auf ein Kernel-Problem in Zusammenhang mit ext3 und ext4. ext2 funktioniert, und gerade jetzt laeuft ein Test-Build mit JFS, da ich testen will ob auch andere Journaling Filesystems (zusaetzlich zu den genannten werde ich wahrscheinlich auch noch die anderen beiden in meiner Liste, ReiserFS und XFS, testen), und da sieht es bislang noch ganz gut aus. Aber mal abwarten.
Wie gesagt, ext2 ist okay.

Naja, ich werde mal weitertesten. Eventuell nochmal den 2.6.28er Kernel ausgraben und damit testen und dann mal schauen wie's weitergeht.


----------



## Dennis Wronka (19. Mai 2009)

So, nach einem Monat Arbeit mal wieder ein Update. Sehr viel hat sich in der Zeit nicht getan. Ich hab hauptsaechlich rumgetestet was denn nun mit ext3 und ext4 los ist.
Die anderen Dateisysteme sind in Ordnung, ReiserFS hab ich zwar nicht getestet, dafuer aber ext2, XFS und JFS, welche alle wunderbar arbeiten.
Ist nur dumm dass ext3 zur Zeit Standard ist und ext4 diese Position in absehbarer Zeit eigentlich einnehmen soll.

Zum Problem an sich hab ich ja bereits was gepostet:



Dennis Wronka hat gesagt.:


> Ansonsten hab ich zur Zeit Probleme mit Ext3 und Ext4. Da muss ich mal pruefen warum denn ueberhaupt. Problem koennte eventuell der Kernel sein, oder aber fehlerhafter Speicher. Beides waere bloed. Den Kernel wieder auf 2.6.28.x runterzusetzen wuerde heissen dass ich einige Aenderungen am LiveCD-Prozedere rueckgaengig machen muesste (Kernel 2.6.29 hat da ein paar Sachen einfacher gemacht da SquashFS direkt integriert ist), Speicher pruefen ist langwierig und langweilig, aber wenigstens ist der noch recht neu und sollte somit einfach umtauschbar sein.





Dennis Wronka hat gesagt.:


> So, hab jetzt mal was rumgetestet.
> 
> Mein Speicher scheint okay zu sein, wie eigentlich erwartet. Zudem hab ich mal einen Build in QEmu (ohne KQEmu oder KVM) gestartet und auch dort ist das Problem aufgetreten, also auch kein KVM-spezifisches Problem.
> Das Problem scheint auch unabhaengig von der Bit-Zahl des OS und vom der VM zugewiesenen Speicher zu sein (hab es mit 512MB und 1GB probiert, was zuvor wunderbar geklappt hat).



Nun ja, eine Loesung gibt es bislang nicht.
Ein Problem ist dass ich mittlerweile GLibC in Abhaengigkeit mit dem laufenden Kernel kompiliere um moeglichst die aktuellsten Features nutzen zu koennen. Das verhindert natuerlich dass ich mal eben einen aelteren Kernel ausprobieren kann. Das ist natuerlich kein unloesbares Problem, dennoch hab ich diesen Test erstmal aufgeschoben, da es ja auch noch andere Baustellen und andere Moeglichkeiten gibt.

Zur Zeit teste ich einen Build mit dem alten Scheduler (SLAB). Moeglicherweise hilft es ja diesen zu nutzen anstelle des neuen (SLUB).
Mal schauen was dabei rauskommt.
Als naechste Moeglichkeit gaebe es dann noch wieder den alten IDE-Treiber zu nutzen anstelle der neuen LibATA, obwohl ich doch eigentlich gern letztere nutzen wuerde.

Naja, es gibt halt noch einiges zu tun.

Ansonsten arbeite ich zur Zeit daran alle Scripts zu ueberarbeiten sodass make install (oder zusaetzliche/equivalente Aktionen) nur dann ausgefuehrt werden wenn der Code auch erfolgreich kompiliert wurde. Das sollte helfen Probleme zu vermeiden wenn mal ein wenig was schiefgeht. Stage 1 ist bereits fertig (aber noch ungetestet), Stage 2 kommt dann in den naechsten Tage, ist ja doch etwas groesser als Stage 1.

Auch das Update von GCC hat neue Probleme gebracht. Irgendwie kommt die Installation von GetText durcheinander, aber scheinbar nur auf 64-Bit...
Eine Loesung hab ich bereits gefunden, wuerde aber gerne darauf verzichten koennen. Muss mal weiter testen.

GLibC 2.9 hat sich beim kompilieren in eine Endlosschleife gehaengt. Aber nur beim 2. Durchgang (welcher nur noetig ist wenn SELinux installiert wird). Das Problem konnte geloest werden indem dieser Durchgang erst erfolgt nachdem GCC installiert wurde, das wiederum scheint aber wieder Probleme mit SELinux zu erzeugen, denn dies kann nicht geladen werden.
Naja, ich hoffe dass sich das mit der neuen Version der GLibC (aktuelle 2.10.1) gegessen ist.

Ja, was gibt's sonst? Bash 4.0, GDB, ...
Bei den POSIX-Capabilities gibt es auch ein Problem, denn es scheint als waere das PAM-Modul pam_cap, welches eigentlich einen User mit Capabilities ausstatten soll, vollkommen nutzlos. Zumindest funktioniert es bei mir nicht, und auch Fedora kann's scheinbar nicht besser.

Mein Rechner hat in letzter Zeit also so einiges zu tun. Da wird eifrig kompiliert. Oft in 2 VMs gleichzeitig.


----------



## Dennis Wronka (20. Mai 2009)

Dennis Wronka hat gesagt.:


> GLibC 2.9 hat sich beim kompilieren in eine Endlosschleife gehaengt. Aber nur beim 2. Durchgang (welcher nur noetig ist wenn SELinux installiert wird). Das Problem konnte geloest werden indem dieser Durchgang erst erfolgt nachdem GCC installiert wurde, das wiederum scheint aber wieder Probleme mit SELinux zu erzeugen, denn dies kann nicht geladen werden.
> Naja, ich hoffe dass sich das mit der neuen Version der GLibC (aktuelle 2.10.1) gegessen ist.


So, das Problem mit SELinux scheint gegessen zu sein. Problem war nicht GLibC, sondern meine eigene Ignoranz gegenueber der Kernel-Dokumentation... Mit Hilfe der SELinux-Mailingliste konnte aber dem Problem auf die Spur gekommen werden. Somit kann es jetzt heiter weiter gehen.

GLibC haengt sich zwar auch in Version 2.10.1 noch in eine Endlosschleife, aber da das SELinux-Problem nicht von der geaenderten Position von GLibC in der Kompilier-Reihenfolge herruehrt duerfte es wohl kein Problem sein GLibC mit SELinux-Support eben etwas spaeter zu installieren, eben nach GCC, wo es scheinbar keine Probleme mehr macht.

Ein kurzer Test mit SLAB und ext4 sieht bislang auch schonmal nicht schlecht aus. Moeglicherweise ist ja SLAB wirklich des Raetsels Loesung um endlich wieder in den Genuss von ext3 und ext4 zu kommen.
Aber ob das auch wirklich der Fall ist muss eben noch ein wenig getestet werden.

In den naechsten Tagen steht also der Test mit SLAB an, und es gibt scheinbar so einiges an der SELinux-Policy zu tun um diese in einen brauchbaren Zustand zu versetzen.

Und dann mal schauen was noch so zu tun ist.


----------



## Dennis Wronka (22. Mai 2009)

Okay, wieder ein Update, ein ganz kleines...

Wie erwaehnt hat sich das SELinux-Problem nun erledigt. Da ich aufgrund des neueren Kernels eh meine Kernel-Config anpassen muss werd ich die noetige Aenderung dort auch gleich aufnehmen.

Letzte Nacht hab ich eine minimale 32-Bit Installation durchgefuehrt. Gerade jetzt laeuft eine identische 64-Bit Installation.
Diese Systeme werde ich dann nutzen um neue LiveCDs mit der aktuellen Software zu bauen, dabei werde ich auch gleich den Test mit SLAB durchfuehren um zu sehen ob dann ext3 und ext4 funktionieren. Wenn das klappt wird SLAB auf den CDs zum Einsatz kommen und auch Teil der Kernel-Config werden.

Zusaetzlich hab ich etwas aufgeraeumt. Die Dateien fuer das InitRamFs habe ich zuvor in /initramfs gehabt, was doch etwas unschoen ist. Das Verzeichnis wurde nun nach /usr/src/initramfs verschoben.

An den Scripts wird auch fleissig gearbeitet. Stage 1 habe ich ja bereits abgeaendert sodass make install abhaengig vom Erfolg des Compiles durchgefuehrt wird, Stage 2 ist jetzt in Arbeit.
Ausserdem hab ich mein Hilfs-Script cp2initramfs angepasst, das Kopieren der fuer Programme noetigen Libraries funktioniert jetzt besser.

Zu guter Letzt sei noch erwaehnt dass ich, nachdem ich zuletzt schon GDB in die Liste der verfuegbaren Pakete aufgenommen habe, nun auch strace hinzugefuegt habe. Beide sind natuerlich optional.

Es gibt noch ein paar Baustellen, so kompiliert z.B. BlueZ zur Zeit nicht und DPkg hat auch ein kleines Problem, aber da werde ich mich in naeherer Zukunft drum kuemmern.


----------



## Dennis Wronka (24. Mai 2009)

So, ein 32-Bit Build mit SLAB und ext4 ist erfolgreich durchgelaufen. Entsprechend werde ich wohl nun von SLUB auf SLAB umstellen.
Heute kommt noch ein Test mit 64-Bit, aber ich bin zuversichtlich.

Das neue 32-Bit System wurde nun auch direkt in eine LiveCD verpackt sodass ich dann anschliessend testen kann das System von der CD auf ein ext4-Dateisystem zu installieren.

Waehrend des letzten Builds sind auch ein paar neue Probleme aufgetaucht, diese wurden behoben und in Patches gepackt sodass beim bei der Installation der entsprechenden Pakete (PartImage und cdrkit) keine Probleme auftreten.
Grund fuer die Fehler sind vermutlich in GCC (PartImage) und GLibC (cdrkit) zu finden. GCC wird ja gerne mal von Version zu Version etwas strikter in der Auslegung der Standards und GLibC hat scheinbar ein paar neue Funktionen die cdrkit zusaetzlich selbst implementiert.


----------



## Dennis Wronka (25. Mai 2009)

So, nochmal ein kurzes Update.

Vorhin hab ich mal wieder die Pakete aktualisiert, insgesamt 39, darunter der Kernel, GLib, HAL, die CoreUtils und einige andere.

Zur Zeit gibt es folgende Baustellen:

Test ob alle Pakete kompilieren:
Falls Pakete noch Probleme haben muessen diese natuerlich, entweder in den Installationsscripts oder per Patch behoben werden.
Test ob nach dem Wechsel vom SLUB- zum SLAB-Allocator nun auch ext3 und ext4 wieder funktionieren:
Ein Test mit einer neuen LiveCD mit SLUB brachte den alten Fehler. Grad jetzt laeuft ein Test mit einer LiveCD mit SLAB. Ergebnis gibt's morgen.
Test ob alle Libraries richtig abgelegt werden:
Dies betrifft nur die 64-Bit Version. Libraries sollen dort nicht in /lib und /usr/lib sondern /lib64 und /usr/lib64 abgelegt werden. Ausnahmen sind zur Zeit noch ein paar Pakete die in /usr/lib Unterverzeichnisse anlegen und dort eigenen Kram verwalten, z.B. Python und Perl.
Kernel-Config:
Die aktuell bei der Installation eingesetzte Kernel-Config ist noch vom Kernel 2.6.28. Diese muss aktualisiert werden um vernuenftig mit dem aktuellen Kernel mitzuspielen, vor allem in Hinblick auf das InitRamFs welches ich zuletzt verschoben hab.
Test von GCC mit Stack-Protection:
Die Moeglichkeit Stack-Protection zu aktivieren ist bereits gegeben. Dabei wird zum einen das gesamte System mit Stack-Protection kompiliert, zum anderen ist diese auch im endgueltigen System standardmaessig aktiviert, sodass alle Software die im Anschluss kompiliert wird den gleichen Schutz erfaehrt.
Dies muss aber noch weiter getestet werden, vor allem der 2. Build der GLibC war da etwas heikel.
SELinux-Policy:
Die Reference-Policy muss erweitert werden damit EasyLFS arbeiten kann. Optimalerweise sollte die Policy soweit angepasst sein dass man waehrend der Arbeit im System nicht von SELinux behelligt wird.
LZMA-Kompression fuer SquashFS:
Da die letzten Versionen von EasyLFS alle ueber LZMA-komprimierte Module verfuegten waren diese bedeutend kleiner als die aktuellen Images sind. Nach Moeglichkeit sollte auch die kommende Version LZMA nutzen um die CD-Images moeglichst klein zu halten. Dies haengt aber nicht unwesentlich davon ab ob der noetige Code in den Kernel einfliesst.
Konditionelles make install:
Wie bereits erwaehnt ist Stage 1 bereits abgeschlossen, Stage 2 ist in Arbeit. Da dies aber so einige Scripts sind dauert das natuerlich ein wenig.
Eine neue LiveCD fuer die 64-Bit-Version:
Fuer die 32-Bit-Version gibt es bereits eine neue LiveCD mit SLAB. Ein Image mit der selben Ausstattung wie in der 32-Bit-Version muss auch fuer die 64-Bit-Version erstellt werden.
Test ob LVM/Software-RAID und verschluesselte Partitionen funktionieren.

Aktuell arbeite ich an den Punkten 2 (fuer 32-Bit) und 8. Wenn 2 abgeschlossen ist folgen 1 (fuer 32-Bit) und 9, welches notwendig fuer die 64-Bit-Tests der Punkte 1 und 2 ist.
Danach werd ich dann weitersehen. Auf jeden Fall werd ich mit den genannten Punkten noch ein paar Tage beschaeftigt sein, oder eher mein PC.


----------



## Dennis Wronka (31. Mai 2009)

So, mal ein Update. Hier nochmal der Reihe nach die im vorigen Post angesprochenen Punkte, mit aktueller Status-Info.



> Test ob alle Pakete kompilieren:
> Falls Pakete noch Probleme haben muessen diese natuerlich, entweder in den Installationsscripts oder per Patch behoben werden.


Daran hab ich nicht direkt gearbeitet, aber ein paar kleine Fehler behoben die ein paar Pakete an der Installation hinderten.



> Test ob nach dem Wechsel vom SLUB- zum SLAB-Allocator nun auch ext3 und ext4 wieder funktionieren:
> Ein Test mit einer neuen LiveCD mit SLUB brachte den alten Fehler. Grad jetzt laeuft ein Test mit einer LiveCD mit SLAB. Ergebnis gibt's morgen.


SLAB macht keinen Unterschied. Das ist dumm, aber scheinbar nicht mehr so wichtig. Mittlerweile bin ich wieder bei SLUB und glaube den Fehler nun aufgespuert zu haben. Das Problem scheint zu sein dass ich in einem virtuellen System arbeite. Wenn ich nun dem Kernel Support als KVM-Gast einbaue funktioniert ext4 (und somit wahrscheinlich auch ext3).
Da ich nun eine Festplatte habe die ich nach belieben misshandeln kann werde ich wahrscheinlich mal das aktuelle ISO-File auf eine CD brennen und mal eine Installation auf einem echten System, meinem PC, durchfuehren. Da sollte es ja dann keine Probleme geben.
Nun stellt sich natuerlich die Frage ob die LiveCD Support als KVM-Gast haben sollte oder nicht...



> Test ob alle Libraries richtig abgelegt werden:
> Dies betrifft nur die 64-Bit Version. Libraries sollen dort nicht in /lib und /usr/lib sondern /lib64 und /usr/lib64 abgelegt werden. Ausnahmen sind zur Zeit noch ein paar Pakete die in /usr/lib Unterverzeichnisse anlegen und dort eigenen Kram verwalten, z.B. Python und Perl.


Da hab ich nicht dran gearbeitet, und ich erinnere mich nicht daran "zufaellig" was daran gemacht zu haben. Steht also noch aus.



> Kernel-Config:
> Die aktuell bei der Installation eingesetzte Kernel-Config ist noch vom Kernel 2.6.28. Diese muss aktualisiert werden um vernuenftig mit dem aktuellen Kernel mitzuspielen, vor allem in Hinblick auf das InitRamFs welches ich zuletzt verschoben hab.


Steht noch aus. Daran werd ich mich wohl machen wenn EasyLFS mehr oder weniger fertig ist, denn ansonsten muss ich das nur spaeter nochmal durchkauen, z.B. wenn Kernel 2.6.30 kommt bevor ich fertig bin (was wahrscheinlich ist).



> Test von GCC mit Stack-Protection:
> Die Moeglichkeit Stack-Protection zu aktivieren ist bereits gegeben. Dabei wird zum einen das gesamte System mit Stack-Protection kompiliert, zum anderen ist diese auch im endgueltigen System standardmaessig aktiviert, sodass alle Software die im Anschluss kompiliert wird den gleichen Schutz erfaehrt.
> Dies muss aber noch weiter getestet werden, vor allem der 2. Build der GLibC war da etwas heikel.


Auch hier hab ich nichts dran gemacht.



> SELinux-Policy:
> Die Reference-Policy muss erweitert werden damit EasyLFS arbeiten kann. Optimalerweise sollte die Policy soweit angepasst sein dass man waehrend der Arbeit im System nicht von SELinux behelligt wird.


Aehnlich wie die Kernel-Konfiguration ist die SELinux-Policy was fuer die spaete Phase der Arbeit an EasyLFS. Aendert sich die Software kann sich ja durchaus mal was an deren Anforderungen aendern, und somit eventuell auch an der Policy. Zudem koennte ja auch eine neue Reference-Policy kommen bevor ich fertig bin und ich muesste von Neuem beginnen.



> LZMA-Kompression fuer SquashFS:
> Da die letzten Versionen von EasyLFS alle ueber LZMA-komprimierte Module verfuegten waren diese bedeutend kleiner als die aktuellen Images sind. Nach Moeglichkeit sollte auch die kommende Version LZMA nutzen um die CD-Images moeglichst klein zu halten. Dies haengt aber nicht unwesentlich davon ab ob der noetige Code in den Kernel einfliesst.


Wie zuvor erwaehnt ist dieser Punkt schlichtweg davon abhaengig ob der LZMA-Code in den Kernel einfliesst. Sobald dies der Fall ist werde ich mich dransetzen.



> Konditionelles make install:
> Wie bereits erwaehnt ist Stage 1 bereits abgeschlossen, Stage 2 ist in Arbeit. Da dies aber so einige Scripts sind dauert das natuerlich ein wenig.


Stage 2 ist nun auch abgeschlossen. Der Punkt ist somit abgehakt.



> Eine neue LiveCD fuer die 64-Bit-Version:
> Fuer die 32-Bit-Version gibt es bereits eine neue LiveCD mit SLAB. Ein Image mit der selben Ausstattung wie in der 32-Bit-Version muss auch fuer die 64-Bit-Version erstellt werden.


Daran arbeite ich gerade. Oder besser gesagt: Mein PC kompiliert grad fleissig.



> Test ob LVM/Software-RAID und verschluesselte Partitionen funktionieren.


Spaeter...

Zusaetzlich sei noch erwaehnt dass zuletzt die Erstellung einer LiveCD fuer 64-Bit daran scheiterte dass es ein Problem bei der Installation gab.
Von CD (mit etwas aelterer Software) konnte ich das aktuelle System erfolgreich auf Platte installieren. Dieses System war dann aber nicht in der Lage sich selbst nochmal zu kompilieren, obwohl dieses Problem bei einem identischen 32-Bit-System nicht bestand.
Ich hab nun was gefunden und eine Kleinigkeit an der Installation von GCC (2. Durchlauf Stage 1) geaendert (nur fuer 64-Bit Installationen) und hoffe dass dies nun zum Erfolg fuehrt.

Hier also mal kurz die Liste der Punkte (abzueglich der erledigten), in der Reihenfolge die ich mir zur Zeit fuer die Abarbeitung vorstelle.

Eine neue LiveCD fuer die 64-Bit-Version
Test ob alle Pakete kompilieren
Test ob alle Libraries richtig abgelegt werden
Test von GCC mit Stack-Protection
Test ob LVM/Software-RAID und verschluesselte Partitionen funktionieren
Kernel-Config
SELinux-Policy
LZMA-Kompression fuer SquashFS

Okay, im Moment arbeite ich also an Punkt 1. Zeitgleich arbeite ich auch noch an einer neuen LiveCD fuer 32-Bit, da dies aber nur so nebenbei passiert verdient dies keinen eigenen Punkt. Noetig ist's eigentlich nicht, sondern laeuft hauptsaechlich als ext4-Test.

Anschliessend kommen Punkte 2 und 3, die koennen in einem Abwasch durchgefuehrt werden da ich sehen werde ob irgendwelche Libraries falsch abgelegt werden wenn ich alle verfuegbaren Pakete installiere.

Punkt 4 duerfte einige Durchlaeufe benoetigen. Mindestens 4, wenn alles glatt laeuft (fuer 32- und 64-Bit, jeweils mit und ohne SELinux).

Punkt 5 sollte mit 3 Tests getan sein, hier sollte es nicht noetig sein mit beiden Versionen von EasyLFS zu testen.

Wenn sich EasyLFS der Veroeffentlichung naehert, also wenn alles so funktioniert wie es soll werde ich wohl eine Art Freeze durchfuehren nach dem sich nichts mehr an den Paket-Versionen aendern sollte. Dann ist es Zeit sich um die Punkte 6 und 7 zu kuemmern.

Punkt 8 ist, wie gesagt, optional und davon abhaengig ob der Kernel diese Moeglichkeit bietet. Dieser Punkt steht zwar am Ende der Liste, duerfte aber an Prioritaet gewinnen sobald Support vorhanden ist.

So, das war es nun erstmal wieder in Sachen EasyLFS.
Es geht also heiter weiter und ich freu mich bald mal wieder eine Installation auf einem echten System durchfuehren zu koennen.
Die letzte, und bislang einzige, echte Installation war EasyLFS 0.1 auf einem 586er Notebook mit 64MB RAM und 4GB Festplatte. Prozessortakt hab ich vergessen, war aber glaub ich 133MHz. Auf jeden Fall hat das Ding *3 Tage* gebraucht um EasyLFS zu kompilieren.
Mein PC wird da sicher "ein wenig" schneller sein.

An dieser Stelle mal ein kleiner Aufruf zur Mithilfe. Ich braeuchte jemanden der ein FakeRAID (also z.B. ueber einen onboard-RAID-controller) im Einsatz hat, darauf aber noch unpartitionierten Platz (4GB reichen) hat.
Grund ist dass ich gerne mal testen wuerde ob die Installation darauf klappt (davon gehe ich aus) und ob EasyLFS anschliessend davon booten kann (was ich bislang nicht testen konnte).

Wenn jemand die noetigen Resourcen hat wuerde ich mich freuen wenn das jemand testen koennte.


----------



## Dennis Wronka (5. Juni 2009)

Dennis Wronka hat gesagt.:


> SLAB macht keinen Unterschied. Das ist dumm, aber scheinbar nicht mehr so wichtig. Mittlerweile bin ich wieder bei SLUB und glaube den Fehler nun aufgespuert zu haben. Das Problem scheint zu sein dass ich in einem virtuellen System arbeite. Wenn ich nun dem Kernel Support als KVM-Gast einbaue funktioniert ext4 (und somit wahrscheinlich auch ext3).
> Da ich nun eine Festplatte habe die ich nach belieben misshandeln kann werde ich wahrscheinlich mal das aktuelle ISO-File auf eine CD brennen und mal eine Installation auf einem echten System, meinem PC, durchfuehren. Da sollte es ja dann keine Probleme geben.
> Nun stellt sich natuerlich die Frage ob die LiveCD Support als KVM-Gast haben sollte oder nicht...


Ja, wer glaubt wird selig... Oder auch nicht. In meinem Fall wohl eher nicht, denn mein Glaube dass KVM Schuld ist war fehlgeleitet. Eine echte Test-Installation auf meinem PC hat das gleiche Problem gezeigt. Entsprechend vermute ich jetzt dass es irgendwie daran liegen dass muss ich von einer LiveCD baue, warum auch immer.
Zwei Moeglichkeiten hab ich mir heute angeschaut:

Eine LiveCD ohne die Linux-Live-Scripts. Ist moeglich, aber auch groesser. Der Groessenunterschied laesst sich aber mittels ZISOFS in Grenzen halten.
Erste Tests leiden noch daran dass das Filesystem readonly ist, aber das wird man sicher mit UnionFS umgehen koennen. Ausserdem muesste ich hier auch irgendwie selbst dafuer sorgen dass die CD waehrend dem Boot gefunden wird.
Die Linux-Live-Scripts von AUFS auf UnionFS umstricken. AUFS wird scheinbar nicht mehr gepflegt. Man hat scheinbar, da UnionFS vor der Aufnahme in den Kernel steht, das Handtuch geworfen.
Die Live-Scripts sind nun bereits umgestrickt und eine Test-CD kompiliert gerade vor sich hin. Der kritische Zeitpunkt ist auch schon nah, aktuell ist GLibC dran, bei ZLib, dem naechsten Paket, tritt der Fehler ueblicherweise auf.
Naja, mal schauen wie's weitergeht. Wenn nichts hilft werde ich erstmal wie gehabt mit meiner Liste weitermachen, dann eben fleissig auf ext2, oder moeglicherweise XFS oder JFS, die funktionieren ja...

Obwohl sich bereits eine unwerfende Anzahl an Usern (0) gemeldet haben bleibt auch der Aufruf weiter aktuell:


Dennis Wronka hat gesagt.:


> An dieser Stelle mal ein kleiner Aufruf zur Mithilfe. Ich braeuchte jemanden der ein FakeRAID (also z.B. ueber einen onboard-RAID-controller) im Einsatz hat, darauf aber noch unpartitionierten Platz (4GB reichen) hat.
> Grund ist dass ich gerne mal testen wuerde ob die Installation darauf klappt (davon gehe ich aus) und ob EasyLFS anschliessend davon booten kann (was ich bislang nicht testen konnte).
> 
> Wenn jemand die noetigen Resourcen hat wuerde ich mich freuen wenn das jemand testen koennte.



Edit: GLibC ist grad fertig geworden und auch ZLib wurde erfolgreich installiert ohne das System in die Ecke zu treten. Bislang sieht's also gut aus. Naja, mal abwarten ob alles durchlaeuft.


----------



## Dennis Wronka (17. Juni 2009)

Okay, es ist wieder Zeit fuer ein Update. Die Dateisysteme funktionieren nun alle, dank des Wechsels von AUFS zu UnionFS. Die LiveCD ist nun also wieder voll funktionstuechtig.

Hier wieder die zuvor erwaehnten Punkte mit Status:


Eine neue LiveCD fuer die 64-Bit-Version
Dieser Punkt ist erledigt. Sowohl fuer 32- als auch fuer 64-Bit hab ich aktuelle LiveCDs.


Test ob alle Pakete kompilieren
Dies ist nun ein paar Mal durchgelaufen. Alle Pakete kompilieren jetzt. Ist also erledigt.


Test ob alle Libraries richtig abgelegt werden
Daran arbeite ich gerade. Es werden leider noch nicht alle Libraries richtig abgelegt. LVM legt die Device-Mapper-Libraries in /usr/lib ab und auch die XFS-Progs legen dort was hin. Hab grad die Scripts angepasst sodass dies nun behoben sein sollte. Mysterioeserweise bekomme ich dort auch eine libbfd, die eigentlich von den BinUtils kommt, aber scheinbar nicht die die dort liegt, denn die BinUtils scheinen korrekt in /usr/lib64 abzulegen. Da muss ich mal schauen wo diese Dateien herkommen. Ich vermute zur Zeit von GCC.


Test von GCC mit Stack-Protection
Das werd ich heute mal mit der 32-Bit-Version testen. Wenn die 64-Bit-Version endlich alle Libraries korrekt ablegt auch damit.


Test ob LVM/Software-RAID und verschluesselte Partitionen funktionieren
Ich hab eine Installation auf LVM mit dem 32-Bit-System durchgefuehrt. Es funktioniert, das LVM-Init-Script wirft aber einen unschoenen (wenn auch nicht kritischen) Fehler. Da muss noch dran gearbeitet werden. Genauso wie weitere Tests mit Software-RAID, verschluesselten Partitionen und eben auf 64-Bit. Letzteres wenn alle Libraries endlich richtig liegen.


Kernel-Config
Spaeter...


SELinux-Policy
Spaeter...


LZMA-Kompression fuer SquashFS
Der Kernel wurde jetzt auch 2.6.30 aktualisiert. Ich hab noch nicht geschaut ob diese Version LZMA-Kompression unterstuetzt, denke aber eher nicht. Werde dies testen wenn es wieder Zeit ist eine neue LiveCD zu stricken, wahrscheinlich am Wochenende.

Hier nun also die aktuelle ToDo-Liste:

Test ob alle Libraries richtig abgelegt werden
Test von GCC mit Stack-Protection
Test ob alle Pakete mit SELinux kompilieren
Test ob alle Pakete mit SELinux und Stack-Protection kompilieren
Test ob LVM/Software-RAID und verschluesselte Partitionen funktionieren
Kernel-Config
SELinux-Policy
LZMA-Kompression fuer SquashFS

Ich hab jetzt noch 2 Punkte (Test ob alle Pakete mit SELinux kompilieren und Test ob alle Pakete mit SELinux und Stack-Protection kompilieren) hinzugefuegt, da ja auch dies ordentlich getestet werden will.

Ansonsten hab ich noch Kleinigkeiten hier und da in meinen Scripts die mit #test oder #check markiert sind an denen ich noch schrauben will. Diese Markierungen werden aber langsam auch weniger.


----------



## andy72 (10. Juli 2009)

Meine Güte, das geht ja richtig vorwärts bei Dir - Glückwunsch 

Mal zu einem Problem, mit dem ich gerade selbst kämpfe:
Ich hab gesehen, daß Du den Kernel 2.6.30 an Board hast - grundsätzlich eine sehr gute Entscheidung, denn die neuen Features sowie etlichen Bugfixes aus 2.6.29 die
dort Einzug gehalten haben sind es ja allemale Wert  Einziger Nachteil, der 2.6.30 hat
mal wieder seine Strukturen geändert, so daß sich der FGLRX Treiber von ATI nicht
starten lässt - Was folgt ist ein Abbruch, dass DRI nicht initalisiert werden konnte
und xorg fällt zurück in die Konsole.

Hat evtl. jemand eine Idee dafür, wie man das zum Laufen bringen könnte ?
Habe sämtliche MESA-Bib's und libdri auf aktuellsten Stand gebracht, aber der blöde Treiber will einfach nicht 

Unter 2.6.29 habe ich sogar compiz ohne jegliche Probleme am Laufen, nur readahead ist dort ja im Kernel ausgeschaltet, weil es in 2.6.29 als unstable markiert wurde... somit kriecht die Kiste (Toshiba Notebook A210) gerade etwas.


Lg
Andy


----------



## Dennis Wronka (29. Dezember 2009)

Es gab mal wieder einen Zeitraum ohne Fortschritt an EasyLFS.
Dafuer geht es jetzt wieder langsam weiter, und EasyLFS wird bald umziehen.


----------



## systemtrader (4. Mai 2010)

Hallo Dennis Wronka

Machst du eigentlich an dem Projekt weiter?
Ich finde dein Leistung wirklich super und habe mir das Easylfs 0.4
runter geladen und auch schon ausprobiert,hat alles super geklappt.

Vieleicht würde es ja sinn machen auch mal ein Xumgebung und einen 
kleinen Desktop wie Xfce mit ein zu Planen. 

Ich werde mal schauen was nötig ist zu instalieren um Xfce zum laufen zu 
bewegen, und dann Python scripte dafür schreiben, um es zu Automatisieren. 

LG


----------



## Dennis Wronka (5. Mai 2010)

Hi. Erstmal vielen Dank für die Blumen. Ist doch immer schön zu hören dass sich jemand für mein kleines Projekt interessiert.

Also: Ja, ich arbeite noch an EasyLFS, aber viel langsamer. Ich bin mittlerweile verheiratet und Daddy, da hat man dann nicht immer die Zeit für sowas. Vor Allem da ein Testbuild mal eben ein paar Stunden den PC beschäftigt.
Dieser ist zudem zur Zeit defekt, sodass ich nur noch mein Notebook hab, welches aber nur bedingt geeignet ist.

X in EasyLFS einzubauen wäre platzmässig drin, auch wenn das schon ordentlich das Image aufblähen dürfte.
Eine grossen Desktop-Umgebung wie KDE wäre aber overkill.
Der von Dir erwähnte XFCE oder ein Kleiner WM wie IceWM oder Afterstep wären sicher nett.

Anstelle von Python-scripts würde ich Bash-scripts empfehlen, damit alles konsistent bleibt. Zudem ist Python in 0.4 nicht im Standardumfang enthalten, sondern nur optional.
In der nächsten Version wird's zum Standardpaket.

Zudem sollte nach Moeglichkeit beim hinzufügen von Paketen auch auf Kompatibilität mit SELinux achten.


----------



## systemtrader (5. Mai 2010)

Na dann mal Herzlichen Glückwunsch für die Hochzeit und auch zu deinem Kind
Ich weiß das es das Leben Positive auf dem Kopf stellt geht mir ja auch so 

Die Sache mit dem X und dem Xfce wäre denke ich bestimmt eine Sinnvolle 
Sache denn es gibt ja auch jedem der sonst mit dem Originalen oder 
auch mit Easylfs Arbeitet ein schönen aha Effekt  und eben auch die Freude 
was zu sehen mit dem die meisten auch was anfangen können.

Also wenn es erwünscht ist würde ich es gerne auf dein Projekt über Python 
lösen und  dann das Script Easylfs zur freien Verfügung stellen und auch 
weiterhin daran Arbeiten damit man in gewissen Abständen Aktuellere 
Software zur Verfügung hat  wäre doch sinnvoll aufgeteilte Arbeit , mit dem 
Bash Scripting bin ich leider nicht vertraut aber da Python ja ehe eine Option 
ist wäre es eine gute Idee denke ich.

MFG


----------



## Dennis Wronka (5. Mai 2010)

Das kannst Du gern machen. Ich wuerde auf jeden Fall gern sehen dass mein System auch gleich X installieren kann. 

Zur Zeit gibt es aber leider noch keine Schnittstelle fuer zusaetzliche Module, die wollte ich schon lang mal einbauen, bin ich aber bislang nie zu gekommen. Entsprechend ist die einzige Moeglichkeit es direkt mit in EasyLFS zu integrieren, was eigentlich relativ einfach ist.

Du kannst uebrigens, bei Interesse, auch einen Blick in das Subversion-Repository werfen.
ViewVC gibt's hier: http://svn.easylfs.net/
Subversion ueber svn://svn.easylfs.net/_repo_/ (fuer Repositories siehe ViewVC  )

Die Datei packages.odt im Docs-Repository koennte fuer Dich eventuell auch von Interesse sein. 

Allgemein bin ich immer noch irgendwie mitten im Umstieg EasyLFS ein Community-Projekt zu machen, aber dafuer gibt's noch was an Arbeit bevor es soweit ist.


----------

