EasyLFS Projektthread

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
 
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. ;)
 
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. :D ... nach einer Woche Research bin ich aber schon sehr weit gekommen *mir auf die Schulter klopf* :D
 
Was es bringt weiss ich auch nicht.

Hier mal kurz der configure-Aufruf aus meinen Scripts.
Code:
	../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.
 
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.

Bash:
#!/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
 
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 :D ... 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 ;)
 
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.
 
hm,hm ... klingt so, als hält SELinux im nächsten easyLFS Einzug :D *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 ;)
 
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.
 
Zurück