busybox neue version

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

busybox neue version

Beitrag von mb405 »

ich hab ein problem mit der neuen busybox 1.11.0
ich denke, das die wieder mal ein sprung ist, den wir mitmachen sollten.
die 1.10.4 läuft hier bei mir sehr gut ohne probleme, nur die 1.11.0 lässt sich net kompilieren :(
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Re: busybox neue version

Beitrag von JtG-Riker »

Seit gestern gibts 1.11.1 stable - da ist auch noch ein Bug bei insmod drin und lässt sich nicht compilieren, ich gucke heute abend nochmal dabei.

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

Re: busybox neue version

Beitrag von mb405 »

jo da hängt er bei mir auch immer
und CROSS_COMPILER_PREFIX ist wohl neu.
evtl kannst ja ne config mal anhängen und nen diff, wenns bei dir geht.
Danke
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: busybox neue version

Beitrag von Houdini »

Code: Alles auswählen

--- busybox-1.11.1.orig/modutils/insmod.c.orig	2008-06-25 14:51:18.000000000 +0200
+++ busybox-1.11.1/modutils/insmod.c	2008-07-13 15:58:34.000000000 +0200
@@ -839,7 +839,7 @@
 				struct obj_symbol *sym,
 				ElfW(RelM) *rel, ElfW(Addr) v)
 {
-#if defined(__arm__) || defined(__i386__) || defined(__mc68000__) \
+#if defined(__arm__) || defined(__i386__) || defined(__mc68000__) || defined(__powerpc__) \
  || defined(__sh__) || defined(__s390__) || defined(__x86_64__)
 	struct arch_file *ifile = (struct arch_file *) f;
 #endif
http://home.arcor.de/houdini/dbox/busyb ... .11.1.diff
meine config:
http://home.arcor.de/houdini/dbox/busyb ... .config.m4
ist allerdings noch nicht getestet :-)
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: busybox neue version

Beitrag von seife »

mb405 hat geschrieben:ich denke, das die wieder mal ein sprung ist, den wir mitmachen sollten.
Wozu? Welche dbox-relevanten Features sind denn neu drin? Sollte nicht erst mal der "Fallout" von 1.7 (cifs-mount in enigma) gefixt werden?
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: busybox neue version

Beitrag von bellum »

mb405 hat geschrieben:ich hab ein problem mit der neuen busybox 1.11.0
ich denke, das die wieder mal ein sprung ist, den wir mitmachen sollten.
die 1.10.4 läuft hier bei mir sehr gut ohne probleme, nur die 1.11.0 lässt sich net kompilieren :(
Ist denn bei dieser Vesion die Anzeige des verbrauchten Speichers bei top korrekt?

Gruß bellum
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: busybox neue version

Beitrag von Houdini »

Ist denn bei dieser Vesion die Anzeige des verbrauchten Speichers bei top korrekt?
keine Änderung hier:
Zur Info: bb zeigt hier den virtuellen Speicheverbrauch von "/proc/<pid>/stat" an

Code: Alles auswählen

 PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND
  132    81 root     R     2124   7%  42% top
   95    93 root     S    61860 202%   0% sectionsd
   97    93 root     S    61860 202%   0% sectionsd
   94    93 root     S    61860 202%   0% sectionsd
   92     1 root     S    61860 202%   0% sectionsd
   93    92 root     S    61860 202%   0% sectionsd
   98    93 root     S    61860 202%   0% sectionsd
   99    93 root     S    61860 202%   0% sectionsd
  100    93 root     S    61860 202%   0% sectionsd
  101    93 root     S    61860 202%   0% sectionsd
  120    89 root     S    30012  98%   0% neutrino -f -u
  122   121 root     S    30012  98%   0% neutrino -f -u
  121   120 root     S    30012  98%   0% neutrino -f -u
  123   121 root     S    30012  98%   0% neutrino -f -u

# cat /proc/95/stat
95 (sectionsd) S 93 92 92 0 -1 64 72 0 3 0 234 184 0 0 9 0 0 0 1985 63344640 470 4294967295 268435456 268698320 21
47483312 822245888 267309252 0 0 0 1 3221321452 0 0 33 0
# cat /proc/97/stat
97 (sectionsd) S 93 92 92 0 -1 64 5 0 13 0 7 26 0 0 9 0 0 0 1988 63344640 470 4294967295 268435456 268698320 21474
83312 830635296 267293724 0 0 0 1 3221252904 0 0 33 0
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: busybox neue version

Beitrag von seife »

Houdini hat geschrieben:
Ist denn bei dieser Vesion die Anzeige des verbrauchten Speichers bei top korrekt?
keine Änderung hier:
Zur Info: bb zeigt hier den virtuellen Speicheverbrauch von "/proc/<pid>/stat" an
Was, wenn ich mich recht erinnere, laut POSIX korrekt ist. Ich habe aber die POSIX nicht 100% im Kopf.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: busybox neue version

Beitrag von mb405 »

also hier ist alles perfekt bei top
Mem: 29776K used, 868K free, 0K shrd, 280K buff, 5752K cached
CPU: 49.4% usr 40.2% sys 10.3% nice 0.0% idle 0.0% io 0.0% irq 0.0% softirq
Load average: 3.58 1.75 0.76
PID PPID USER STAT RSS %MEM %CPU COMMAND
4 1 root SW 0 0.0 14.4 [kswapd]
411 402 root R N 3504 11.4 11.6 sectionsd
19768 19391 root R 692 2.2 4.4 top -d 5
19373 284 root S 596 1.9 1.5 telnetd
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: busybox neue version

Beitrag von Houdini »

das ist ja auch das andere (richtige) top
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: busybox neue version

Beitrag von mb405 »

häää ???
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: busybox neue version

Beitrag von Houdini »

das top aus dem procps Paket?
Was ist denn die Ausgabe von

Code: Alles auswählen

ls -la /bin/top
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: busybox neue version

Beitrag von mb405 »

nönö was ich gepostet hab ich die top ausgabe von der busybox 1.11.1.
lrwxrwxrwx 1 root root 7 Jul 20 22:57 /bin/top -> busybox
das diff dazu ist dieses.
is ja quatsch extra noch ne binary einzubauen, wenn das die busybox erledigen kann.

Code: Alles auswählen

diff -Naur busybox-1.11.1_org/procps/ps.c busybox-1.11.1/procps/ps.c
--- busybox-1.11.1_org/procps/ps.c	2008-06-25 14:51:31.000000000 +0200
+++ busybox-1.11.1/procps/ps.c	2008-07-13 10:41:22.000000000 +0200
@@ -523,13 +523,13 @@
 	if (use_selinux)
 		puts("  PID CONTEXT                          STAT COMMAND");
 	else
-		puts("  PID USER       VSZ STAT COMMAND");
+		puts("  PID USER       RSS STAT COMMAND");
 
 	while ((p = procps_scan(p, 0
 			| PSSCAN_PID
 			| PSSCAN_UIDGID
 			| PSSCAN_STATE
-			| PSSCAN_VSZ
+			| PSSCAN_RSS
 			| PSSCAN_COMM
 			| use_selinux
 	))) {
@@ -549,7 +549,7 @@
 			//else
 			{
 				char buf6[6];
-				smart_ulltoa5(p->vsz, buf6, " mgtpezy");
+				smart_ulltoa5(p->rss, buf6, " mgtpezy");
 				buf6[5] = '\0';
 				len = printf("%5u %-8.8s %s %s  ",
 					p->pid, user, buf6, p->state);
diff -Naur busybox-1.11.1_org/procps/top.c busybox-1.11.1/procps/top.c
--- busybox-1.11.1_org/procps/top.c	2008-06-25 14:51:31.000000000 +0200
+++ busybox-1.11.1/procps/top.c	2008-07-13 10:45:15.000000000 +0200
@@ -32,7 +32,7 @@
 
 
 typedef struct top_status_t {
-	unsigned long vsz;
+	unsigned long rss;
 #if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	unsigned long ticks;
 	unsigned pcpu; /* delta of ticks */
@@ -128,8 +128,8 @@
 static int mem_sort(top_status_t *P, top_status_t *Q)
 {
 	/* We want to avoid unsigned->signed and truncation errors */
-	if (Q->vsz < P->vsz) return -1;
-	return Q->vsz != P->vsz; /* 0 if ==, 1 if > */
+	if (Q->rss < P->rss) return -1;
+	return Q->rss != P->rss; /* 0 if ==, 1 if > */
 }
 
 
@@ -382,7 +382,7 @@
 	};
 
 	top_status_t *s = top;
-	char vsz_str_buf[8];
+	char rss_str_buf[8];
 	unsigned long total_memory = display_header(scr_width); /* or use total_vsz? */
 	/* xxx_shift and xxx_scale variables allow us to replace
 	 * expensive divides with multiply and shift */
@@ -393,12 +393,12 @@
 
 	/* what info of the processes is shown */
 	printf(OPT_BATCH_MODE ? "%.*s" : "\e[7m%.*s\e[0m", scr_width,
-		"  PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND");
+		"  PID  PPID USER     STAT   RSS %MEM %CPU COMMAND");
 #else
 
 	/* !CPU_USAGE_PERCENTAGE */
 	printf(OPT_BATCH_MODE ? "%.*s" : "\e[7m%.*s\e[0m", scr_width,
-		"  PID  PPID USER     STAT   VSZ %MEM COMMAND");
+		"  PID  PPID USER     STAT   RSS %MEM COMMAND");
 #endif
 
 #if ENABLE_FEATURE_TOP_DECIMALS
@@ -457,15 +457,15 @@
 	/* Ok, all preliminary data is ready, go through the list */
 	while (count-- > 0) {
 		unsigned col;
-		CALC_STAT(pmem, (s->vsz*pmem_scale + pmem_half) >> pmem_shift);
+		CALC_STAT(pmem, (s->rss*pmem_scale + pmem_half) >> pmem_shift);
 #if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 		CALC_STAT(pcpu, (s->pcpu*pcpu_scale + pcpu_half) >> pcpu_shift);
 #endif
 
-		if (s->vsz >= 100000)
-			sprintf(vsz_str_buf, "%6ldm", s->vsz/1024);
+		if (s->rss >= 100000)
+			sprintf(rss_str_buf, "%6ldm", s->rss/1024);
 		else
-			sprintf(vsz_str_buf, "%7ld", s->vsz);
+			sprintf(rss_str_buf, "%7ld", s->rss);
 		// PID PPID USER STAT VSZ %MEM [%CPU] COMMAND
 		col = snprintf(line_buf, scr_width,
 				"\n" "%5u%6u %-8.8s %s%s" FMT
@@ -474,7 +474,7 @@
 #endif
 				" ",
 				s->pid, s->ppid, get_cached_username(s->uid),
-				s->state, vsz_str_buf,
+				s->state, rss_str_buf,
 				SHOW_STAT(pmem)
 #if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 				, SHOW_STAT(pcpu)
@@ -555,7 +555,7 @@
 	int n;
 	mem_t l, r;
 
-	n = offsetof(topmem_status_t, vsz) + (sort_field * sizeof(mem_t));
+	n = offsetof(topmem_status_t, rss) + (sort_field * sizeof(mem_t));
 	l = *(mem_t*)(a + n);
 	r = *(mem_t*)(b + n);
 //	if (l == r) {
@@ -726,7 +726,7 @@
 	TOP_MASK = 0
 		| PSSCAN_PID
 		| PSSCAN_PPID
-		| PSSCAN_VSZ
+		| PSSCAN_RSS
 		| PSSCAN_STIME
 		| PSSCAN_UTIME
 		| PSSCAN_STATE
@@ -817,7 +817,7 @@
 				top = xrealloc(top, (++ntop) * sizeof(*top));
 				top[n].pid = p->pid;
 				top[n].ppid = p->ppid;
-				top[n].vsz = p->vsz;
+				top[n].rss = p->rss;
 #if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 				top[n].ticks = p->stime + p->utime;
 #endif
dwilx

Re: busybox neue version

Beitrag von dwilx »

Wenn das so ist, wäre das schon ein Argument zum einchecken, oder?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: busybox neue version

Beitrag von mb405 »

also die läuft prima.
der komplette diff mit schon den letzten patches von busybox liegt hier

LINK

wer neue gcc nutzt der muss den trylink teil entfenen am schluss.
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Re: busybox neue version

Beitrag von bellum »

dixidix hat geschrieben:Wenn das so ist, wäre das schon ein Argument zum einchecken, oder?
Sehe ich genauso :D
Gruß bellum
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Re: busybox neue version

Beitrag von geko37 »

seife hat geschrieben: Sollte nicht erst mal der "Fallout" von 1.7 (cifs-mount in enigma) gefixt werden?
Jepp das währe echt mal sinvoll !
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: busybox neue version

Beitrag von Houdini »

also mit diesem Patch sollte es mit der aktuellen busybox funktionieren:
Getestet habe ich auf ein samba share,
user und passwort musste ich mit angeben aber nolock musste raus, das wurde abgelehnt.
/bin/mount -t cifs //bla ...
@seife: den servernamen nutzt er wohl nicht sondern nur den unc path

Code: Alles auswählen

Index: enigma_mount.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/enigma/src/enigma_mount.cpp,v
retrieving revision 1.64
diff -b -B -u -r1.64 enigma_mount.cpp
--- a/enigma_mount.cpp	18 Feb 2007 18:00:57 -0000	1.64
+++ b/enigma_mount.cpp	2 Aug 2008 21:54:46 -0000
@@ -165,7 +165,7 @@
 					case 1: /* CIFS */
 						if (fileSystemIsSupported("cifs"))
 						{
-							cmd = "mount -t cifs //";
+							cmd = "mount -t cifs \\";
 							cmd += ip + "/" + mp.mountDir + " " + mp.localDir + " -o user=";
 							cmd += (mp.userName) ? mp.userName : "anonymous";
 							cmd += (mp.password) ? (",pass=" + mp.password) : "";
Index: setupnetwork.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/enigma/src/setupnetwork.cpp,v
retrieving revision 1.57
diff -b -B -u -r1.57 setupnetwork.cpp
--- a/setupnetwork.cpp	7 Jul 2005 15:23:03 -0000	1.57
+++ b/setupnetwork.cpp	2 Aug 2008 21:54:46 -0000
@@ -1383,7 +1383,7 @@
 			}
 			case 1: // CIFS
 			{
-				opt.sprintf("/bin/mount -t cifs //bla -o user=%s,pass=%s,unc=//%d.%d.%d.%d/%s",
+				opt.sprintf("/bin/mount -t cifs \\bla -o user=%s,pass=%s,unc=//%d.%d.%d.%d/%s",
 					user->getText().c_str(), pass->getText().c_str(),
 					ip->getNumber(0),ip->getNumber(1),
 					ip->getNumber(2),ip->getNumber(3),
Coronas
Developer
Beiträge: 196
Registriert: Dienstag 16. Oktober 2001, 00:00

Re: busybox neue version

Beitrag von Coronas »

Hi,

ich denke nicht, dass es eine gute Idee ist, enigma dahingehend zu ändern - laut $CVSDIR/cdk/linux/Documentation/filesystems/cifs.txt ist slash-slash richtig und backslash-backslash falsch...
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: busybox neue version

Beitrag von Houdini »

alternativ könnte man ja auch den glibc mount() nehmen anstatt den von busybox.
Weiß jemand warum das nicht so gemacht wird?
nitr8
Einsteiger
Einsteiger
Beiträge: 102
Registriert: Freitag 29. Dezember 2006, 10:44

Re: busybox neue version

Beitrag von nitr8 »

mb & Houdini

I tried to make a complete diff, would you guys mind taking a look and giving your blessing?

busybox.1.11.1-diff-17-10-2008_18h29.patch

Danke,

--me
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: busybox neue version

Beitrag von dbt »

Version 1.11.1 is not up to date. The current stable version is 1.12.1 and should works.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: busybox neue version

Beitrag von mb405 »

jop bei mir rennt 1.11.3 seit erscheinen ohne probleme.
die 1.12.1 bring ich nicht hin das die box bootet.
mrvica
Einsteiger
Einsteiger
Beiträge: 342
Registriert: Freitag 24. September 2004, 12:48

Re: busybox neue version

Beitrag von mrvica »

kann wer diff schreiben und mknod, sort... in busybox einfügen, mknod der Vollständigkeit wegen, in dietmarw Enigma steht in rcS dies:

Code: Alles auswählen

........................
if type -p makedevices; then
		makedevices
	else
		# in theory, now it is too late to create /dev/console...
		mknod /dev/console c 5 1
		mknod /dev/null c 1 3
		mknod /dev/tty c 5 0
		mknod /dev/tty0 c 4 0
		mknod /dev/tty1 c 4 1
		mknod /dev/tty2 c 4 2
		mknod /dev/tty3 c 4 3
		mknod /dev/ptmx c 5 2
............................
mknod fehlt definitiv, sort braucht man z.B. für nfs thruput, wenn jemand noch Vorschläge hat, was man einfügen sollte, her damit, Voraussetzung, busybox soll nicht allzuviel gross sein, momentan bei 390k

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

Re: busybox neue version

Beitrag von seife »

mrvica hat geschrieben:kann wer diff schreiben und mknod, sort... in busybox einfügen, mknod der Vollständigkeit wegen, in dietmarw Enigma steht in rcS dies:

Code: Alles auswählen

........................
if type -p makedevices; then
		makedevices
	else
		# in theory, now it is too late to create /dev/console...
		mknod /dev/console c 5 1
		mknod /dev/null c 1 3
		mknod /dev/tty c 5 0
		mknod /dev/tty0 c 4 0
		mknod /dev/tty1 c 4 1
		mknod /dev/tty2 c 4 2
		mknod /dev/tty3 c 4 3
		mknod /dev/ptmx c 5 2
............................
mknod fehlt definitiv
nein. Schau, wann dieser Codepfad durchlaufen wird. In diesem Fall ist auch makedevices da, oder jemand hat böse gepfuscht beim Image bauen.