1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Busybox 1.15.3 (neuste) kompiliert fürs Milestone (Bzw allgemein arm)

Dieses Thema im Forum "Root / Hacking / Modding für Motorola Milestone" wurde erstellt von Milp, 23.01.2010.

  1. Milp, 23.01.2010 #1
    Milp

    Milp Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    135
    Erhaltene Danke:
    1
    Registriert seit:
    17.08.2009
    So, dank meinem perfektionismus der mich dazu treibt keine total veralteten und funktions-beschnittenen tools zu verwenden, hab ich es nun nach ca. 10-12 stunden rumprobieren (Hab überhaupt keine erfahrung auf diesem gebiet) in einer Debian VM geschafft, die neuste version von busybox für den stein zu kompilieren, mit (fast) allem drum und dran.

    Ich dachte mir ich poste sie jetzt einfach mal hier, vielleicht hat der ein oder andere interesse daran.

    Hier ist das standalone binary:

    http://bf1942.moretoast.de/busyboxmk9

    Einfach irgendwo hin und ensprechend chmod 755 setzen und das teil läuft. Ob man es auch installen kann weiß ich nicht, hab darauf kein wert gelegt.

    Was mich jetzt noch extremst verwundert ist allerdings, dass ich immernoch bei dem versuch swapon zu benutzen (z.b. swapon /data/swapfile oder /sdcard/swapfile) die meldung bekomme "function not implemented." Muss wohl versuchen eine datei als laufwerk zu mounten und von dort aus als swap einzurichten.

    Hoffe diese neue version ist nützlich für euch :)

    Hier noch ein auszug von meiner android console (Benutze kein adb, hab auf der tastatur vom stein mittlerweile eh fast genauso viele anschläge pro minute wie auf ner normalen :D )

    Code:
    /system/etc # /data/busybox3/busyboxmk9
    BusyBox v1.15.3 (2010-01-23 13:13:32 EST) multi-call binary
    Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
    and others. Licensed under GPLv2.
    See source distribution for full notice. Usage: busybox [function] [arguments]...
       or: function [arguments]...
             BusyBox is a multi-call binary that combines many common Unix
            utilities into a single executable.  Most people will create a
            link to busybox for each function they wish to use and BusyBox
            will act like whatever it was invoked as!
     Currently defined functions:
            [, [[, acpid, adjtimex, arp, arping, ash, awk, basename, bbconfig, blkid,
            brctl, bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod,
            chown, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm, cp, crond,
            crontab, cttyhack, cut, date, dc, dd, deallocvt, depmod, devfsd, devmem, df,
            dhcprelay, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, dpkg,
            dpkg-deb, du, dumpkmap, dumpleases, echo, ed, egrep, eject, env, envdir,
            envuidgid, ether-wake, expand, expr, fakeidentd, false, fbset, fbsplash,
            fdflush, fdformat, fdisk, fgrep, find, findfs, fold, free, freeramdisk,
            fsck, fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, grep, gunzip,
            gzip, halt, hd, hdparm, head, hexdump, hostid, hostname, httpd, hush,
            hwclock, id, ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, init,
            inotifyd, insmod, install, ionice, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink,
            iproute, iprule, iptunnel, kbd_mode, kill, killall, killall5, klogd, lash,
            last, length, less, linux32, linux64, linuxrc, ln, loadfont, loadkmap,
            logger, logname, logread, losetup, lpd, lpq, lpr, ls, lsattr, lsmod,
            lzmacat, lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg,
            microcom, mkdir, mkdosfs, mkfifo, mkfs.minix, mkfs.vfat, mknod, mkswap,
            mktemp, modprobe, more, mount, mountpoint, msh, mt, mv, nc, netstat, nice,
            nmeter, nohup, nslookup, od, openvt, patch, pgrep, pidof, ping, ping6,
            pipe_progress, pivot_root, pkill, popmaildir, poweroff, printenv, printf,
            ps, pscan, pwd, raidautorun, rdate, rdev, readahead, readlink, readprofile,
            realpath, reboot, reformime, renice, reset, resize, rmdir, rmmod, route,
            rpm, rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script,
            scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont, setkeycodes,
            setlogcons, setsid, setuidgid, sha1sum, sha256sum, sha512sum, showkey,
            slattach, sleep, softlimit, sort, split, start-stop-daemon, stat, strings,
            stty, sum, sv, svlogd, swapoff, swapon, switch_root, sync, sysctl, syslogd,
            tac, tail, tar, taskset, tcpsvd, tee, telnet, telnetd, test, tftp, tftpd,
            time, timeout, top, touch, tr, traceroute, true, tty, ttysize, tunctl,
            udhcpc, udhcpd, udpsvd, umount, uname, uncompress, unexpand, uniq, unix2dos,
            unlzma, unlzop, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi,
            volname, watch, watchdog, wc, wget, which, who, whoami, xargs, yes, zcat,
            zcip
     
    Zuletzt bearbeitet: 23.01.2010
  2. DocMAX, 23.01.2010 #2
    DocMAX

    DocMAX Fortgeschrittenes Mitglied

    Beiträge:
    441
    Erhaltene Danke:
    15
    Registriert seit:
    24.12.2009
    kannst du uns erklären wie man cross-compiled?
     
  3. mojo, 23.01.2010 #3
    mojo

    mojo Erfahrener Benutzer

    Beiträge:
    248
    Erhaltene Danke:
    61
    Registriert seit:
    17.01.2010
    Kann deine Busybox-Version Hostnamen auflösen?
     
  4. Milp, 23.01.2010 #4
    Milp

    Milp Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    135
    Erhaltene Danke:
    1
    Registriert seit:
    17.08.2009
    Otype: Static (ARM) busybox on Android Dev Phone 1

    Hab diese anleitung befolgt.

    Also im prinzip:

    - Hat man keinen linux rechner zur hand, einfach eine Debian vm verwenden, ich persönlich habe diese hier:

    RapidShare: 1-CLICK Web hosting - Easy Filehosting
    RapidShare: 1-CLICK Web hosting - Easy Filehosting

    user: root password: thoughtpolice

    Allerdings hab ich sie noch besser angepasst (xserver und vmtools für besseres arbeiten.) Kann die ja auch hochladen wenn bedarf besteht.

    - Die toolchain installieren von
    Sourcery G++ Lite 2008q1-126 for ARM GNU/Linux
    Und anschließend hab ich die ganzen installierten sachen ausm installationsverzeichnis über das root verzeichnis von linux verteilt.

    - Mit hilfe von make config die config von (in diesem falle) busy box erstellen. (Nicht vergessen im make config prozess als cross compiling dingens arm-none-linux-gnueabi- anzugeben.
    Und als CFLAG
    --static, sowie als LDFLAG auch, falls danach gefragt wird.
    Wichtig ist, das ganze immer static zu kompilieren weil android wohl keinen dynamic linker hat (was auch immer das heissen soll lol)

    Dann einfach 'make
    LDFLAGS="--static" CFLAGS="--static" make CROSS_COMPILE=arm-none-linux-gnueabi-" im root verzeichnis der source.

    Danach mit hilfe von file *compiled binary* überprüfen ob es die folgende ausgabe produziert:

    #file busybox

    busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped

    Dann per ftp oder so auf android übertragen und testen :)

    Hab grad übelst kopfschmerzen von dieser ganzen kompiliererei, also kann sein dass ich was vergessen hab. Sollte es nicht funktionieren oder ich was vergessen haben, sagt mir bitte bescheid :)


    Nein, leider nicht. Verstehe aber nicht warum. Denn beim erstellen der config gab es nichts was damit zu tun haben könnte. :/
     
    Zuletzt bearbeitet: 23.01.2010
  5. mojo, 23.01.2010 #5
    mojo

    mojo Erfahrener Benutzer

    Beiträge:
    248
    Erhaltene Danke:
    61
    Registriert seit:
    17.01.2010
  6. Milp, 23.01.2010 #6
    Milp

    Milp Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    135
    Erhaltene Danke:
    1
    Registriert seit:
    17.08.2009
    Naja daran wirds wohl liegen. Android hat kein glibc und kein ulibc, sondern eine eigene komische und total magere lib die sich bionic nennt. Weiß jetzt nicht genau was und wie, aber darauf wirds wohl zurückzuführen sein, dass busybox keine andressen resolven kann. :/
     
  7. hanschke, 06.04.2010 #7
    hanschke

    hanschke Gast

  8. XVilka, 07.04.2010 #8
    XVilka

    XVilka Junior Mitglied

    Beiträge:
    35
    Erhaltene Danke:
    100
    Registriert seit:
    06.03.2010
    Phone:
    Motorola Milestone
    This is a last compiled version of busybox from repository
     

    Anhänge:

    -FuFu-, prodigy7, IrealiTY und 4 andere haben sich bedankt.
  9. hanschke, 07.04.2010 #9
    hanschke

    hanschke Gast

    much smaller than the old one. you have compiled 1.17 but I have 1.18.3 allready so if you can compile please take for me the snapshot source. it must be never than my build. thanks!
     
    Zuletzt von einem Moderator bearbeitet: 07.04.2010
  10. XVilka, 07.04.2010 #10
    XVilka

    XVilka Junior Mitglied

    Beiträge:
    35
    Erhaltene Danke:
    100
    Registriert seit:
    06.03.2010
    Phone:
    Motorola Milestone
    HM. I'm compiled it yesterday - and download latest repository snapshot (by the 06 April 2010 ).
     
  11. herrlado, 07.04.2010 #11
    herrlado

    herrlado Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    does hostname resolving work?
     
  12. XVilka, 07.04.2010 #12
    XVilka

    XVilka Junior Mitglied

    Beiträge:
    35
    Erhaltene Danke:
    100
    Registriert seit:
    06.03.2010
    Phone:
    Motorola Milestone
    hm.

    You only need /etc/resolv.conf

    see this

    > I am trying to get the ping working in Android running on ARM.
    >
    > Ping to IP addresses works fine but when I ping to name I get
    >
    > "ping: unknown hostwww.yahoo.com"
    >
    > I have already setup the default gateway:
    > route add default gw 192.168.0.17
    >
    > Also /etc/resolv.conf is also there:
    > echo nameserver 4.2.2.2 > /etc/resolv.conf
    >
    > And ping to nameserver works fine!
    >
    > Also I have /etc/nsswitch.conf as:
    > echo "hosts: files dns" > /etc/nsswitch.conf
    >
    > If I add entries in /etc/hosts then the ping with name works fine.
    >
    > Has anyone seen this problem before?
    --~--~---------~--~----~------------~-------~--~----~
     
  13. herrlado, 07.04.2010 #13
    herrlado

    herrlado Fortgeschrittenes Mitglied

    Beiträge:
    390
    Erhaltene Danke:
    25
    Registriert seit:
    26.10.2009
    Yes, but he says, this does not help? => And ping to nameserver works fine!

    If I add entries in /etc/hosts then the ping with name works fine.

    But he never said generally dnsname resolving works?


    At this moment I'm using busybox from some modaco rom ipkg repository.

    See the attachment on my post here
    http://www.android-hilfe.de/root-ha...tone/15042-busybox-tutorial-8.html#post198681

    And may be it is here too old (2001...) but perhaps essential
    http://lists.busybox.net/pipermail/busybox/2001-November/005103.html
     
    Zuletzt bearbeitet: 07.04.2010
  14. XVilka, 07.04.2010 #14
    XVilka

    XVilka Junior Mitglied

    Beiträge:
    35
    Erhaltene Danke:
    100
    Registriert seit:
    06.03.2010
    Phone:
    Motorola Milestone
    You use freeasabeer busybox )

    Ok. At this evening i try add patch to resolv work.
    To latest busybox tree
     
    b.pwned und herrlado haben sich bedankt.
  15. XVilka, 07.04.2010 #15
    XVilka

    XVilka Junior Mitglied

    Beiträge:
    35
    Erhaltene Danke:
    100
    Registriert seit:
    06.03.2010
    Phone:
    Motorola Milestone

    I dont use glibc - i use or uClibc, or dietlibc for static compiling for better perfomance.

    So, i dnot have nss lib. I need to write some code to adding functionality.
     
  16. Milp, 07.04.2010 #16
    Milp

    Milp Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    135
    Erhaltene Danke:
    1
    Registriert seit:
    17.08.2009
    Now that we have debian/ubuntu running on the milestone (ubuntu karmic here), we could directly compile busybox as standalone binary there, without the need for annoying and stupid cross compiling anymore.

    I might try this sometime soon.
     
    Zuletzt bearbeitet: 07.04.2010
  17. Riffer, 08.04.2010 #17
    Riffer

    Riffer Android-Lexikon

    Beiträge:
    1,261
    Erhaltene Danke:
    220
    Registriert seit:
    06.03.2010
    Phone:
    OnePlus Two
    Tablet:
    Samsung Galaxy NotePRO 12.2
    Really on the milestone?? Is there a documentation about this anywhere? Could you please give me a hint?

    Ok, found it here..
     
    Zuletzt bearbeitet: 08.04.2010
  18. hanschke, 08.04.2010 #18
    hanschke

    hanschke Gast

    strange cause the build number is much lower xvilka. i dont see any reason why the build number is lower if the source is newer.

    and much smaller from the 1.18 build i found
     
    Zuletzt von einem Moderator bearbeitet: 08.04.2010
  19. XVilka, 08.04.2010 #19
    XVilka

    XVilka Junior Mitglied

    Beiträge:
    35
    Erhaltene Danke:
    100
    Registriert seit:
    06.03.2010
    Phone:
    Motorola Milestone

    Anhänge:

  20. hanschke, 08.04.2010 #20
    hanschke

    hanschke Gast

    ok and what is about the size?
     

Diese Seite empfehlen