"newHead" customization

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

"newHead" customization

Beitrag von Houdini »

ich habe mir mal Gedanken gemacht, wie man eine eigene kernel und busybox config in die neue Makestruktur integrieren könnte.

Folgendes ist dabei rausgekommen:

Code: Alles auswählen

Index: Makefile.am
===================================================================
RCS file: /cvs/tuxbox/cdk/Makefile.am,v
retrieving revision 1.558
diff -b -B -u -r1.558 Makefile.am
--- a/Makefile.am	10 Jan 2009 09:13:31 -0000	1.558
+++ b/Makefile.am	11 Jan 2009 11:06:31 -0000
@@ -5,9 +5,12 @@
 # Define high-level and yadd targets
 include make/high-level-yadd.mk
 
-# Set up some default values (used only by serversetup).
+# Set up some default values (used by serversetup, default kernel/busybox config).
 include make/defaultvalues.mk
 
+# Override default values if needed
+-include $(customizationsdir)/user.mk
+
 # Set up the build environment
 include make/buildenv.mk
 
Index: make/busybox.mk
===================================================================
RCS file: /cvs/tuxbox/cdk/make/busybox.mk,v
retrieving revision 1.2
diff -b -B -u -r1.2 busybox.mk
--- a/make/busybox.mk	6 Jan 2009 21:40:15 -0000	1.2
+++ b/make/busybox.mk	11 Jan 2009 11:06:31 -0000
@@ -8,9 +8,9 @@
 POSSIBLY_KERNEL26=-Dkernel26
 endif
 
-$(DEPDIR)/busybox: bootstrap @DEPENDS_busybox@ Patches/busybox.config.m4 Patches/busybox.diff
+$(DEPDIR)/busybox: bootstrap @DEPENDS_busybox@ $(BUSYBOX_CONFIG_FILE) Patches/busybox.diff
 	@PREPARE_busybox@
-	m4 -Dyadd $(POSSIBLY_IDE) $(POSSIBLY_EXT3) $(POSSIBLY_KERNEL26) -DPREFIX="\"$(targetprefix)\"" Patches/busybox.config.m4 > @DIR_busybox@/.config
+	m4 -Dyadd $(POSSIBLY_IDE) $(POSSIBLY_EXT3) $(POSSIBLY_KERNEL26) -DPREFIX="\"$(targetprefix)\"" $(BUSYBOX_CONFIG_FILE) > @DIR_busybox@/.config
 	cd @DIR_busybox@ && \
 		$(MAKE) all install \
 			CROSS_COMPILE=$(target)- \
@@ -21,9 +21,9 @@
 
 if TARGETRULESET_FLASH
 
-flash-busybox: bootstrap $(flashprefix)/root @DEPENDS_busybox@ Patches/busybox.config.m4 Patches/busybox.diff
+flash-busybox: bootstrap $(flashprefix)/root @DEPENDS_busybox@ $(BUSYBOX_CONFIG_FILE) Patches/busybox.diff
 	@PREPARE_busybox@
-	m4 -Dflash $(POSSIBLY_IDE) $(POSSIBLY_EXT3) $(POSSIBLY_KERNEL26) -DPREFIX="\"$(flashprefix)/root\"" Patches/busybox.config.m4 > @DIR_busybox@/.config
+	m4 -Dflash $(POSSIBLY_IDE) $(POSSIBLY_EXT3) $(POSSIBLY_KERNEL26) -DPREFIX="\"$(flashprefix)/root\"" $(BUSYBOX_CONFIG_FILE) > @DIR_busybox@/.config
 	cd @DIR_busybox@ && \
 		$(MAKE) all install \
 			CROSS_COMPILE=$(target)- \
Index: make/defaultvalues.mk
===================================================================
RCS file: /cvs/tuxbox/cdk/make/defaultvalues.mk,v
retrieving revision 1.2
diff -b -B -u -r1.2 defaultvalues.mk
--- a/make/defaultvalues.mk	6 Jan 2009 21:40:15 -0000	1.2
+++ b/make/defaultvalues.mk	11 Jan 2009 11:06:31 -0000
@@ -8,3 +8,11 @@
 DBOX_SUBNETMASK = 255.255.255.0
 DBOX_MAC = 00:50:9c:xx:xx:x
 
+
+# These variables are default values and can be overwritten in $(customizationsdir)/user.mk
+BUSYBOX_CONFIG_FILE:=Patches/busybox-1.13.config.m4
+
+LINUX_CONFIG_FILE_DIR:=Patches
+LINUX_DBOX2_FLASH_FILE_DIR:=Patches
+
+YADD_ROOTFS:=
Index: make/linuxkernel.mk
===================================================================
RCS file: /cvs/tuxbox/cdk/make/linuxkernel.mk,v
retrieving revision 1.2
diff -b -B -u -r1.2 linuxkernel.mk
--- a/make/linuxkernel.mk	6 Jan 2009 21:40:15 -0000	1.2
+++ b/make/linuxkernel.mk	11 Jan 2009 11:06:31 -0000
@@ -125,15 +125,15 @@
 kernel-cdk: $(bootprefix)/kernel-cdk
 
 if KERNEL26
-$(bootprefix)/kernel-cdk: linuxdir $(hostprefix)/bin/mkimage Patches/linux-$(KERNELVERSION).config Patches/dbox2-flash.c-26.m4
-	sed $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) Patches/linux-$(KERNELVERSION).config \
+$(bootprefix)/kernel-cdk: linuxdir $(hostprefix)/bin/mkimage $(LINUX_CONFIG_FILE_DIR)/linux-$(KERNELVERSION).config $(LINUX_DBOX2_FLASH_FILE_DIR)/dbox2-flash.c-26.m4
+	sed $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) $(LINUX_CONFIG_FILE_DIR)/linux-$(KERNELVERSION).config \
 		> $(KERNEL_DIR)/.config
-	m4 Patches/dbox2-flash.c-26.m4 > linux/drivers/mtd/maps/dbox2-flash.c
+	m4 $(YADD_ROOTFS) $(LINUX_DBOX2_FLASH_FILE_DIR)/dbox2-flash.c-26.m4 > linux/drivers/mtd/maps/dbox2-flash.c
 else
-$(bootprefix)/kernel-cdk: linuxdir $(hostprefix)/bin/mkimage Patches/linux-2.4.35.5-dbox2.config Patches/dbox2-flash.c.m4
-	sed $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) Patches/linux-2.4.35.5-dbox2.config \
+$(bootprefix)/kernel-cdk: linuxdir $(hostprefix)/bin/mkimage $(LINUX_CONFIG_FILE_DIR)/linux-2.4.35.5-dbox2.config $(LINUX_DBOX2_FLASH_FILE_DIR)/dbox2-flash.c.m4
+	sed $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) $(LINUX_CONFIG_FILE_DIR)/linux-2.4.35.5-dbox2.config \
 		> $(KERNEL_DIR)/.config
-	m4 Patches/dbox2-flash.c.m4 > linux/drivers/mtd/maps/dbox2-flash.c
+	m4 $(YADD_ROOTFS) $(LINUX_DBOX2_FLASH_FILE_DIR)/dbox2-flash.c.m4 > linux/drivers/mtd/maps/dbox2-flash.c
 endif
 	$(MAKE) $(KERNEL_BUILD_FILENAME)
 if KERNEL26
die user.mk könnte dann so aussehen:

Code: Alles auswählen

# define local versions of linux kernel and busybox settings here
# default settings are in make/defaultvalues.mk

# define rootfs type for yadd kernels - you can then mount the flash root partifion within the yadd
YADD_ROOTFS= --define=rootfstype=jffs2

# define the busybox confg file here
BUSYBOX_CONFIG_FILE=$(customizationsdir)/busybox-1.13.config.m4

# define the path to the kernel stuff file here
LINUX_CONFIG_FILE_DIR=$(customizationsdir)
LINUX_DBOX2_FLASH_FILE_DIR=$(customizationsdir)
comments are welcome...
Zuletzt geändert von Houdini am Samstag 17. Januar 2009, 21:39, insgesamt 1-mal geändert.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: "newHead" custimization

Beitrag von seife »

Ich bin ein ziemlicher Laie was make & co angeht, aber die Idee klingt gut. Dann muss ich nicht mehr ständig aufpassen, dass ich nicht aus versehen meine lokalen Änderungen an der Konfiguration ins CVS committe :)
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: "newHead" custimization

Beitrag von dbt »

seife hat geschrieben:... Dann muss ich nicht mehr ständig aufpassen, dass ich nicht aus versehen meine lokalen Änderungen an der Konfiguration ins CVS committe :)
Genau sowas hat noch gefehlt...hab hier auch bb13xx am laufen und es ist irgendwie unschön immer darauf aufzupassen...
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: "newHead" custimization

Beitrag von Houdini »

Wenn jemand noch ne bessere Idee dazu hat her damit,

btw, die flashroot-fs.mk muss dann auch noch dazu angepasst werden
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Houdini hat geschrieben:+BUSYBOX_CONFIG_FILE:=Patches/busybox-1.13.config.m4
Hier muss natürlich Patches/busybox.config.m4 stehen.

Ansonsten habe ich nichts dagegen, gute Idee!
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: "newHead" custimization

Beitrag von Barf »

Erstmals viel Dank an Houdini für seinen kreativen Vorschlag! 8)

Die meinsten von uns haben sicherlich eigene busybox- und/oder Kernel-konfigurationen, und es ist sicherlig mehr als wünschenswert dies "customizable" statt "zubiegbar" zu machen. Z.B. mag ich (http://tuxbox-forum.dreambox-fan.de/for ... =2&t=48012) netcat in meiner busybox, aber ich wurde wohl kaum vorschlagen, ein --enable-netcat configure-option einzuführen. :wink: Die Konfigurationsdatei der Busybox als Konfigurationsparameter scheint mir eine gute Kompromisse zwischen theoretisch elegantes und praktisches machbares zu sein. Dagegen habe ich aber ein Problem mit noch eine Ablage für Benutzerparameter, hier, eine neu zugefügte Datei user.mk. Die mehr traditionelle (in Sinn von auto[conf|make]) Alternative wäre --with-busybox-conf=<blabla>.m4. (Ich bin mir sicher, sämtliche bisherige Teilnehmer des Threads könnte sowas implementieren :D ) Die "configure-Zeile" ist ja nicht wirklich Benutzerfreundlich, aber dies wird ja normalerweise nicht als ein Problem betrachtet. "Benutzerkonfiguration" besteht z.Z. von der Eingabe eines configure-Befehls (normalerweise in einer selbstgestrichen Skript), eventuell zusammen mit diverse customization-scripts. Wir sollten dies nicht ohne sehr guten Grunden erweitern, z.B. mit "Anlegen eines user.mk". Ich bin der Meinung, eine configure-option wäre besser.

Es ist mir aufgefallen (nochmals, dank Houdinis Beitrag), dass es total unlogisch ist, die Konfigurationsdateien (Kernel & busybox) in Patches liegen zu lassen. Sollten wir (unabhhängig von alles anderes) ändern.

Für die Kernel-Konfigurationen gelten sonst das Gleiche; configure-optionen wäre besser: --with-yaddkernel-config, und --with-flash-kernel-config z.B.

Zu

Code: Alles auswählen

# define rootfs type for yadd kernels - you can then mount the flash root partifion within the yadd
YADD_ROOTFS= --define=rootfstype=jffs2
Ich finde sowohl Bezeichnung als auch Erklärung irreführend bis fehlerhaft. Ein Kernel, yadd oder irgendwas, kann die Dateisysteme mounten, die unterstützt wird (hart einkompiliert oder als module), "root filesystem" oder nicht. --with-filesystems (danke rhabarber1848 8) ) erschlägt dies (es sei denn, irgendetwas buggy ists, dann fixen wir die Bugs). Das Filesystem eines Yadds ist per Definition immer NFS. Vorschlag: ersatzlos verwerfen.

Zusammenfassung:
- Konfigurationsdateien (Patches/*conf* und Patches/*.m4) in einer separeten Verzeichnis versetzen. (Unabhängig von alles anderes.)
- Konfigurationsfiles für busybox, flash/yadd-Kernel als configure-optionen.
- YADD_ROOTFS verwerfen.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: "newHead" custimization

Beitrag von Houdini »

Ich finde sowohl Bezeichnung als auch Erklärung irreführend bis fehlerhaft. Ein Kernel, yadd oder irgendwas, kann die Dateisysteme mounten, die unterstützt wird (hart einkompiliert oder als module), "root filesystem" oder nicht. --with-filesystems (danke rhabarber1848 8) ) erschlägt dies (es sei denn, irgendetwas buggy ists, dann fixen wir die Bugs). Das Filesystem eines Yadds ist per Definition immer NFS. Vorschlag: ersatzlos verwerfen.
Das ganze kam daher das die dbox2-flash.c.m4 mit --define=rootfstype=XXX eingestellt wird, was natürlich beim yadd nicht wirklich passt.
Trotzdem würde ich das richtige Konfgurieren der Partitionen auch für den yadd kernel machen. Das könnte man dann von --with-filesystems ableiten.
Zusammenfassung:
- Konfigurationsdateien (Patches/*conf* und Patches/*.m4) in einer separeten Verzeichnis versetzen. (Unabhängig von alles anderes.)
Ack.
- Konfigurationsfiles für busybox, flash/yadd-Kernel als configure-optionen.
Ich bin zwar kein automake Fan, aber damit kann ich leben.
Der Vorteil des user.mk in der customizationsdir liegt darin, daß dann alle eigenen Sachen zusammen in einem Verzeichnis liegen.
Die Makefile.local könnte dann entfallen.
- YADD_ROOTFS verwerfen.
s.o

Houdini
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Barf hat geschrieben:- Konfigurationsdateien (Patches/*conf* und Patches/*.m4) in einer separeten Verzeichnis versetzen
Nachteil: Die History der Dateien geht dabei leider verloren.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: "newHead" custimization

Beitrag von Barf »

rhabarber1848 hat geschrieben:
Barf hat geschrieben:- Konfigurationsdateien (Patches/*conf* und Patches/*.m4) in einer separeten Verzeichnis versetzen
Nachteil: Die History der Dateien geht dabei leider verloren.
Korrekter: Die History wird auf zwei Plätze verteilt.

Es sei denn, jemanden mit CVS admin Rechte die Historydatei kopiert, siehe Cederqvist 7.4.2f. :wink:

Als allgemeine Bemerkung finde ich die Schwächen in CVS zwar ärgerlich, aber dies sollte normalerweise nicht ein Entscheidungsgrund sein.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: "newHead" custimization

Beitrag von Houdini »

So hier die configs als configure optionen.
Was mir nicht gefällt ist, daß dann die kernel versionen hier als default quasi mit im configure.ac drinstehen,
da muß man sich noch was anderes überlegen.

Code: Alles auswählen

removed see diff below
Zuletzt geändert von Houdini am Mittwoch 14. Januar 2009, 21:21, insgesamt 1-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Houdini hat geschrieben:+AC_ARG_WITH(yadd_kernel24_conf,
+AC_ARG_WITH(yadd_kernel26_conf,

+AC_ARG_WITH(flash_kernel24_conf,
+AC_ARG_WITH(flash_kernel26_conf,
Reicht es nicht, nur diese Optionen zu haben?
+AC_ARG_WITH(yadd_kernel_conf,
+AC_ARG_WITH(flash_kernel_conf,
Die Kernelversion ist bereits durch die Option --enable-kernel26 vorgegeben.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: "newHead" custimization

Beitrag von Houdini »

Nächste Version, nachdem mich rhabarber wieder auf die Rille gesetzt hat :-)

Code: Alles auswählen

Index: configure.ac
===================================================================
RCS file: /cvs/tuxbox/cdk/configure.ac,v
retrieving revision 1.178
diff -b -B -u -r1.178 configure.ac
--- a/configure.ac	9 Jan 2009 19:17:10 -0000	1.178
+++ b/configure.ac	14 Jan 2009 20:17:02 -0000
@@ -31,6 +31,12 @@
 	,[enable_kernel26=no])
 AM_CONDITIONAL(KERNEL26,test "$enable_kernel26" = "yes")
 
+if test "$enable_kernel26" == "yes"; then
+	used_kernelversion="2.6"
+else
+	used_kernelversion="2.4"
+fi
+
 AC_ARG_ENABLE(lzma,
 	AS_HELP_STRING(--enable-lzma,use LZMA compression when generating images),
 	,[enable_lzma=yes])
@@ -275,6 +281,36 @@
 	[  --with-updatehttpprefix=URL  optional URL containing the URL of a directory with update images [[NONE]]],
 	[updatehttpprefix="$with_updatehttpprefix"],[updatehttpprefix=])
 
+AC_ARG_WITH(busybox_conf,
+	[  --with-busybox-conf=M4_FILE optional m4 busybox configuration file [[Patches/busybox-config.m4]]],
+	[busybox_conf="$with_busybox_conf"],[busybox_conf="Patches/busybox-config.m4"])
+AC_SUBST(busybox_conf)
+
+AC_ARG_WITH(yadd_kernel_conf,
+	[  --with-yadd-kernel-conf=FILE optional linux kernel config file for nfs rootfs [[Patches/linux-KERNEL_VERSION-dbox2.config]]],
+	[yadd_kernel_conf="$with_yadd_kernel_conf"],[yadd_kernel_conf="NONE"])
+AC_SUBST(yadd_kernel_conf)
+
+AC_ARG_WITH(flash_kernel_conf,
+	[  --with-flash-kernel-conf=FILE optional linux kernel config file for flash rootfs [[Patches/linux-KERNEL_VERSION-dbox2.config-flash]]],
+	[flash_kernel_conf="$with_flash_kernel_conf"],[flash_kernel_conf="NONE"])
+AC_SUBST(flash_kernel_conf)
+
+if test "$enable_kernel26" = "yes"; then
+	if test "$yadd_kernel_conf" = "NONE"; then
+		yadd_kernel_conf="Patches/linux-2.6.x-dbox2.config"
+	fi
+	if test "$flash_kernel_conf" = "NONE"; then
+		flash_kernel_conf="Patches/linux-2.6.x-dbox2.config-flash"
+	fi
+else
+	if test "$yadd_kernel_conf" = "NONE"; then
+		yadd_kernel_conf="Patches/linux-2.4.35.5-dbox2.config"
+	fi
+	if test "$flash_kernel_conf" = "NONE"; then
+		flash_kernel_conf="Patches/linux-2.4.35.5-dbox2.config-flash"
+	fi
+fi
 
 buildprefix=`pwd`
 AC_SUBST(targetprefix)
@@ -723,12 +759,6 @@
 # summary
 #
 
-if test "$enable_kernel26" == "yes"; then
-	used_kernelversion="2.6"
-else
-	used_kernelversion="2.4"
-fi
-
 if test "$enable_uclibc" == "yes"; then
 	used_libc="uclibc"
 else
@@ -773,7 +803,7 @@
 Neutrino UPnP-support:		$enable_upnp
 FLAC support:			$enable_flac	
 German keymaps:			$enable_german_keymaps
-sqlite3 storage:		$enable_sqlite
+sqlite3 storage:		$SQLITE
 ccache support:			$enable_ccache
 $ccacheinfo
 ])
Index: make/busybox.mk
===================================================================
RCS file: /cvs/tuxbox/cdk/make/busybox.mk,v
retrieving revision 1.2
diff -b -B -u -r1.2 busybox.mk
--- a/make/busybox.mk	6 Jan 2009 21:40:15 -0000	1.2
+++ b/make/busybox.mk	14 Jan 2009 20:17:02 -0000
@@ -8,9 +8,9 @@
 POSSIBLY_KERNEL26=-Dkernel26
 endif
 
-$(DEPDIR)/busybox: bootstrap @DEPENDS_busybox@ Patches/busybox.config.m4 Patches/busybox.diff
+$(DEPDIR)/busybox: bootstrap @DEPENDS_busybox@ $(busybox_conf) Patches/busybox.diff
 	@PREPARE_busybox@
-	m4 -Dyadd $(POSSIBLY_IDE) $(POSSIBLY_EXT3) $(POSSIBLY_KERNEL26) -DPREFIX="\"$(targetprefix)\"" Patches/busybox.config.m4 > @DIR_busybox@/.config
+	m4 -Dyadd $(POSSIBLY_IDE) $(POSSIBLY_EXT3) $(POSSIBLY_KERNEL26) -DPREFIX="\"$(targetprefix)\"" $(busybox_conf) > @DIR_busybox@/.config
 	cd @DIR_busybox@ && \
 		$(MAKE) all install \
 			CROSS_COMPILE=$(target)- \
@@ -21,9 +21,9 @@
 
 if TARGETRULESET_FLASH
 
-flash-busybox: bootstrap $(flashprefix)/root @DEPENDS_busybox@ Patches/busybox.config.m4 Patches/busybox.diff
+flash-busybox: bootstrap $(flashprefix)/root @DEPENDS_busybox@ $(busybox_conf) Patches/busybox.diff
 	@PREPARE_busybox@
-	m4 -Dflash $(POSSIBLY_IDE) $(POSSIBLY_EXT3) $(POSSIBLY_KERNEL26) -DPREFIX="\"$(flashprefix)/root\"" Patches/busybox.config.m4 > @DIR_busybox@/.config
+	m4 -Dflash $(POSSIBLY_IDE) $(POSSIBLY_EXT3) $(POSSIBLY_KERNEL26) -DPREFIX="\"$(flashprefix)/root\"" $(busybox_conf) > @DIR_busybox@/.config
 	cd @DIR_busybox@ && \
 		$(MAKE) all install \
 			CROSS_COMPILE=$(target)- \
Index: make/linuxkernel.mk
===================================================================
RCS file: /cvs/tuxbox/cdk/make/linuxkernel.mk,v
retrieving revision 1.2
diff -b -B -u -r1.2 linuxkernel.mk
--- a/make/linuxkernel.mk	6 Jan 2009 21:40:15 -0000	1.2
+++ b/make/linuxkernel.mk	14 Jan 2009 20:17:02 -0000
@@ -125,15 +125,15 @@
 kernel-cdk: $(bootprefix)/kernel-cdk
 
 if KERNEL26
-$(bootprefix)/kernel-cdk: linuxdir $(hostprefix)/bin/mkimage Patches/linux-$(KERNELVERSION).config Patches/dbox2-flash.c-26.m4
-	sed $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) Patches/linux-$(KERNELVERSION).config \
+$(bootprefix)/kernel-cdk: linuxdir $(hostprefix)/bin/mkimage $(yadd_kernel_conf) $(LINUX_DBOX2_FLASH_FILE_DIR)/dbox2-flash.c-26.m4
+	sed $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) $(yadd_kernel_conf) \
 		> $(KERNEL_DIR)/.config
-	m4 Patches/dbox2-flash.c-26.m4 > linux/drivers/mtd/maps/dbox2-flash.c
+	m4 $(YADD_ROOTFS) $(LINUX_DBOX2_FLASH_FILE_DIR)/dbox2-flash.c-26.m4 > linux/drivers/mtd/maps/dbox2-flash.c
 else
-$(bootprefix)/kernel-cdk: linuxdir $(hostprefix)/bin/mkimage Patches/linux-2.4.35.5-dbox2.config Patches/dbox2-flash.c.m4
-	sed $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) Patches/linux-2.4.35.5-dbox2.config \
+$(bootprefix)/kernel-cdk: linuxdir $(hostprefix)/bin/mkimage $(yadd_kernel_conf) $(LINUX_DBOX2_FLASH_FILE_DIR)/dbox2-flash.c.m4
+	sed $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) $(yadd_kernel_conf) \
 		> $(KERNEL_DIR)/.config
-	m4 Patches/dbox2-flash.c.m4 > linux/drivers/mtd/maps/dbox2-flash.c
+	m4 $(YADD_ROOTFS) $(LINUX_DBOX2_FLASH_FILE_DIR)/dbox2-flash.c.m4 > linux/drivers/mtd/maps/dbox2-flash.c
 endif
 	$(MAKE) $(KERNEL_BUILD_FILENAME)
 if KERNEL26
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: "newHead" custimization

Beitrag von dbt »

reine Formsache:
Wäre es aber nicht besser, das nicht als

Code: Alles auswählen

...
--with-busybox-conf=M4_FILE optional m4 busybox configuration file [[Patches/busybox-config.m4]]],
...
sondern als userdefined bzw. customized

Code: Alles auswählen

...
--with-customized-busybox-conf=M4_FILE userdefined m4 busybox configuration file [[Patches/busybox-config.m4]]],
...
zu bezeichnen, denn die configs sind ja da, die werden ja nur durch die eigenen ersetzt.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: "newHead" custimization

Beitrag von seife »

diese "--with-foo"-Optionen sind eigentlich immer optional, wenn sie nicht angegeben werden, werden defaults genommen. Insofern finde ich es "je kürzer, je besser". Zumindest habe ich das bisher (auch bei anderen Projekten) so wahrgenommen. (Wir haben ja auch nicht "--enable-optional-ide-support" sondern nur "--enable-ide")

...wir haben heute zwar alle widescreen-Displays, aber trotzdem... ;-)
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: "newHead" custimization

Beitrag von dbt »

Ok, dann zumindest im Kommentar dahinter, evt. denkt dann wirklich jemand, dass die Files fehlen und die immer angeben muss. Andererseit sollte jeder wissen, wenn er anfängt zu bauen, was er macht, aber wie gesagt ist reine Formsache. :wink:
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Houdini hat geschrieben:# define rootfs type for yadd kernels - you can then mount the flash root partifion within the yadd
YADD_ROOTFS= --define=rootfstype=jffs2
Könntest Du kurz schreiben, wie das Flash vom Yadd aus gemountet
werden kann? Muss dafür rootpartitionsize bekannt sein?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Gibt es einen Grund, warum in cdk/make/flashroot-fs.mk,
target $(flashprefix)/root-squashfs die Variable $(flash_kernel_conf)
nicht eingebaut wurde?

Patchvorschlag:

Code: Alles auswählen

--- cdk/make/flashroot-fs.mk     2009-01-16 22:53:00.000000000 +0100
+++ cdk/make/flashroot-fs.mk  2009-01-17 00:10:50.000000000 +0100
@@ -53,10 +53,10 @@
 endif
 if KERNEL26
        m4 --define=rootfs=$(PART_TYPE) --define=rootsize=$(ROOT_PARTITION_SIZE) Patches/dbox2-flash.c-26.m4 > linux/drivers/mtd/maps/dbox2-flash.c
-       sed -e 's/.*CONFIG_SQUASHFS[= ].*$$/CONFIG_SQUASHFS=y/' $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) $(LZMA_SED_CONF) Patches/linux-$(KERNELVERSION).config-flash > $(KERNEL_DIR)/.config
+       sed -e 's/.*CONFIG_SQUASHFS[= ].*$$/CONFIG_SQUASHFS=y/' $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) $(LZMA_SED_CONF) $(flash_kernel_conf) > $(KERNEL_DIR)/.config
 else
        m4 --define=rootfs=$(PART_TYPE) --define=rootsize=$(ROOT_PARTITION_SIZE) Patches/dbox2-flash.c.m4 > linux/drivers/mtd/maps/dbox2-flash.c
-       sed -e 's/.*CONFIG_SQUASHFS[= ].*$$/CONFIG_SQUASHFS=y/' $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) $(LZMA_SED_CONF) Patches/linux-2.4.35.5-dbox2.config-flash > $(KERNEL_DIR)/.config
+       sed -e 's/.*CONFIG_SQUASHFS[= ].*$$/CONFIG_SQUASHFS=y/' $(IDE_SED_CONF) $(EXT3_SED_CONF) $(XFS_SED_CONF) $(NFSSERVER_SED_CONF) $(LZMA_SED_CONF) $(flash_kernel_conf) > $(KERNEL_DIR)/.config
 endif
        $(MAKE) $(KERNEL_BUILD_FILENAME) targetprefix=$@
 if KERNEL26
Zuletzt geändert von rhabarber1848 am Samstag 17. Januar 2009, 00:10, insgesamt 1-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Bug:
make: *** Keine Regel vorhanden, um das Target »Patches/busybox-config.m4«,
benötigt von ».deps/busybox«, zu erstellen. Schluss.
Patch:

Code: Alles auswählen

--- cdk/configure.ac     2009-01-16 22:53:00.000000000 +0100
+++ cdk/configure.ac  2009-01-17 00:08:36.000000000 +0100
@@ -289,8 +289,8 @@
        [updatehttpprefix="$with_updatehttpprefix"],[updatehttpprefix=])

 AC_ARG_WITH(busybox_conf,
-       [  --with-busybox-conf=M4_FILE personalized optional m4 busybox configuration file [[Patches/busybox-config.m4]]],
-       [busybox_conf="$with_busybox_conf"],[busybox_conf="Patches/busybox-config.m4"])
+       [  --with-busybox-conf=M4_FILE personalized optional m4 busybox configuration file [[Patches/busybox.config.m4]]],
+       [busybox_conf="$with_busybox_conf"],[busybox_conf="Patches/busybox.config.m4"])
 AC_SUBST(busybox_conf)

 AC_ARG_WITH(yadd_kernel_conf,
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: "newHead" custimization

Beitrag von Houdini »

Fixed, Danke!
:oops:
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Barf hat geschrieben:- Konfigurationsdateien (Patches/*conf* und Patches/*.m4) in einer separeten Verzeichnis versetzen. (Unabhängig von alles anderes.)
Ich habe soeben cdk/config/ angelegt:
http://cvs.tuxbox-cvs.sourceforge.net/c ... dk/config/

Dort lege ich jetzt die Flashmaps für die IPBox-Images ab.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Barf hat geschrieben:- Konfigurationsdateien (Patches/*conf* und Patches/*.m4) in einer separeten Verzeichnis versetzen. (Unabhängig von alles anderes.)
Die m4-basierte Kernel-.config für IPBox liegt nun in cdk/config.

Ich möchte vorschlagen, wenn die Dbox2-Kernel-.config-Dateien
verschoben werden, sollten sie ebenfalls m4-basiert sein anstelle
der jetzigen sed-Orgien. Die IPBox-m4-Infrastruktur kann dabei
als Vorbild dienen.

Ob dabei die Flash- und die Yadd-Variante der jetzigen .config-
Dateien zusammengeführt werden können, kann ich nicht sagen,
das hängt von den enthaltenen Unterschieden ab.

Man könnte eventuell nach den Busybox-Muster vorgehen und
ein eigenes m4-Makro schreiben:

Code: Alles auswählen

define(`dooption',`ifelse(`$2',`n', `# $1 is not set', `$1=y')')dnl
ifdef(`yadd',`define(`option',`dooption($1,$2)')',`define(`option',`dooption($1,$3)')')dnl
[...]
option(`CONFIG_CHROOT', `y', `n')
"m4 -Dyadd" schaltet CONFIG_CHROOT ein.
"m4 -Dflash" schaltet CONFIG_CHROOT aus.

Das müsste natürlich nur für die Kernel-.config-Optionen
gemacht werden, die sich zwischen Flash und Yadd unterscheiden.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

Barf hat geschrieben:- Konfigurationsdateien (Patches/*conf* und Patches/*.m4) in einer separeten Verzeichnis versetzen. (Unabhängig von alles anderes.)
busybox-config.m4 liegt nun in cdk/config
http://article.gmane.org/gmane.comp.vid ... ox.scm/529

Die überflüssigen config-Dateien habe ich gelöscht
http://article.gmane.org/gmane.comp.vid ... ox.scm/528
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: "newHead" custimization

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Ich möchte vorschlagen, wenn die Dbox2-Kernel-.config-Dateien
verschoben werden, sollten sie ebenfalls m4-basiert sein anstelle
der jetzigen sed-Orgien. Die IPBox-m4-Infrastruktur kann dabei
als Vorbild dienen.
Hier gibt es den Patch dazu:
http://forum.tuxbox-cvs.sourceforge.net ... 95#p370295
rhabarber1848 hat geschrieben:Ob dabei die Flash- und die Yadd-Variante der jetzigen .config-
Dateien zusammengeführt werden können, kann ich nicht sagen,
das hängt von den enthaltenen Unterschieden ab.
Hat ohne größere Schwierigkeiten funktioniert,
ich habe dabei die Busybox-Variante genutzt:

Code: Alles auswählen

ifdef(`nfs',
`option(`CONFIG_NFS_FS', `y', `m')
Im Yadd im Kernel enthalten, im Flash als Modul, beim
Kompilieren des Yadd-Kernels wird "-Dnfs" immer genutzt.