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
![sad :(](./images/smilies/icon_sad.gif)
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
Wozu? Welche dbox-relevanten Features sind denn neu drin? Sollte nicht erst mal der "Fallout" von 1.7 (cifs-mount in enigma) gefixt werden?mb405 hat geschrieben:ich denke, das die wieder mal ein sprung ist, den wir mitmachen sollten.
Ist denn bei dieser Vesion die Anzeige des verbrauchten Speichers bei top korrekt?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
keine Änderung hier:Ist denn bei dieser Vesion die Anzeige des verbrauchten Speichers bei top korrekt?
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
Was, wenn ich mich recht erinnere, laut POSIX korrekt ist. Ich habe aber die POSIX nicht 100% im Kopf.Houdini hat geschrieben:keine Änderung hier:Ist denn bei dieser Vesion die Anzeige des verbrauchten Speichers bei top korrekt?
Zur Info: bb zeigt hier den virtuellen Speicheverbrauch von "/proc/<pid>/stat" an
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
Code: Alles auswählen
ls -la /bin/top
das diff dazu ist dieses.lrwxrwxrwx 1 root root 7 Jul 20 22:57 /bin/top -> busybox
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
Sehe ich genausodixidix hat geschrieben:Wenn das so ist, wäre das schon ein Argument zum einchecken, oder?
Jepp das währe echt mal sinvoll !seife hat geschrieben: Sollte nicht erst mal der "Fallout" von 1.7 (cifs-mount in enigma) gefixt werden?
@seife: den servernamen nutzt er wohl nicht sondern nur den unc path/bin/mount -t cifs //bla ...
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),
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
............................
nein. Schau, wann dieser Codepfad durchlaufen wird. In diesem Fall ist auch makedevices da, oder jemand hat böse gepfuscht beim Image bauen.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:mknod fehlt definitivCode: 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 ............................