rcS.insmod notwendig?

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

rcS.insmod notwendig?

Beitrag von dbt »

Ich musste jetz mal zwangsläufig komplett bauen, weil ich passende Einträge wegen der IDE-GUI basteln muss und bin wieder mal über die rcS gestolpert, weil hier immer nur eine rcS mit modprobe gebaut wird. Ich hatte das schon mal irgendwann angesprochen. Kann dieser letzte Block nicht raus? Mit dem Patch baut es jedenfalls richtig.

Code: Alles auswählen

21.06.2008
for security reasons all user ssh-keys older than 04.2008 got deleted
cvs: WARNING: Read-only repository access mode selected via `cvs -R'.
Using this option to access a repository which some users write to may
cause intermittent sandbox corruption.
Index: Makefile.am
===================================================================
RCS file: /cvs/tuxbox/cdk/root/etc/init.d/Makefile.am,v
retrieving revision 1.20
diff -u -r1.20 Makefile.am
--- a/Makefile.am	19 Jun 2009 21:14:07 -0000	1.20
+++ b/Makefile.am	11 Jul 2009 11:39:40 -0000
@@ -96,12 +96,10 @@
 
 if KERNEL26
 RCS_ARGS += --define=use_kernel_26
+else
+RCS_ARGS += --define=insmod
 endif
 
 rcS: rcS.m4
 	m4 $(RCS_ARGS) $< > $@
 	chmod 755 $@
-
-rcS.insmod: rcS.m4
-	m4 $(RCS_ARGS) --define=insmod $< > $@
-	chmod 755 $@
edit:

An der Stelle wird das auch nochmal verwendet, das könnte dann auch raus, weil wird ja nicht gebaut :-?

Code: Alles auswählen

CLEANFILES = rcS rcS.insmod
und kann hier eigentlich auch weg.

Code: Alles auswählen

if BOXTYPE_IPBOX
FILES_FLASH_RO_EXEC += rcS.ipbox halt.ipbox start.ipbox
else
FILES_FLASH_RO_EXEC += rcS rcS.insmod halt start
endif
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: rcS.insmod notwendig?

Beitrag von rhabarber1848 »

dbt hat geschrieben:Mit dem Patch baut es jedenfalls richtig.
Ich bin auch schon darüber gestolpert, hatte allerdings noch keine Zeit,
mich eingehender damit zu beschäftigen.

rcS.insmod wird in cdk/make/flashable-dirs.mk genutzt für
Dbox2-Kernel 2.4-Images:

Code: Alles auswählen

if !KERNEL26
        mv $@/etc/init.d/rcS.insmod $@/etc/init.d/rcS
endif
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: rcS.insmod notwendig?

Beitrag von dbt »

Schon, aber das würde entfallen, wenn das

Code: Alles auswählen

if KERNEL26
RCS_ARGS += --define=use_kernel_26
+else
+RCS_ARGS += --define=insmod
endif
von vorn herein nur über eine Datei laufen würde, m4 hätte doch dann alles an defines die man braucht

dann wäre nur so noch notwendig

Code: Alles auswählen

-if !KERNEL26
        mv $@/etc/init.d/rcS $@/etc/init.d/rcS
-endif
edit:
Wobei ich das an passender Stelle in ein Macro packen würde und es dann evtl. so aufrufen kann:

Code: Alles auswählen

@MV_RCS@
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: rcS.insmod notwendig?

Beitrag von Barf »

rcS.insmod ist ein Relikt von oldmake; dadrin wurde rcS (mit modprobe) und rcS.insmod als separate Files verwaltet, und sie haben "etwas" voneinander weggedriftet...

dbts Vorschlag

Code: Alles auswählen

if KERNEL26
RCS_ARGS += --define=use_kernel_26
+else
+RCS_ARGS += --define=insmod
endif
ist eleganter.

Eigentlich finde ich es wichtiger, die Kernel 2.4/2.6-spezifische Teilen schon bei m4 auszuwählen, statt während Runtime, siehe jojos Patch.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: rcS.insmod notwendig?

Beitrag von rhabarber1848 »

Barf hat geschrieben:Eigentlich finde ich es wichtiger, die Kernel 2.4/2.6-spezifische Teilen schon bei m4 auszuwählen, statt während Runtime, siehe jojos Patch.
Sehe ich auch so, ist auf meiner To-Do-Liste, habe bisher noch keine Zeit dafür gefunden.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: rcS.insmod notwendig?

Beitrag von dbt »

rhabarber1848 hat geschrieben:
Barf hat geschrieben:Eigentlich finde ich es wichtiger, die Kernel 2.4/2.6-spezifische Teilen schon bei m4 auszuwählen, statt während Runtime, siehe jojos Patch.
Sehe ich auch so, ist auf meiner To-Do-Liste, habe bisher noch keine Zeit dafür gefunden.
Kannst du absehen, wann du mal draufschauen kannst? Dann würde ich erst mal nichts dran machen und warten bis der Patch von jojo konkretisiert ist.
Dann nochwas zu dem hier, da das öfter zum Einsatz kommt, als Vorschlag versteht sich! :wink:

Code: Alles auswählen

mv $@/etc/init.d/rcS $@/etc/init.d/rcS
Ähnlich würde ich das auch mit fstab machen und das passend als Makro unterbringen:
evtl. in cdk/configure.ac

Code: Alles auswählen

@@ -1121,6 +1140,11 @@
 FLASHROOTDIR_MODIFIED='touch $(flashprefix)/root'
 AC_SUBST(FLASHROOTDIR_MODIFIED)
 
+MK_FSTABFILE='[echo $(HDD_MOUNT_ENTRY)	>> $@/etc/fstab]'
+AC_SUBST(MK_FSTABFILE)
+
 
 AC_CONFIG_FILES([
 Makefile
in /make/flashable-dirs.mk könnte es dann so aussehen.
Hinweis: Ich habe für manpages dort auch was reingebaut.

Code: Alles auswählen

Index: flashable-dirs.mk
===================================================================
RCS file: /cvs/tuxbox/cdk/make/flashable-dirs.mk,v
retrieving revision 1.18
diff -u -r1.18 flashable-dirs.mk
--- a/flashable-dirs.mk	4 Jul 2009 15:48:54 -0000	1.18
+++ b/flashable-dirs.mk	12 Jul 2009 11:14:35 -0000
@@ -13,6 +13,9 @@
 VAR_MOUNT_ENTRY=/dev/mtdblock/3
 endif
 
+# remove man dirs
+REMOVE_MANDIRS = rm -rf $@/man $@/share/man
+
 $(flashprefix)/var-neutrino $(flashprefix)/var-enigma $(flashprefix)/var-radiobox: \
 $(flashprefix)/var-%: \
 $(flashprefix)/root-% $(flashprefix)/root
@@ -70,18 +73,17 @@
 	cp -rd $(flashprefix)/root $@
 	cp -rd $</* $@
 	cp -rd $(flashprefix)/root-jffs2/* $@
-	rm -rf $@/man $@/share/man
+	$(REMOVE_MANDIRS)
 	$(MAKE) --assume-old=$@ $@/lib/ld.so.1 mklibs_librarypath=$</lib:$</lib/tuxbox/plugins:$(flashprefix)/root/lib:$(flashprefix)/root/lib/tuxbox/plugins:$(flashprefix)/root-jffs2/lib:$(targetprefix)/lib:$(targetprefix)/lib/tuxbox/plugins
 	$(MAKE) flash-bootlogos flashbootlogosdir=$@/var/tuxbox/boot
 	$(MAKE) -C ${startscriptdir} install-flash flashprefix_ro=$@ flashprefix_rw=$@
 if BOXTYPE_DREAMBOX
 	$(MAKE) flash-dreamfiles dreamfilesrootdir=$@
 else
-if !KERNEL26
-	mv $@/etc/init.d/rcS.insmod $@/etc/init.d/rcS
-endif
+	$(MAKE) -C root install-flash flashprefix_ro=$@ flashprefix_rw=$@
+	
 if ENABLE_IDE
-	echo $(HDD_MOUNT_ENTRY)	>> $@/etc/fstab
+	@FSTABFILE@
 endif
 endif
 	@TUXBOX_CUSTOMIZE@
@@ -95,7 +97,7 @@
 	cp -rd $(flashprefix)/root $@
 	cp -rd $</* $@
 	cp -rd $(flashprefix)/root-neutrino/* $@
-	rm -rf $@/man $@/share/man
+	$(REMOVE_MANDIRS)
 	$(MAKE) --assume-old=$@ $@/lib/ld.so.1 mklibs_librarypath=$(flashprefix)/root-neutrino/lib:$(flashprefix)/root-neutrino/lib/tuxbox/plugins:$(flashprefix)/root/lib:$(flashprefix)/root/lib/tuxbox/plugins:$</lib:$(targetprefix)/lib:$(targetprefix)/lib/tuxbox/plugins
 	$(MAKE) -C ${startscriptdir} install-flash flashprefix_ro=$@ flashprefix_rw=$(flashprefix)/.junk
 	rm -rf $(flashprefix)/.junk
@@ -109,7 +111,7 @@
 else
 	echo "$(VAR_MOUNT_ENTRY)     /var     jffs2     defaults     0 0" >> $@/etc/fstab
 if ENABLE_IDE
-	echo $(HDD_MOUNT_ENTRY)	>> $@/etc/fstab
+	@FSTABFILE@
 endif
 endif
 	if [ -d $@/etc/ssh ] ; then \
@@ -124,12 +126,10 @@
 		rm $@/etc/profile.local; \
 		ln -sf /var/etc/profile.local $@/etc/profile.local; \
 	fi
+	
 	if [ -f $@/lib/libgcc_s_nof.so.1 -a ! -f $@/lib/libgcc_s.so.1 ]; then \
 		ln -s libgcc_s_nof.so.1 $@/lib/libgcc_s.so.1; \
 	fi
-if !KERNEL26
-	mv $@/etc/init.d/rcS.insmod $@/etc/init.d/rcS
-endif
 	@TUXBOX_CUSTOMIZE@
 
 $(flashprefix)/root-radiobox-cramfs \
@@ -141,7 +141,7 @@
 	cp -rd $(flashprefix)/root $@
 	cp -rd $</* $@
 	cp -rd $(flashprefix)/root-radiobox/* $@
-	rm -rf $@/man $@/share/man
+	$(REMOVE_MANDIRS)
 	cp -rd $(flashprefix)/root/lib/tuxbox/plugins/libfx2.so $@/lib/tuxbox/plugins
 	$(MAKE) --assume-old=$@ $@/lib/ld.so.1 mklibs_librarypath=$(flashprefix)/root-radiobox/lib:$(flashprefix)/root-radiobox/lib/tuxbox/plugins:$(flashprefix)/root/lib:$(flashprefix)/root/lib/tuxbox/plugins:$</lib:$(targetprefix)/lib:$(targetprefix)/lib/tuxbox/plugins
 	cp $(targetprefix)/lib/libstdc++.so.6.0.3 $@/lib/
@@ -156,7 +156,7 @@
 else
 	echo "$(VAR_MOUNT_ENTRY)     /var     jffs2     defaults     0 0" >> $@/etc/fstab
 if ENABLE_IDE
-	echo $(HDD_MOUNT_ENTRY)	>> $@/etc/fstab
+	@FSTABFILE@
 endif
 endif
 	if [ -d $@/etc/ssh ] ; then \
@@ -170,10 +170,7 @@
 	if [ -e $@/etc/profile.local ]; then \
 		rm $@/etc/profile.local; \
 		ln -sf /var/etc/profile.local $@/etc/profile.local; \
-	fi
-if !KERNEL26
-	mv $@/etc/init.d/rcS.insmod $@/etc/init.d/rcS
-endif
+	fi	
 	@TUXBOX_CUSTOMIZE@
 
 $(flashprefix)/root-enigma-cramfs \
@@ -185,7 +182,7 @@
 	cp -rd $(flashprefix)/root $@
 	cp -rd $</* $@
 	cp -rd $(flashprefix)/root-enigma/* $@
-	rm -rf $@/man $@/share/man
+	$(REMOVE_MANDIRS)
 	$(MAKE) --assume-old=$@ $@/lib/ld.so.1 mklibs_librarypath=$(flashprefix)/root-enigma/lib:$(flashprefix)/root-enigma/lib/tuxbox/plugins:$(flashprefix)/root/lib:$(flashprefix)/root/lib/tuxbox/plugins:$</lib:$(targetprefix)/lib:$(targetprefix)/lib/tuxbox/plugins
 	$(MAKE) -C ${startscriptdir} install-flash flashprefix_ro=$@ flashprefix_rw=$(flashprefix)/.junk
 	rm -rf $(flashprefix)/.junk
@@ -195,7 +192,7 @@
 else
 	echo "$(VAR_MOUNT_ENTRY)     /var     jffs2     defaults     0 0" >> $@/etc/fstab
 if ENABLE_IDE
-	echo $(HDD_MOUNT_ENTRY)	>> $@/etc/fstab
+	@FSTABFILE@
 endif
 endif
 	if [ -d $@/etc/ssh ] ; then \
@@ -210,10 +207,7 @@
 	if [ -e $@/etc/profile.local ]; then \
 		rm $@/etc/profile.local; \
 		ln -sf /var/etc/profile.local $@/etc/profile.local; \
-	fi
-if !KERNEL26
-	mv $@/etc/init.d/rcS.insmod $@/etc/init.d/rcS
-endif
+	fi	
 	@TUXBOX_CUSTOMIZE@
 
 $(flashprefix)/root-enigma+neutrino-squashfs \
@@ -225,7 +219,7 @@
 	cp -rd $</* $@
 	cp -rd $(flashprefix)/root-neutrino/* $@
 	cp -rd $(flashprefix)/root-enigma/* $@
-	rm -rf $@/man $@/share/man
+	$(REMOVE_MANDIRS)
 	$(MAKE) --assume-old=$@ $@/lib/ld.so.1 mklibs_librarypath=$(flashprefix)/root-neutrino/lib:$(flashprefix)/root-neutrino/lib/tuxbox/plugins:$(flashprefix)/root-enigma/lib:$(flashprefix)/root-enigma/lib/tuxbox/plugins:$(flashprefix)/root/lib:$(flashprefix)/root/lib/tuxbox/plugins:$</lib:$(targetprefix)/lib:$(targetprefix)/lib/tuxbox/plugins
 	$(MAKE) -C ${startscriptdir} install-flash flashprefix_ro=$@ flashprefix_rw=$(flashprefix)/.junk
 	rm -rf $(flashprefix)/.junk
@@ -253,22 +247,19 @@
 	fi
 	if [ -f $@/lib/libgcc_s_nof.so.1 -a ! -f $@/lib/libgcc_s.so.1 ]; then \
 		ln -s libgcc_s_nof.so.1 $@/lib/libgcc_s.so.1; \
-	fi
-if !KERNEL26
-	mv $@/etc/init.d/rcS.insmod $@/etc/init.d/rcS
-endif
+	fi	
 	@TUXBOX_CUSTOMIZE@
 
 $(flashprefix)/root-null-jffs2: $(flashprefix)/root $(flashprefix)/root-jffs2
 	rm -rf $@
 	cp -rd $(flashprefix)/root $@
 	cp -rd $(flashprefix)/root-jffs2/* $@
-	rm -rf $@/man $@/share/man
+	$(REMOVE_MANDIRS)
 	rm -rf $@/lib/tuxbox/plugins
 	$(MAKE) --assume-old=$@ $@/lib/ld.so.1 mklibs_librarypath=$(flashprefix)/root/lib:$(flashprefix)/root-jffs2/lib:$(targetprefix)/lib
 	$(MAKE) flash-bootlogos flashbootlogosdir=$@/var/tuxbox/boot
 	$(MAKE) -C ${startscriptdir} install-flash flashprefix_ro=$@ flashprefix_rw=$@
-	mv $@/etc/init.d/rcS.insmod $@/etc/init.d/rcS
+	$(MAKE) -C root install-flash flashprefix_ro=$@ flashprefix_rw=$@	
 	@TUXBOX_CUSTOMIZE@
 
 ## "Private"
Zuletzt geändert von dbt am Sonntag 12. Juli 2009, 13:16, insgesamt 2-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: rcS.insmod notwendig?

Beitrag von rhabarber1848 »

dbt hat geschrieben:

Code: Alles auswählen

mv $@/etc/init.d/rcS $@/etc/init.d/rcS
Diese Zeile macht keinen Sinn, da die Datei auf sich selbst verschoben wird.
Es kann noch 1-2 Wochen dauern, bis ich dazu komme, mir die rcS-Sachen
anzuschauen. Im Moment versuche ich U-Boot dazu zu überreden, einen
LZMA-komprimierten Kernel zu booten.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: rcS.insmod notwendig?

Beitrag von dbt »

:dash: Ja das kann dann sogar weg, richtig, war jetzt beim überfliegen nicht ganz bei der Sache :oops: :oops:
edit: korrigiert