Sunday, May 27, 2012

Компиляция busybox под mips

  1. tar -xvf ../cross-compiler-mips.tar.bz2
  2. tar -xvf ../busybox-1.20.0.tar.bz2
  3. cd busybox-1.20.0/
  4. CROSS_COMPILE="$PWD/../cross-compiler-mips/bin/mips-"
  5. LDFLAGS="--static" make CROSS_COMPILE="$CROSS_COMPILE" defconfig
  6. LDFLAGS="--static" make CROSS_COMPILE="$CROSS_COMPILE" all
  7. LDFLAGS="--static" make CROSS_COMPILE="$CROSS_COMPILE" install
P.S.: Образ для виртуальной машины, чтобы проверить можно скачать здесь.

Sunday, May 20, 2012

bootchart и ubuntu

Маленькое не соответсвие докуметации bootchart в ubuntu - в документации указано, что им нужно заменять init процесс, в Ubuntu он прописывает при установке себя в демоны и хранит результаты в /var/log/bootchart.

Saturday, May 5, 2012

Компиляция strace под mips

  1. tar -xvf ../cross-compiler-mips.tar.bz2
  2. tar -xvf ../strace-4.7.tar.xz
  3. cd strace-4.7/
  4. export PATH=$PATH:../cross-compiler-mips/bin/
  5. CFLAGS=-I../cross-compiler-mips/include/ CC=mips-gcc LDFLAGS=-static ./configure --host=mips-linux && make LDFLAGS=-static
  6. mips-strip -v --strip-unneeded strace -o strace-stripped ; ls -l strace-stripped; file strace-stripped

Wednesday, May 2, 2012

va_list и gdb

Хорошая штука va_lixt, но под gdb нужно делать страшные комбинации чтобы посмотреть в чем ошибка:
#0  g_logv (log_domain=0x0, log_level=<optimized out>, 
    format=0x406368 "Can not create directory '%s': %s", args1=0x7ffff03a73b8)
    at /build/buildd/glib2.0-2.32.1/./glib/gmessages.c:765
#1  0x00007f483b167172 in g_log (log_domain=<optimized out>, 
    log_level=<optimized out>, format=<optimized out>)
    at /build/buildd/glib2.0-2.32.1/./glib/gmessages.c:792
#2  0x0000000000404e50 in ?? ()
#3  0x0000000000402f38 in ?? ()
#4  0x00007f483ab5f76d in __libc_start_main (main=0x402f20, argc=1, 
    ubp_av=0x7ffff03a7608, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7ffff03a75f8) at libc-start.c:226
#5  0x0000000000402fe9 in ?? ()
#6  0x00007ffff03a75f8 in ?? ()
#7  0x000000000000001c in ?? ()
#8  0x0000000000000001 in ?? ()
#9  0x00007ffff03a7d19 in ?? ()
#10 0x0000000000000000 in ?? ()
(gdb) p *(char **)(((char *)args1[0].reg_save_area)+args1[0].gp_offset)
$8 = 0x113b720 "/var/lib/lightdm/.config/dconf"
(gdb) p *(char **)(((char *)args1[0].reg_save_area)+args1[0].gp_offset+8)
$12 = 0x113c000 "Permission denied"
Но может это просто я неправильный вариант просмотра нашел?