-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 26.01.2015 um 22:44 schrieb Short, Kermit:
It's certainly something I'd like to try, but if I recall correctly, the firmware is only loosely based on LTS. The actual OS on the thin client is heavily customized.
Well, I hope I'm not talking out of my lower back here, but it can't be much more complicated than grabbing our packages, unpacking them, and checking for any dependencies that they need to have met.
Possibly apply some ldd and strace to see where things are going wrong.
Working with debian packages is not something I've done much, and then only to build them rather than deconstruct them.
It's actually not that hard. If you have a copy of midnight commander (mc) installed, you can usually go inside them like any other virtual file system (like when you "open" a *.tar.gz file with mc). There are also command line tools available to unpack Debian/Ubuntu packages without installing them.
I do really like the idea of a chroot shell, though. I'm currently using AIDE to look at changes pre and post build, and then I go through interactive error messages on the IGEL to determine what additional libraries are necessary.
The last time I did this, there were several libraries provided by the LTS footprint that were not provided on the IGEL, so it's a little easier for me to do the scratch build, since I have to do some by hand tracing anyway.
That sounds really painful. In a first step, I'd try to parse the output of ldd for every executable I want to copy, then make sure I have those files either available on the IGEL, or know I have copy them over along with the executable.
for example (this is on Debian Wheezy, not Ubuntu, but the process should be the same):
dpkg -L libnx-x11
gives
/. /usr /usr/lib /usr/lib/nx /usr/lib/nx/X11 /usr/lib/nx/X11/Xinerama /usr/lib/nx/X11/Xrandr /usr/lib/nx/X11/libNX_X11.so.6.2 /usr/lib/nx/X11/libNX_Xau.so.6.0 /usr/lib/nx/X11/libNX_Xcomposite.so.1.0 /usr/lib/nx/X11/libNX_Xdamage.so.1.0 /usr/lib/nx/X11/libNX_Xdmcp.so.6.0 /usr/lib/nx/X11/libNX_Xext.so.6.4 /usr/lib/nx/X11/libNX_Xfixes.so.3.0 /usr/lib/nx/X11/libNX_Xinerama.so.1.0 /usr/lib/nx/X11/libNX_Xpm.so.4.11 /usr/lib/nx/X11/libNX_Xrandr.so.2.0 /usr/lib/nx/X11/libNX_Xrender.so.1.2.2 /usr/lib/nx/X11/libNX_Xtst.so.6.1 /usr/share /usr/share/nx /usr/share/nx/SecurityPolicy /usr/share/doc /usr/share/doc/libnx-x11 /usr/share/doc/libnx-x11/copyright /usr/share/doc/libnx-x11/changelog.gz /usr/share/doc/libnx-x11/changelog.Debian.gz /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/libnx-x11 /usr/lib/nx/X11/Xinerama/libXinerama.so.1 /usr/lib/nx/X11/Xinerama/libXinerama.so /usr/lib/nx/X11/libNX_X11.so /usr/lib/nx/X11/libNX_X11.so.6 /usr/lib/nx/X11/libNX_Xau.so /usr/lib/nx/X11/libNX_Xau.so.6 /usr/lib/nx/X11/libNX_Xcomposite.so /usr/lib/nx/X11/libNX_Xcomposite.so.1 /usr/lib/nx/X11/libNX_Xdamage.so /usr/lib/nx/X11/libNX_Xdamage.so.1 /usr/lib/nx/X11/libNX_Xdmcp.so /usr/lib/nx/X11/libNX_Xdmcp.so.6 /usr/lib/nx/X11/libNX_Xext.so /usr/lib/nx/X11/libNX_Xext.so.6 /usr/lib/nx/X11/libNX_Xfixes.so /usr/lib/nx/X11/libNX_Xfixes.so.3 /usr/lib/nx/X11/libNX_Xinerama.so /usr/lib/nx/X11/libNX_Xinerama.so.1 /usr/lib/nx/X11/libNX_Xpm.so /usr/lib/nx/X11/libNX_Xpm.so.4 /usr/lib/nx/X11/libNX_Xrandr.so /usr/lib/nx/X11/libNX_Xrandr.so.2 /usr/lib/nx/X11/libNX_Xrender.so /usr/lib/nx/X11/libNX_Xrender.so.1 /usr/lib/nx/X11/libNX_Xtst.so /usr/lib/nx/X11/libNX_Xtst.so.6 /. /usr /usr/lib /usr/lib/nx /usr/lib/nx/X11 /usr/lib/nx/X11/Xinerama /usr/lib/nx/X11/Xrandr /usr/lib/nx/X11/libNX_X11.so.6.2 /usr/lib/nx/X11/libNX_Xau.so.6.0 /usr/lib/nx/X11/libNX_Xcomposite.so.1.0 /usr/lib/nx/X11/libNX_Xdamage.so.1.0 /usr/lib/nx/X11/libNX_Xdmcp.so.6.0 /usr/lib/nx/X11/libNX_Xext.so.6.4 /usr/lib/nx/X11/libNX_Xfixes.so.3.0 /usr/lib/nx/X11/libNX_Xinerama.so.1.0 /usr/lib/nx/X11/libNX_Xpm.so.4.11 /usr/lib/nx/X11/libNX_Xrandr.so.2.0 /usr/lib/nx/X11/libNX_Xrender.so.1.2.2 /usr/lib/nx/X11/libNX_Xtst.so.6.1 /usr/share /usr/share/nx /usr/share/nx/SecurityPolicy /usr/share/doc /usr/share/doc/libnx-x11 /usr/share/doc/libnx-x11/copyright /usr/share/doc/libnx-x11/changelog.gz /usr/share/doc/libnx-x11/changelog.Debian.gz /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/libnx-x11 /usr/lib/nx/X11/Xinerama/libXinerama.so.1 /usr/lib/nx/X11/Xinerama/libXinerama.so /usr/lib/nx/X11/libNX_X11.so /usr/lib/nx/X11/libNX_X11.so.6 /usr/lib/nx/X11/libNX_Xau.so /usr/lib/nx/X11/libNX_Xau.so.6 /usr/lib/nx/X11/libNX_Xcomposite.so /usr/lib/nx/X11/libNX_Xcomposite.so.1 /usr/lib/nx/X11/libNX_Xdamage.so /usr/lib/nx/X11/libNX_Xdamage.so.1 /usr/lib/nx/X11/libNX_Xdmcp.so /usr/lib/nx/X11/libNX_Xdmcp.so.6 /usr/lib/nx/X11/libNX_Xext.so /usr/lib/nx/X11/libNX_Xext.so.6 /usr/lib/nx/X11/libNX_Xfixes.so /usr/lib/nx/X11/libNX_Xfixes.so.3 /usr/lib/nx/X11/libNX_Xinerama.so /usr/lib/nx/X11/libNX_Xinerama.so.1 /usr/lib/nx/X11/libNX_Xpm.so /usr/lib/nx/X11/libNX_Xpm.so.4 /usr/lib/nx/X11/libNX_Xrandr.so /usr/lib/nx/X11/libNX_Xrandr.so.2 /usr/lib/nx/X11/libNX_Xrender.so /usr/lib/nx/X11/libNX_Xrender.so.1 /usr/lib/nx/X11/libNX_Xtst.so /usr/lib/nx/X11/libNX_Xtst.so.6
and just grabbing one sample from here, /usr/lib/nx/X11/libNX_Xrender.so.1,
ldd /usr/lib/nx/X11/libNX_Xrender.so.1 gives
linux-gate.so.1 => (0xb7702000) libNX_Xext.so.6 => not found libNX_X11.so.6 => not found libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb7583000) /lib/ld-linux.so.2 (0xb7703000)
As this is from a working system, I would assume the two "not found"s are harmless, but I need to make sure I have the other files on my target system in some way - either from the original OS image, or by copying them over.
Being able to do this from a debian package in a root shell would be very handy, though!!
Well, I can't do more than suggest you try it and see if it turns out to be the easier way. :-)
How large is that extra partition you can access, anyway? Large enough to untar a complete non-IGEL linux distribution there and chroot or possibly even kexec into it?
Another option would be to offer one or more of your IGELs to interested developers so they can do the grunt work for you.
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32)
iQEcBAEBAgAGBQJUxrmHAAoJEG7d9BjNvlEZRqUH/0RjNFDpcHtIT1qMGog8BgtG exLsnZGw6HWC5wIaMZY0/nHqdee2YgiRJe35OfPkjs+3UQ1YZsXkgaJSswMUak9w EctSSE3bhTj/lO+ePwULL62NeXPepJpm4OzYcdi7KDJa95k0tCbL/kzzMVt/69nm xpwALRfUhXTKQSZBzGrUdE/ob0ZZ51FLhgCOrlpVnj9QgbmCwc6fysmzc1iknfMK slTJx4fn78nvABZPPJbzQ+cP1LyvbT3S3JGJ6oLKMofcK6vV/QWuLdafOMB8Fy0v q6SffRaeQekaoUkX7n4FkomHRocEnGPZh3MRsNrkBwa6CBxSdayHcuNHTYllTAY= =01ZH -----END PGP SIGNATURE-----