utillinux, Update auf utillinux-ng und fdisk@mmc

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

utillinux, Update auf utillinux-ng und fdisk@mmc

Beitrag von dbt »

EDIT (11.03.2010): Ich habe Postings zum Thema utillinux, Update auf utillinux-ng und MMC-spezifische Probleme bei fdisk aus diversen threads der letzten Monate in diesem neuen Thread zusammengetragen /rhabarber1848


verschoben:
Ich bin gerade auf ein etwas seltsames Verhalten von fdisk und der bb-fdisk version in Bezug auf MMC gestoßen.
Vom mmc bekomme ich das:

Code: Alles auswählen

Using /lib/modules/2.4.37.2-dbox2/misc/mmc2.o
mmc2 Driver $Id: mmc2.c,v 1.4 2007/05/20 13:42:05 satsuse Exp $
mmc2: Hardware init
mmc: Card init
mmc: Card init *OK1*
mmc: Card init *OK2*
mmc: Media found Size = 992000, hardsectsize = 512, sectors = 1984000
 mmca: p1
[hdd-setup] load modul mmc2...ok
Das original fdisk gibt mir korrekt 1GB Speicher aus,

Code: Alles auswählen

Disk /dev/mmc/disc0/disc: 1015 MB, 1015808000 bytes
4 heads, 16 sectors/track, 31000 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
bb fdisk gibt mir nur 1MB aus.

Code: Alles auswählen

Disk /dev/mmc/disc0/disc: 1 MB, 1984000 bytes
4 heads, 16 sectors/track, 60 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

Jetzt weiß ich nicht ob das an der Karte liegt oder sonstwas. Kann das jemand in irgendeiner Weise nachvollziehen, falls doch muss hier irgendwas mit der Berechnung oder der bb-config daneben gehen :gruebel:
Edit: zumindest kann man die Anzahl der Zylinder unter den x-Optionen ändern, wenn man das Feature in der bb-config aktiviert, aber default ändert sich leider nichts :-?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Busybox optionen die in images an sind, und in yadds aus.

Beitrag von rhabarber1848 »

dbt hat geschrieben:Edit: zumindest kann man die Anzahl der Zylinder unter den x-Optionen ändern, wenn man das Feature in der bb-config aktiviert, aber default ändert sich leider nichts :-?
Soll irgendwas gepatcht werden?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Busybox optionen die in images an sind, und in yadds aus.

Beitrag von dbt »

Code: Alles auswählen

Index: busybox.config.m4
===================================================================
RCS file: /cvs/tuxbox/cdk/config/busybox.config.m4,v
retrieving revision 1.6
diff -u -r1.6 busybox.config.m4
--- a/busybox.config.m4	18 Jul 2009 16:52:06 -0000	1.6
+++ b/busybox.config.m4	19 Jul 2009 19:38:16 -0000
@@ -477,16 +477,17 @@
 ifdef(`ide',
 `option(`CONFIG_FDISK', `y', `y')
 option(`CONFIG_FDISK_SUPPORT_LARGE_DISKS', `y', `y')
-option(`CONFIG_FEATURE_FDISK_WRITABLE', `y', `y')',
+option(`CONFIG_FEATURE_FDISK_WRITABLE', `y', `y')
+option(`CONFIG_FEATURE_FDISK_ADVANCED', `y', `y')',
 `option(`CONFIG_FDISK', `n', `n')
 option(`CONFIG_FDISK_SUPPORT_LARGE_DISKS', `n', `n')
 option(`CONFIG_FEATURE_FDISK_WRITABLE', `n', `n')'
+option(`CONFIG_FEATURE_FDISK_ADVANCED', `n', `n')'
 )
 option(`CONFIG_FEATURE_AIX_LABEL', `n', `n')
 option(`CONFIG_FEATURE_SGI_LABEL', `n', `n')
 option(`CONFIG_FEATURE_SUN_LABEL', `n', `n')
 option(`CONFIG_FEATURE_OSF_LABEL', `n', `n')
-option(`CONFIG_FEATURE_FDISK_ADVANCED', `n', `n')
 # CONFIG_FINDFS is not set
 option(`CONFIG_FREERAMDISK', `n', `n')
 option(`CONFIG_FSCK_MINIX', `n', `n')
Damit könnte man sich irgendwie einen Würgaround basteln, aber es ist trotzdem nicht schön, dass die beiden Versionen solche Unterschiede aufweisen. Vermutlich hat das auch einen Grund, aber das müsste man wahrscheinlich direkt bei Busybox.net erfragen :gruebel:
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Busybox optionen die in images an sind, und in yadds aus.

Beitrag von rhabarber1848 »

Ich habe gestern util-linux/fdisk.c und busybox/util-linux/fdisk.c verglichen,
ohne gravierende Unterschiede zu finden. Evtl. könntest Du dort Debug-Code
einbauen und schauen, mit welchen Daten dort Berechnungen stattfinden.
Mangels IDE/MMC-Interface kann ich hier nicht helfen.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Busybox optionen die in images an sind, und in yadds aus.

Beitrag von dbt »

rhabarber1848 hat geschrieben:Ich habe gestern util-linux/fdisk.c und busybox/util-linux/fdisk.c verglichen,
ohne gravierende Unterschiede zu finden. Evtl. könntest Du dort Debug-Code
einbauen und schauen, mit welchen Daten dort Berechnungen stattfinden.
Mangels IDE/MMC-Interface kann ich hier nicht helfen.
Das fällt auch im ersten Moment nicht auf, nur beim MMC kam das raus. Das passt einfach nicht. :-?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Busybox optionen die in images an sind, und in yadds aus.

Beitrag von GetAway »

rhabarber1848 hat geschrieben:
GetAway hat geschrieben:Momentan nicht, kann aber als mögliche Option nicht schaden.
Hast Du getestet, ob ein gepatchtes insmod mit Kernel 2.6 funktioniert?
K26 insmod funktioniert insofern, das es keine Parameter bzw. Optionen annimmt.
Ein einfaches insmod "modul" funktioniert.

dbt hat geschrieben: bb fdisk gibt mir nur 1MB aus.

Code: Alles auswählen

Disk /dev/mmc/disc0/disc: 1 MB, 1984000 bytes
4 heads, 16 sectors/track, 60 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Eine 512MB Karte sieht nicht viel anders aus, wobei beim unteren Teil korrekte Daten geliefert werden.

Code: Alles auswählen

/var # fdisk -l /dev/mmc/disc0/disc

Disk /dev/mmc/disc0/disc: 0 MB, 979456 bytes
4 heads, 16 sectors/track, 29 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

              Device Boot      Start         End      Blocks  Id System
/dev/mmc/disc0/part1               1        1024       32767+ 82 Linux swap
/dev/mmc/disc0/part2            1025       15304      456960   b Win95 FAT32
Partition 2 has different physical/logical beginnings (non-Linux?):
     phys=(1023, 3, 16) logical=(1024, 0, 1)
Partition 2 has different physical/logical endings:
     phys=(1023, 3, 16) logical=(15303, 3, 16)
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Busybox optionen die in images an sind, und in yadds aus.

Beitrag von dbt »

Das passt nicht, auch mit Workaround über die x-Optionen will das nicht. Das muss an bb selbst geändert werden.
Ich habe gestern util-linux/fdisk.c und busybox/util-linux/fdisk.c verglichen,
ohne gravierende Unterschiede zu finden. Evtl. könntest Du dort Debug-Code
einbauen und schauen, mit welchen Daten dort Berechnungen stattfinden.
Einige Unterschiede hab ich auch gefunden. Zwar auch nicht weiter schlimm aber es gibt sie. Wäre es nicht einfacher sich generell darauf zu einigen die echte fdisk-Version zu benutzen? Daran rum zu doktern, ist wahrscheinlich so ähnlich wie der Fall insmod und da bin ich nicht scharf drauf, es sei denn es repariert jemand oder bb kommt von selbst drauf. :wink:
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Busybox optionen die in images an sind, und in yadds aus.

Beitrag von dbt »

seife hat geschrieben:Naja. Wenn jemand einen Patch für busybox hat, dann bin ich durchaus bereit und in der Lage, den upstream-tauglich zu machen und dorthin zu schicken. Ich habe aber keine SD-Karte drin und werde es deswegen nicht selbst fixen.
Eine SD Karte ist wahrscheinlich nicht unbedingt erforderlich. Allein die fdisk-Ausgabe beim Programmstart deutet darauf hin, dass hier die bb-version irgendwie anders tickt, als die originale.
Das hier macht die originale Version permanent:

Code: Alles auswählen

The number of cylinders for this disk is set to 31000.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Das macht die bb-version nur, wenn man die cylinder Anzahl mit den x_optionen geändert hat. Die Cylinder werden zwar temporär so wie gewollt angezeigt, aber ohne den gewünschten Effekt. Im Gegenteil, die vorhandenen Partitionen schießt's mit aller Regelmäßigkeit :evil: ab bzw. werden mit maximal 1MB Größe angelegt. Eine mit w übergebene Einstellung bleibt scheinbar nicht erhalten und alles bleibt wie bisher. Das das so beabsichtigt sein soll, kann ich mir so nicht wirklich vorstellen, da das vom Original doch wirklich zu weit weg ist.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Fehler beim bauen für Kernel26

Beitrag von dbt »

make utillinux spinnt auch:

Code: Alles auswählen

llseek.c:34: error: syntax error before "_llseek"
llseek.c:50: warning: return type defaults to `int'
llseek.c:50: warning: function declaration isn't a prototype
llseek.c: In function `_syscall5':
llseek.c:52: error: storage class specified for parameter `my_llseek'
llseek.c:52: error: syntax error before '{' token
llseek.c:56: error: syntax error before "retval"
llseek.c:70: error: storage class specified for parameter `do_compat'
llseek.c:70: error: parameter `do_compat' is initialized
llseek.c:72: error: syntax error before "if"
llseek.c:30: warning: '_llseek' declared `static' but never defined
llseek.c:50: warning: '_syscall5' defined but not used
make[2]: *** [llseek.o] Fehler 1
make[2]: Leaving directory `/home/dbt/build/tuxbox-cvs/cdk/util-linux-2.12r/fdisk'
make[1]: *** [all] Fehler 1
make[1]: Leaving directory `/home/dbt/build/tuxbox-cvs/cdk/util-linux-2.12r'
make: *** [.deps/utillinux] Fehler 2
dbt@linux-11-1:~/build/tuxbox-cvs/cdk> 
Die Tools im speziellen habe ich das bei fdisk festgestellt, laufen irgendwie nicht, weiß aber nicht, ob das nur local ist.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fehler beim bauen für Kernel26

Beitrag von rhabarber1848 »

dbt hat geschrieben:make utillinux spinnt auch
Ist bekannt, Patch scheint vorhanden:
http://bugs.debian.org/cgi-bin/bugrepor ... =239670#40

Oder wir steigen auf den Nachfolger um:
http://userweb.kernel.org/~kzak/util-linux-ng/
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Fehler beim bauen für Kernel26

Beitrag von seife »

Ich habe util-linux seit vielen busybox-Versionen nicht mehr vermisst...
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Fehler beim bauen für Kernel26

Beitrag von dbt »

Ich auch nicht, aber weil ich fdisk gebraucht habe, ist das halt aufgefallen. :wink:
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Fehler beim bauen für Kernel26

Beitrag von seife »

hm, busybox-fdisk hat mir auf der tripledragon immer gereicht...
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Fehler beim bauen für Kernel26

Beitrag von dbt »

seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Fehler beim bauen für Kernel26

Beitrag von seife »

hm, muss ich doch mal die SD/mmc-Kabel vom Interface bei mir anlöten? Mist :)
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Neutrino auf der IPBox

Beitrag von rhabarber1848 »

util-linux baut nicht auf Kernel 2.6, ist ein bekanntes Problem, das hier noch nicht ausdiskutiert wurde.
Grabber66
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Dienstag 1. Juni 2004, 12:24

Re: Neutrino auf der IPBox

Beitrag von Grabber66 »

Schade das das nicht geht, leider geht nicht nur utillinux nicht, sondern auch make flash-sfdisk.
Fehlermelgung sieht man ja im log ein paar posts eher.

Könnte man denn auch auf der IPBox mit dem "alten" Kernel 2.4 bauen.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Neutrino auf der IPBox

Beitrag von dbt »

Grabber66 hat geschrieben:Schade das das nicht geht, leider geht nicht nur utillinux nicht, sondern auch make flash-sfdisk.
Fehlermelgung sieht man ja im log ein paar posts eher.
Für die ganzen make flash-sfdisk, flash-fdisk ....utils eben wird immer erst make utillinux ausgeführt, das heißt wenn das geht gehen auch die sub-targets, weil die die einzelnen utils lediglich in die flash-root-dingensens installieren und nicht bauen müssen. Das müsste man sich halt mal genauer ansehen.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Neutrino auf der IPBox

Beitrag von seife »

util-linux sollte aber kein unlösbares Problem darstellen, schliesslich wird es auf jeder Linux-Distribution mitgeliefert und alle haben inzwischen Kernel 2.6

Wo hakt es denn?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Neutrino auf der IPBox

Beitrag von seife »

fix: [url=http://www.tuxbox-upload.de/index.php?a ... tory=Diffs]util-linux-ng-2.16.2.diff[/url]
Grabber66
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Dienstag 1. Juni 2004, 12:24

Re: Neutrino auf der IPBox

Beitrag von Grabber66 »

bricht leider auch noch ab.

Code: Alles auswählen

grabber66@linux-vmlk:~/Neutrino/CVS/cdk> make flash-sfdisk
make: *** Keine Regel vorhanden, um das Target »/home/grabber66/Neutrino/CVS/cdk/Archive/util-linux-ng-2.16.2.tar.bz2«,
  benötigt von ».deps/utillinux«, zu erstellen.  Schluss.
grabber66@linux-vmlk:~/Neutrino/CVS/cdk> make utillinux
make: *** Keine Regel vorhanden, um das Target »/home/grabber66/Neutrino/CVS/cdk/Archive/util-linux-ng-2.16.2.tar.bz2«,
  benötigt von ».deps/utillinux«, zu erstellen.  Schluss.
grabber66@linux-vmlk:~/Neutrino/CVS/cdk>
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Neutrino auf der IPBox

Beitrag von rhabarber1848 »

Hier funktioniert es, wahrscheinlich hast Du noch Überreste von früheren Kompilierversuchen drin.

PS: Kompiliert auf Dbox mit Kernel 2.4 & 2.6.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Neutrino auf der IPBox

Beitrag von rhabarber1848 »

Neuer util-linux-ng-Patch, kompiliert mit uClibc: util-linux-ng.diff

@dbt: Testest Du bitte den Patch mit Deinem IDE-Patch?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fehler beim bauen für Kernel26

Beitrag von rhabarber1848 »

dbt hat geschrieben:make utillinux spinnt auch:
http://www.tuxbox-cvs.sourceforge.net/f ... 39#p373239

Der Patch wirkt sich auch auf Kernel 2.4 aus, daher sollte er ausgiebig getestet werden.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

[fix] make utillinux broken

Beitrag von dbt »

Code: Alles auswählen

make utillinux
( rm -rf util-linux-2.12r || /bin/true ) && bunzip2 -cd /home/dbt/build_26/tuxbox-cvs/cdk/Archive/util-linux-2.12r.tar.bz2 | TAPE=- tar -x && ( cd util-linux-2.12r; patch -p1 < ../Patches/util-linux.diff ) && ((for f1 in config.guess config.sub; do (for f2 in `find util-linux-2.12r -name $f1`; do (test -e $f2 && rm -f $f2 && ln -s /home/dbt/build_26/tuxbox-cvs/cdk/Patches/$f1 $f2 && echo "updated $f2") done) done) || /bin/true)
patching file MCONFIG
Hunk #4 succeeded at 102 with fuzz 1 (offset 5 lines).
patching file Makefile
patching file fdisk/fdiskbsdlabel.c
patching file fdisk/sfdisk.c
cd util-linux-2.12r && \
		CC=powerpc-tuxbox-linux-gnu-gcc \
		CFLAGS="-Os -msoft-float -I/home/dbt/build_26/dbox2/cdkroot/include/ncurses" \
		LDFLAGS="-Wl,-O1" \
		./configure && \
		make ARCH=ppc all && \
		make install SBINDIR=/home/dbt/build_26/dbox2/cdkroot/sbin MAN8DIR=/home/dbt/build_26/dbox2/cdkroot/man

configuring util-linux-2.12r

You have <scsi/scsi.h>
You have <linux/blkpg.h>
You have <linux/kd.h>
You have <locale.h>
You have <langinfo.h>
You don't have <sys/user.h>
You don't have <asm/page.h>
You don't have <uuid/uuid.h>
You don't have <rpcsvc/nfs_prot.h>
You have <asm/types.h>
You have <linux/raw.h>
You have <stdint.h>
You don't have <sys/io.h>
You have inet_aton()
You have fsync()
You have getdomainname()
You have nanosleep()
You have personality()
You have updwtmp()
You have fseeko()
You have lchown()
You have rpmatch()
You don't have <term.h>
You don't have ncurses - I will not make ul and setterm.
You don't have termcap - I will not make more.
You need -lcrypt
You have <libintl.h> and gettext()
You have __progname
You have <pty.h> and openpty()
You have wide character support
You have SYS_pivot_root
You have a tm_gmtoff field in struct tm
Your rpcgen seems to work
You have zlib
You don't have blkid
make[1]: Entering directory `/home/dbt/build_26/tuxbox-cvs/cdk/util-linux-2.12r'
make[2]: Entering directory `/home/dbt/build_26/tuxbox-cvs/cdk/util-linux-2.12r/po'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Leaving directory `/home/dbt/build_26/tuxbox-cvs/cdk/util-linux-2.12r/po'
make[2]: Entering directory `/home/dbt/build_26/tuxbox-cvs/cdk/util-linux-2.12r/fdisk'
powerpc-tuxbox-linux-gnu-gcc -c -O2 -fomit-frame-pointer -I../lib -Wall -Wmissing-prototypes -Wstrict-prototypes   -DDISABLE_NLS -D_FILE_OFFSET_BITS=64 -DSBINDIR=\"/sbin\" -DUSRSBINDIR=\"/usr/sbin\" -DLOGDIR=\"/var/log\" -DVARPATH=\"/var\" -DLOCALEDIR=\"/usr/share/locale\" -Os -msoft-float -I/home/dbt/build_26/dbox2/cdkroot/include/ncurses fdisk.c -o fdisk.o
powerpc-tuxbox-linux-gnu-gcc -c -O2 -fomit-frame-pointer -I../lib -Wall -Wmissing-prototypes -Wstrict-prototypes   -DDISABLE_NLS -D_FILE_OFFSET_BITS=64 -DSBINDIR=\"/sbin\" -DUSRSBINDIR=\"/usr/sbin\" -DLOGDIR=\"/var/log\" -DVARPATH=\"/var\" -DLOCALEDIR=\"/usr/share/locale\" -Os -msoft-float -I/home/dbt/build_26/dbox2/cdkroot/include/ncurses llseek.c -o llseek.o
llseek.c:34: error: syntax error before "_llseek"
llseek.c:50: warning: return type defaults to `int'
llseek.c:50: warning: function declaration isn't a prototype
llseek.c: In function `_syscall5':
llseek.c:52: error: storage class specified for parameter `my_llseek'
llseek.c:52: error: syntax error before '{' token
llseek.c:56: error: syntax error before "retval"
llseek.c:70: error: storage class specified for parameter `do_compat'
llseek.c:70: error: parameter `do_compat' is initialized
llseek.c:72: error: syntax error before "if"
llseek.c:30: warning: '_llseek' declared `static' but never defined
llseek.c:50: warning: '_syscall5' defined but not used
make[2]: *** [llseek.o] Fehler 1
make[2]: Leaving directory `/home/dbt/build_26/tuxbox-cvs/cdk/util-linux-2.12r/fdisk'
make[1]: *** [all] Fehler 1
make[1]: Leaving directory `/home/dbt/build_26/tuxbox-cvs/cdk/util-linux-2.12r'
make: *** [.deps/utillinux] Fehler 2
dbt@linux-11-1:~/build_26/tuxbox-cvs/cdk> 
Config:

Code: Alles auswählen

./autogen.sh
./configure 	--enable-kernel26 \
            	--enable-maintainer-mode \
            	--prefix=$DISTRIDIR \
            	--enable-flashrules \
           	--enable-cdkVcInfo \
            	--enable-ide \
		--enable-mmc \
            	--with-checkImage=rename \
            	--with-cvsdir=$CVSDIR \
		--with-appsdir=$CVSDIR/apps \
		--with-hostappsdir=$CVSDIR/hostapps \
		--with-driverdir=$CVSDIR/driver \
            	--enable-ccache
Das hat schon mal funktioniert, wurde letztens da was weggeupdatet? Für K24 gehts.