Kernel 2.6 - IDE Unterstützung einbauen

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

Sehe ich das richtig, das bei Kernel 2.6 bewußt die IDE Sachen ausgeschaltet werden? Das würde erklären, warum man während des builds abgefragt wird wenn man --enable-IDE angibt. Ich kenn mich mit dem makeKram nicht im geringsten aus :oops:

linuxkernel.mk

Code: Alles auswählen

if ENABLE_IDE
IDE_SED_CONF=$(foreach param,CONFIG_IDE CONFIG_BLK_DEV_IDE CONFIG_BLK_DEV_IDEDISK,-e s"/^.*$(param)[= ].*/$(param)=m/")
else
if KERNEL26
IDE_SED_CONF=$(foreach param,CONFIG_IDE CONFIG_BLK_DEV_IDE CONFIG_BLK_DEV_IDEDISK,-e s"/^.*$(param)[= ].*/\# $(param) is not set/")
else
IDE_SET_CONF=-e ""
endif
endif

if ENABLE_EXT3
EXT3_SED_CONF=$(foreach param,CONFIG_EXT2_FS CONFIG_EXT3_FS CONFIG_JBD,-e s"/^.*$(param)[= ].*/$(param)=m/")
else
if KERNEL26
EXT3_SED_CONF=$(foreach param,CONFIG_EXT2_FS CONFIG_EXT3_FS CONFIG_JBD,-e s"/^.*$(param)[= ].*/\# $(param) is not set/")
else
EXT3_SED_CONF=-e ""
endif
endif

if ENABLE_XFS
XFS_SED_CONF=$(foreach param,CONFIG_XFS_FS,-e s"/^.*$(param)[= ].*/$(param)=m/")
else
if KERNEL26
XFS_SED_CONF=$(foreach param,CONFIG_XFS_FS,-e s"/^.*$(param)[= ].*/\# $(param) is not set/")
else
XFS_SED_CONF=-e ""
endif
endif
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von seife »

Tommy hat geschrieben:Sehe ich das richtig, das bei Kernel 2.6 bewußt die IDE Sachen ausgeschaltet werden?
Nein, das siehst du falsch.
Aber natürlich kann es sein, daß da Bugs drin sind da wohl bisher keiner, der Kernel 2.6 baute, auch IDE-Support haben wollte :-)
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

seife hat geschrieben:
Tommy hat geschrieben:Sehe ich das richtig, das bei Kernel 2.6 bewußt die IDE Sachen ausgeschaltet werden?
Nein, das siehst du falsch.
Aber natürlich kann es sein, daß da Bugs drin sind da wohl bisher keiner, der Kernel 2.6 baute, auch IDE-Support haben wollte :-)
Mhhh - vermutl. ist es eher so, das sich keiner für den 2.6 interessiert solange IDE nicht geht. Damit wird der 2.6er auch keine ernsthafte Konkurenz. Ich weis ja nicht, aber vllt. läßt sich ja Gurgel breitschlagen ein IF günstig bereitzustellen. Ich würde mich auch finanziell dran beteiligen. Das setzt natürlich Deine Bereitschaft zum Einbau voraus
:wink:
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Houdini »

ich hab ja jetzt 'nen IDE (Danke an den Zurverfügungsteller) und könnte auch was testen :-)
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

Houdini hat geschrieben:ich hab ja jetzt 'nen IDE (Danke an den Zurverfügungsteller) und könnte auch was testen :-)
Na Du kennst Dich doch auf jeden Fall mit dem CDK besser aus als ich. :wink:
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von PT-1 »

Houdini hat geschrieben:ich hab ja jetzt 'nen IDE (Danke an den Zurverfügungsteller) und könnte auch was testen :-)
Hattest du nicht auch nen Uboot der von Platte bootet ?
hannoo
Neugieriger
Neugieriger
Beiträge: 9
Registriert: Samstag 18. Januar 2003, 20:33

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von hannoo »

Ich hatte nun mal Zeit mir auch den Kernel 2.6 zu bauen,da ich ne HD in der Box habe soll die auch laufen. :wink:
Die HD läuft mit Kernel 2.6,mann muss nur noch paar Sachen im Kernel aktivieren und die Gerätedateien in /dev erstellen.

Hier der interessante Teil vom Bootlog:
.............................
init started: BusyBox v1.9.0 (2008-01-19 17:24:05 CET)
starting pid 102, tty '': '/etc/init.d/rcS'
[ 14.658628] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
[ 14.664801] ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
[ 14.808265] dboxide: $Id: main.c,v 1.4.2.6 2007/10/09 01:04:06 carjay Exp $
[ 14.814988] dboxide: activating cs2
[ 14.818625] dboxide: address space of DBox2 IDE CPLD is at: 0xc38b4000
[ 16.187310] hda: FUJITSU MHV2080AT, ATA DISK drive
[ 16.907573] dbox2 at 0x010-0x017,0x04e on irq 47
[ 17.147445] hda: max request size: 128KiB
[ 17.534284] hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=65535/16/63
[ 17.546822] hda: cache flushes supported
[ 17.551764] hda: hda1 hda2
[ 22.129061] SGI XFS with no debug enabled
[ 22.317740] XFS mounting filesystem hda2
Detected STB:
Vendor: Nokia
Model: D-BOX2
....................................
HD wird gemountet und erkannt:

Code: Alles auswählen

~ > df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    5.9M      5.9M         0 100% /
/dev/root                 5.9M      5.9M         0 100% /
/dev/mtdblock/3           1.5M      1.2M    356.0k  77% /var
/dev/hda2                74.4G     11.9M     74.4G   0% /hdd
Der Mountbefehl muss nun mount -t <filesystem> /dev/hdax /hdd heissen wobei /dev/hda1 /dev/hda2 usw. die einzelnen Partitionen wären.
In der Kernelkonfig hab ich nur das aktiviert fürs IDE:

Code: Alles auswählen

CONFIG_IDE=m
CONFIG_IDE_MAX_HWIFS=4
CONFIG_BLK_DEV_IDE=m
CONFIG_BLK_DEV_IDEDISK=m
Geladen wird das ganze dann in der rcS (oder sonstwo...) mit
modprobe dboxide
modprobe ide_disk

Und natürlich noch die Gerätedateien,hab da mal für 5 Partitionen gemacht.
Für makedevices,iss auch noch nen Fix für die tts dabei :
Index: makedevices/makedevices.c
===================================================================
RCS file: /cvs/tuxbox/apps/misc/tools/makedevices/makedevices.c,v
retrieving revision 1.2
diff -u -r1.2 makedevices.c
--- a/makedevices/makedevices.c 18 Nov 2007 18:12:52 -0000 1.2
+++ b/makedevices/makedevices.c 21 Jan 2008 20:26:48 -0000
@@ -38,8 +38,8 @@
{ "tty1", C, 4, 2 },
{ "tty2", C, 4, 2 },
{ "tty3", C, 4, 3 },
- { "tts/0", C, 4, 64 },
- { "tts/1", C, 4, 65 },
+ { "tts/0", C, 204, 46 },
+ { "tts/1", C, 204, 47 },
{ "tty", C, 5, 0 },
{ "console", C, 5, 1 },
{ "ptmx", C, 5, 2 },
@@ -51,6 +51,12 @@
{ "loop5", B, 7, 5 },
{ "loop6", B, 7, 6 },
{ "loop7", B, 7, 7 },
+ { "hda", B, 3, 0 },
+ { "hda1", B, 3, 1 },
+ { "hda2", B, 3, 2 },
+ { "hda3", B, 3, 3 },
+ { "hda4", B, 3, 4 },
+ { "hda5", B, 3, 5 },
{ "input/mouse0", C, 13, 32 },
{ "input/mice", C, 13, 63 },
{ "input/event0", C, 13, 64 },
Oder halt mit mknod erstellen.

So läuft die Box hier mit IDE,könnt ihr ja mal testen....
u-boot 1.3.1/kernel 2.6.23/busybox 1.9.0
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

So läuft die Box hier mit IDE,könnt ihr ja mal testen....
Und ob ich das tun werde - heute abend gehts los :D
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

hast Du im configure ide und xfs eingeschaltet? Ich habe die kernel config.m4 nach deinen Vorgaben angepaßt und kriege bei enabled ide/xfs trotzdem die Nachfrage beim build. IMO wird doch die Kernelconfig beim configure aus der m4 erstellt - oder liege ich da falsch?
hannoo
Neugieriger
Neugieriger
Beiträge: 9
Registriert: Samstag 18. Januar 2003, 20:33

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von hannoo »

Nee,ich baue mit Oldmake und habe eine -nicht- m4 Kernelconfig.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

so - bei Tommy läuft die HDD fast :wink:

mache ich das an der Konsole wird ordnungsgemäß gemounted:

Code: Alles auswählen

~ # modprobe dboxide
~ # modprobe ide_disk
~ # modprobe xfs
~ # mount -t xfs /dev/hda2 /hdd
~ #
füge ich das allerdings so in die rcS ein

Code: Alles auswählen

# If appropriate, load ide drivers and file system drivers
if [ $KMINOR -ge 6 ]; then
	# kernel 2.6
	if [ -e /lib/modules/$(uname -r)/extra/ide/dboxide.ko ] ; then
		modprobe dboxide
		modprobe ide_disk
		modprobe xfs
	fi
else
	# kernel 2.4
	if [ -e /lib/modules/$(uname -r)/misc/dboxide.o ] ; then
		modprobe ide-core 
		modprobe dboxide 
		modprobe ide-detect 
		modprobe ide-disk 
		modprobe ext2 
		modprobe jbd 
		modprobe ext3 
		modprobe xfs 
	fi
fi
und versuche dann an der Konsole händisch mit mount -t /dev/hda2 /hdd krieg ich ein "device not found". Wenn ich dann die Treiber nochmal an der Konsole lade geht es. :-?
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

Okokok - mein Fehler - die rcS in /var/etc/init.d wird nicht genommen. Kurzer Test mit den Einträgen in der start_neutrino - löppt. IDE im 2.6 ist also kein Hexenwerk :wink:

BTW wo liegt eigentlich swap? /dev/hda1 ? Wie krieg ich das gemounted?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Houdini »

so in der fstab

Code: Alles auswählen

/dev/hdaX none swap defaults 0 0
oder so bei jtg

Code: Alles auswählen

if [ -e /var/etc/.hddpart1 ] ; then
  /sbin/swapon $(cat /var/etc/.hddpart1 2>/dev/null) && /bin/mount -n -t tmpfs tmpfs /tmp -o size=128M,remount
fi
ingrid
Erleuchteter
Erleuchteter
Beiträge: 600
Registriert: Samstag 14. Oktober 2006, 10:53

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von ingrid »

Tommy hat geschrieben:so - bei Tommy läuft die HDD fast :wink:
Ich habe mich jetzt auch mal mutig und ernsthaft an den 2.6er gewagt. IDE funktioniert bei mir auch seit eben. *freu* :lol: :lol:
ingrid
Erleuchteter
Erleuchteter
Beiträge: 600
Registriert: Samstag 14. Oktober 2006, 10:53

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von ingrid »

Houdini hat geschrieben:so in der fstab

Code: Alles auswählen

/dev/hdaX none swap defaults 0 0
...
Aber nicht vergessen, CONFIG_SWAP in der Kernel-Config zu setzen. Böse Falle... :roll:
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

ingrid hat geschrieben:
Houdini hat geschrieben:so in der fstab

Code: Alles auswählen

/dev/hdaX none swap defaults 0 0
...
Aber nicht vergessen, CONFIG_SWAP in der Kernel-Config zu setzen. Böse Falle... :roll:
Mist - muß ich heute abend nochmal neu bauen. Ich weiß auch nicht ob ich swapon in der BB aktiviert habe. Nach hdparm muß ich auch noch schauen. Ich zähl das aber mal zu Finetuning - Hauptsache die Treiber laufen (WZBW) :D
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

Welche Einstellungen sind in der Kernelconfig voneinander abhängig bzw welche machen in bezug auf die FS sinn?

Ich kriege immernoch die Anfragen während des build (immerhin läufts danach durch ;-)

Code: Alles auswählen

#
# File systems
#
option(`CONFIG_EXT2_FS', `y', `n')
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
option(`CONFIG_EXT3_FS', `y', `n')
option(`CONFIG_EXT3_FS_XATTR', `y', `n')
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
# CONFIG_EXT4DEV_FS is not set
option(`CONFIG_JBD', `y', `n')
# CONFIG_JBD_DEBUG is not set
option(`CONFIG_FS_MBCACHE', `y', `n')
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
option(`CONFIG_XFS_FS', `y', `n')
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_INOTIFY is not set
# CONFIG_QUOTA is not set
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

was ist eigentlich der Unterschied zwischen

Code: Alles auswählen

option(`CONFIG_PRINTK_TIME', `y', `n')
und

Code: Alles auswählen

CONFIG_HAS_DMA=y
bezügl. Syntax (nicht Zweck des Parameters). Wird das zweite Beispiel überhaupt berücksichtigt?
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von flasher »

Hi

Ich habe hier schon mal zwei Dateien für newmake.
Mit denen läuft alles ohne Nachfrage durch und die IDE Module werden auch gebaut.

linuxkernel.mk
linux-2.6.23-dbox2.config-flash

In der Config sind zum grössten Teil nur die Sachen hinzugekommen die seife in der REV 1.1 gelöscht hatte.

Gruß
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

mich würde eher der part interessieren (ext3 nimmt dagegen kaum jemand)

Code: Alles auswählen

# CONFIG_XFS_FS is not set
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
wird die config-flash nicht aus der m4 gebaut? Ich dachte die muß man anpassen :gruebel:
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von flasher »

Tommy hat geschrieben:mich würde eher der part interessieren (ext3 nimmt dagegen kaum jemand)

Code: Alles auswählen

# CONFIG_XFS_FS is not set
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
wird die config-flash nicht aus der m4 gebaut? Ich dachte die muß man anpassen :gruebel:
Bei newmake wird die config genommen die ich oben gepostet habe. Selbst beim Kernel 2.4 wird bei newmake kein .m4 benutzt.
newmake arbeitet da mit sed...
In der linuxkernel.mk werden dann innerhalb der config Einträge verändert wenn z.B. --enable-ide engegeben wurde.

Siehe flashroot-fs.mk

Code: Alles auswählen

$(flashprefix)/root-squashfs: bootstrap $(hostprefix)/bin/mkimage
	rm -rf $@
if KERNEL26
	m4 --define=rootfs=squashfs --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) Patches/linux-$(KERNELVERSION).config-flash > $(KERNEL_DIR)/.config
else
	m4 --define=rootfs=squashfs --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) Patches/linux-2.4.35.5-dbox2.config-flash > $(KERNEL_DIR)/.config
endif
Wenn ich mich recht erinner, dann hat Houdini die .m4 für oldmake eingeführt.

Gruß
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

ich habe Deine config getestet aber zusätzlich noch den XFS Part aktiviert - baut durch. Testen kann ich das Image erst morgen (WAF) :wink:
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von flasher »

Hi

Den XFS Part aber per Configure Option, oder?
--enable-xfs

Gruß
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von Tommy »

flasher hat geschrieben:Hi

Den XFS Part aber per Configure Option, oder?
--enable-xfs

Gruß
Ich hab den Schalter im Configure UND habe in der config die 5 Einträge auf "y" gesetzt. Is wohl Quark?
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: Kernel 2.6 - IDE Unterstützung einbauen

Beitrag von flasher »

Hi

Du musst nur im Configure --enable-xfs angeben. Dadurch wirde CONFIG_XFS_FS automatisch auf "m" gesetzt.
Da ich mal denke, dass Deine Box später nicht als Multiuser- o. Hochverfügbarkeitsserver laufen soll, brauchst Du die anderen XFS Einträge nicht.

So wie ich die Config gepostet habe braucht man da nichts dran zu ändern. Wenn Du etwas möchtest, dann über die Parameter beim configure.
--enable-ide
--enable-xfs
--disable-ext3

Gruß