![]() |
#1 |
Banned
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,300
Karma: 1479
Join Date: Jul 2006
Location: Peoples Republic of Washington
Device: Reader / iPhone / Librie / Kindle
|
How to setup your iLiad so you don't kill /
The disk storage in the iLiad is tiny.
One of the challenges in adding applications to your iLiad is how to do it with out filling up your root filesystem (/). You need an ext2 storage device as many unix tools require case sensitive access to files. The best example is the x in X11, it's upper case. iRex mounts the fat32 storage devices in a "force to lower case" mode, so when an app goes looking for X11, it can't find it because it's been forced to x11. I've described how to setup an ext2 card elsewhere here at Mobile Read. BTW do yourself a favor, get a big CF card. Once you get addicted to adding software you'll want all the space you can find. I created an opt directory on my CF card and then put a debian directory under that: /mnt/cf/opt/debian. The thought was I could then put other distro's on the same card. The dpkg command supports arguments to re-direct package installs onto the memory card and keep the stuff out of your root file system: dpkg --root=/mnt/cf/opt/debian The other thing you can do is setup a chroot shell to /mnt/cf/opt/debian. The unix chroot call changes the root filesystem to be the directory you chroot it to. This very effectively ensures you don't have any leakage into the root filesystem, and in essence means you are running debian (or any other distro) on your iLiad when you are logged in. ![]() Your chrooted apps can still get to the iLiad's X server since that is done via socket's. In any case, you will want a start up script to setup your environment each time you login. Here is a basic starter script. Code:
export DISPLAY=10.0.1.2:0.0 export EDITOR=/usr/bin/emacs export LD_LIBRARY_PATH=/usr/lib:/lib:/mnt/cf/opt/debian/usr/lib:/mnt/cf/opt/debian/lib:/mnt/cf/opt/debian/usr/X11R6/lib export PATH=/mnt/cf/opt/debian/usr/sbin:/mnt/cf/opt/debian/usr/X11R6/bin:/mnt/cf/opt/debian/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin export TERM=xtermc export TZ=PST EDITOR is the path to an editor to be invoked by various apps when you decide to edit something. Like say in CVS when you need to enter a description of the changes you made. LD_LIBRARY_PATH tells the unix process loader where to go looking for all those shared libraries. If you are not running chroot this is handy for letting you just install stuff on the card and yet still have the bits be found as needed. Some times though an app will internally try to manually load a shared library, in those cases they typically don't respect LD_LIBRARY_PATH and you will need to ln -s the needed library (or use the chroot method). PATH is where to find applications. TERM is the name of the display device being used. In this case I've selected an xterm with color. This tells ncurses how to do its magic. TZ is the time zone you are located in. PST is Pacific Standard Time e.g. US west coast. I'm putting together a debian starter kit. Its a classic chicken and egg issue to get dpkg/apt-get up and going. Once you get this stuff setup you can supposedly invoke things via the contentLister hack. I haven't seen that work yet (but I've got hopes). This would let you have a list of scripts you could browse with contentLister and then poke 'em to start 'em. For example, your favorite RSS feed puller. ![]() If you don't want to wait for my debian dpkg/apt-get, here is how to pull apart a .deb file. Code:
ar -x emacs21_21.2-1woody3_arm.deb Code:
cd /mnt/cf/opt/debian (or where ever) tar xvfz /mnt/cf/debs/data.tar.gz (or where ever you keep your deb files) Once you transfer the seed.tar.gz to your iLiad you unpack it thusly. Code:
tar xfz seed.tar.gz mv ar /usr/bin mv libbfd-2.15.so /usr/lib |
![]() |
![]() |
![]() |
#2 | |
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 423
Karma: 1517132
Join Date: Jun 2006
Location: Madrid, Spain
Device: quaderno, remarkable2, yotaphone2, prs950, iliad, onhandpc, newton
|
Quote:
![]() ![]() Preliminaries: Debian's ARM sarge packages are compiled with hardware floating point support , AFAIK. The toolchain I built also used hardware floating point support. I've compiled some things for the iliad using that toolchain, and I have problems linking with the X libs included in the iliad, complainnig something along the lines "cannot mix softfloat and hw float" (right now I'm constructing another toolchain using softfloat just to see if this is the problem). So I've concluded that the iliad openembedded based distribution is compiled with softfloat (as in the last popenembedded builds; it makes sense, as xpdf would be very slow using hardware floating point, as that hardware is emulated in the kernel). But... you're using binaries for debian sarge arm's port (or compiled with gcc from sarge-arm), suposedly some of them using floating point arithmetic (or not?) and they are working for you??!? I don't understand anything :-(. A program and their libraries have to be built using the same type of floating point support, I was told. And if my conclusions are right, you're mixing them and have the binaries working ![]() The question: Is the iliad included libraries using softfloat or hardware floating point emulation? Or, alternatively: Could you test if wish (from tk8.4 package of debian sarge-arm, depends on tcl8.4) works with the iliad libraries in your setup? Thank you very much :-) Last edited by Antartica; 10-25-2006 at 05:08 AM. Reason: Grammar fixes O:-) |
|
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Banned
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,300
Karma: 1479
Join Date: Jul 2006
Location: Peoples Republic of Washington
Device: Reader / iPhone / Librie / Kindle
|
So far only perl has been a loser for me in the debian package chain.
They are a bit inconsistent with the hardware vs software floating point. The objdump -p output doesn't guarantee hardware FP is being used. I've flipped the bit on a couple binaries to help things along (mostly in my kernel module HID hacking efforts.) It really makes you wonder what iRex was thinking when they picked the PXA 255. PDF is nothing if not floating point intensive... |
![]() |
![]() |
![]() |
#4 | |
Uebermensch
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,583
Karma: 1094606
Join Date: Jul 2003
Location: Italy
Device: Kindle
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 607
Karma: 2157
Join Date: Oct 2005
Device: NCR3125, Nokia 770,...
|
[QUOTE=scotty1024
The dpkg command supports arguments to re-direct package installs onto the memory card and keep the stuff out of your root file system: dpkg --root=/mnt/cf/opt/debian [/QUOTE] there is a -root and a -o. I believe that the difference is that -root installs onto the memory but keeps the install info along the other packages in the main directory, while -o executes a completely external install (then not easy to uninstall because you must tell where the installing info is). |
![]() |
![]() |
Advert | |
|
![]() |
#6 | |
iLiad fan
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 210
Karma: 3864
Join Date: Oct 2006
Device: iRex iLiad
|
Quote:
![]() Btw, ipkg supports the same functionality: edit /etc/ipkg.conf add a new destination dir, e.g. /media/card/ipkg, in addition to "/" which is the default. Then use ipkg -d mmc install <mypackage.ipkg> |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Setup for PDF | juniorbonner | Calibre | 2 | 10-14-2010 05:00 PM |
Help with FBReader setup | Big Kev | Reading and Management | 9 | 10-08-2010 10:33 AM |
PRS-500 My setup | Nogg | Sony Reader Dev Corner | 12 | 08-22-2007 01:30 PM |
iLiad Good news: kill your iLiad and revive it yourself - soon! | doctorow | iRex Developer's Corner | 0 | 08-08-2006 04:28 AM |
iRex wants to remotely kill your iLiad! | TadW | iRex | 14 | 08-05-2006 09:05 AM |