Re: USB und PC104

David Haller <[email protected]> Mon, 14 Feb 2011 10:24:19 +0100
Newsgroups gmane.linux.suse.programming
Organization What?
Message-ID <[email protected]>
Hallo Thomas,

Am Sun, 13 Feb 2011, Thomas Moritz schrieb:
>Am Samstag, 12. Februar 2011 20:03:15 schrieb Bernhard Walle:
>Habe ich mir angeschaut. Dein obiges Beispiel sieht schlimmer aus, als=20
>viele USB-Kennungen ("usb:0:8:15" -> "usb:0:8:15 mct_r232")
>
>> fnmatch(3) funktioniert wie die Expansion der Shell.
>
>Das ist wieder Salz in die offene Wunde :-(
>Da es auf der Kiste kein perl und python gibt, bleibt also nur C.
>Mit C konnte ich mich, im Gegensatz zu Pascal, noch nie anfreunden,=20
>bleibt also die Shell.

Welche $SHELL? busybox? Wenn bash (oder auch pdksh/zsh) kann man auch
damit einiges an Stringverarbeitung "ratzfatz" mit erledigen ...

Bsp:
s=3D"usb:0:8:15 mct_r232"
usbpath=3D"${s% *}"
usbdev=3D"${usbpath#usb:}"
usbdrv=3D"${s##* }"
echo "usb: =BB$usbdev=AB -> =BB$usbdrv=AB"

Ah: das obige funktioniert hier (oS 11.2/x86_64) auch in einer
'busybox sh':
BusyBox v1.12.3 (2009-10-24 03:04:48 UTC) built-in shell (ash)

Die busybox-ash ist wohl Posix-kompatibler als gedacht :))

$ busybox sh -c 's=3D"usb:0:8:15 mct_r232"
> usbpath=3D"${s% *}"
> usbdev=3D"${usbpath#usb:}"
> usbdrv=3D"${s##* }"
> echo "usb: =BB$usbdev=AB -> =BB$usbdrv=AB"
> '
usb: =BB0:8:15=AB -> =BBmct_r232=AB

Ah, und bei aktuellen Kernels (>=3D 2.36.x?) gibt's ein 'make
localyesconfig' bzw. 'make localmodconfig', was dir passend zu den
aktuell geladenen Modulen einen Kernel erstellt ...

Ich seh eh gern mal =FCber deine Scripterl nochmal dr=FCber, wobei ein
Image der Umgebung (.iso) f=FCr VMware ideal w=E4re, ansonsten mu=DFt du mir
halt ggfs. noch mehr Details[1] mailen, damit ich das hier m=F6glichst
nachvollziehen kann.

Ah, ggfs. kannst du auch noch deine busybox anpassen (d.h. abspecken).
Ob sich das lohnt kann ich aber nicht beurteilen.

=C4h, und f=FCr wirklich einfache Sachen k=F6nnen wir dir zur Not auch was =
in
C basteln, so in etwa Grundger=FCst von mir, und Philipp und Bernhard
(z.B.) gucken dann mal dr=FCber bzgl. off-by-one und sonstigem Bug-Krams.

HTH,
-dnh

PS: Linux ganz ohne Perl ist nur noch m=FChsam m=F6glich ... Es gibt
    z.B. bei oS einfach sehr viel Zeugs das davon abh=E4ngt ... Mu=DF ja
    nicht grad beim booten sein.

PPS: und falls dann doch Perl w=E4hrend des Boots gebraucht w=FCrde k=F6nnte
    man es ganz pervers machen und z.B. "perlsh" als shell verwenden :P
    Egal: ich liebe es einfach, da=DF ich ggfs. _alles_ anpassen
    kann. Und manches auch schon angepasst habe ;)

PPPS: schon ne schlanke libc gew=E4hlt? Wenn du ggfs. Hilfe bei ner
    dynamischen dietlibc brauchst ...

[1] darf bei PM auch "sensibel" sein, ich hab hier in meinem ~/helping
    so einiges, das ich mal ausmisten sollte.

--=20
Minds are like books, they only function when open.