Kann mal ein "versteher" die neue busybox.config.m

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Kann mal ein "versteher" die neue busybox.config.m

Beitrag von mb405 »

also. es sind ja ne menge neuer sachen drin. das löst ja die busybox-flash.config ab.

1. option(`xxxxxx', `y', `n')
2. option(`xxxxxx', `n', `y')
3. option(`xxxxxx', `y', `y')
4. option(`xxxxxx', `n', `n')
5.

Code: Alles auswählen

ifdef(`ide',
`option(`CONFIG_FDISK', `y', `y')
option(`FDISK_SUPPORT_LARGE_DISKS', `y', `y')
option(`CONFIG_FEATURE_FDISK_WRITABLE', `y', `y')',
`option(`CONFIG_FDISK', `n', `n')
option(`FDISK_SUPPORT_LARGE_DISKS', `n', `n')
option(`CONFIG_FEATURE_FDISK_WRITABLE', `n', `n')'
)
also soweit ich das verstehe sind die beiden y oder n für flash und yadd da ?
und das ifdef ?? wo ist das definiert ?
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Re: Kann mal ein "versteher" die neue busybox.conf

Beitrag von racker »

mb405 hat geschrieben:also. es sind ja ne menge neuer sachen drin. das löst ja die busybox-flash.config ab.

1. option(`xxxxxx', `y', `n')
2. option(`xxxxxx', `n', `y')
3. option(`xxxxxx', `y', `y')
4. option(`xxxxxx', `n', `n')
5.

Code: Alles auswählen

ifdef(`ide',
`option(`CONFIG_FDISK', `y', `y')
option(`FDISK_SUPPORT_LARGE_DISKS', `y', `y')
option(`CONFIG_FEATURE_FDISK_WRITABLE', `y', `y')',
`option(`CONFIG_FDISK', `n', `n')
option(`FDISK_SUPPORT_LARGE_DISKS', `n', `n')
option(`CONFIG_FEATURE_FDISK_WRITABLE', `n', `n')'
)
also soweit ich das verstehe sind die beiden y oder n für flash und yadd da ?
und das ifdef ?? wo ist das definiert ?
@Houdini
Mußte das sein?
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

Diese neue Config ist äußerst ungewohnt zur bisherigen.

Edit: Die Fragen dazu haben sich erledigt.
Zuletzt geändert von Nico 77 am Samstag 23. September 2006, 12:04, insgesamt 2-mal geändert.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

die neue config entspricht ja fast genau den angaben der alten busybox-flash.config.
also kompiliert hat der wunderbar.
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

ifdef(`ide' bezieht sich (wahrscheinlich) auf CONFIG_IDE
das format sollte 'option', 'yadd','flash' sein

ein kleiner hinweis oder ein forum von houdini wäre sicher gut gewesen

innu
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

na läuft ja durch. das ist die hauptsache.
mit ein wenig überlegung kommt man dahinter wies geht ;)
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Beitrag von geko37 »

kann mir eventuell einer da was zu sagen ???

http://tuxbox-forum.dreambox-fan.de/for ... hp?t=43069
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

m4 ist ein Makropräprozessor. Er erinnert etwas um den bekanteren C Präprozessor CPP, ist aber in Unterschied zu CPP als stand-alone Makropräprozessor konzipiert, und ist deutlich mehr kraftvoll.

Die zwei "Zwillingfiles" busybox.config und busybox.config-flash wird durch diese eines ersetzt. Besser ausgedruckt: die Konfigurationsfiles für yadd und flash werden bei bedarf vom *.m4-File erzeugt, durch ein Aufruf wie

Code: Alles auswählen

m4 -Dyadd busybox.config.m4 > .../.config
Darch muss mann nur eine Datei unterhalten. Stichwort: "single-sourcing": Information die gleich, oder in Wesentlichen gleich, muss nur einmal gepflegt werden. Es wird leichter zu sehen, wo sich die yadd- und die Flashconfiguration sich unterscheidet. Insbesonders wird es einfacher, in der zukunft änderungen durchzuführen, die beide betroffen. In der Vergangenheit ist es oft passiert, dass Änderungen nur in ein von den zwei Files einfliessen. Mann fragt sich warum? Ist es weil die Änderrung nur ein Fall betreffen? Oder ist es weil der Einchecker sich nur für ein Fall intressiert, und der andere Fall einfach ihm egal ist? Fast immer bleibt diese Frage unbeantwortet.

Diese Technik ist in newmake seit längeren Zeit benutzt worden.

m4 ist in Detail hier beschrieben. However, kaum jemanden muss es lesen, insbesonders nicht um busybox zu kompilieren, oder einfachere Änderungen im Konfiguration durchführen.

option ist ein Makro, am Anfang der Datei definiert. Wie schon geraten, option(`xxxxxx', `y', `n') bedeutet dass xxxxxx den wert y in YADD und n in Flash bekommt. ifdef ist in m4 eingebaut (siehe Handbuch). Ähnlich wie CPP ifdef, siehe Handbuch.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

@Houdini
Mußte das sein?
musste nicht aber bevor ich 4 config-files ändere (3 oldmake, + 1 newmake)
dachte ich ein File wär besser :-)
Und da es schon lange so in newmake gemacht wird ging ich davon aus, daß das Prinzip bekannt wär.

P.S.: Der Kernel ist demnächst dran...
Edit:
Hier schon mal was zum vorbereiten:
http://home.arcor.de/houdini/dbox/linux ... .config.m4

Code: Alles auswählen

if TARGETRULESET_FLASH
# cat Patches/linux-$(KERNELVERSION).config-flash > $(KERNEL_DIR)/.config
m4 -Dflash Patches/linux-$(KERNELVERSION).config.m4 > 
$(KERNEL_DIR)/.config
else
# cat Patches/linux-$(KERNELVERSION).config > $(KERNEL_DIR)/.config
m4 -Dyadd Patches/linux-$(KERNELVERSION).config.m4 > $(KERNEL_DIR)/.config
endif
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

Innuendo hat geschrieben:ifdef(`ide' bezieht sich (wahrscheinlich) auf CONFIG_IDE

Korrektur:

if TARGETRULESET_FLASH
m4 -Dflash -Dide Patches/busybox.config.m4 > @DIR_busybox@/.config
else
m4 -Dyadd Patches/busybox.config.m4 > @DIR_busybox@/.config
endif


das format sollte 'option', 'yadd','flash' sein

ein kleiner hinweis oder ein forum von houdini wäre sicher gut gewesen

innu
tine1084
Einsteiger
Einsteiger
Beiträge: 160
Registriert: Freitag 8. September 2006, 14:58

Beitrag von tine1084 »

Was muss man bei der "busybox.config.m4" einstellen, dass die busybox mit ide-unterstützung gebaut wird?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

mit der holzhammermethode :)

Code: Alles auswählen

ifdef(`ide', 
 `option(`CONFIG_FDISK', `y', `y') 
 option(`FDISK_SUPPORT_LARGE_DISKS', `y', `y') 
 option(`CONFIG_FEATURE_FDISK_WRITABLE', `y', `y')', 
 `option(`CONFIG_FDISK', `n', `n') 
 option(`FDISK_SUPPORT_LARGE_DISKS', `n', `n') 
 option(`CONFIG_FEATURE_FDISK_WRITABLE', `n', `n')' 
 )
in

Code: Alles auswählen

option(`CONFIG_FDISK', `y', `y') 
option(`FDISK_SUPPORT_LARGE_DISKS', `y', `y') 
option(`CONFIG_FEATURE_FDISK_WRITABLE', `y', `y')
das machste bei jeder ide abfrage, und schon klappts :)
ich musste mir damit auch behelfen, da ich kein newmake nutze. bei newmake kannste das ja angeben.
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Innu hat doch die Lösuing geschrieben oben:

in cdk/Makefile.am

if TARGETRULESET_FLASH
m4 -Dflash -Dide Patches/busybox.config.m4 > @DIR_busybox@/.config
else
m4 -Dyadd Patches/busybox.config.m4 > @DIR_busybox@/.config
endif
tine1084
Einsteiger
Einsteiger
Beiträge: 160
Registriert: Freitag 8. September 2006, 14:58

Beitrag von tine1084 »

Danke @JtG-Riker hab ich jetzt auch so gemacht. In "cdk/Makefile.am" habe ich noch die "linux-2.4.33.3-dbox2.config-flash" in "linux-2.4.33.3-dbox2.config-flash-ide2" umbenannt! Ist das soweit richtig? Was muss noch angepasst werden, dass ein Image mit IDE Unterstützung gebaut wird?

mfg tine1084