Joined: Oct. 2006
||Posted: July 21 2007,07:16
On top of the buildroot base, I am manually compiling freetype, fontconfig, libid3tag, and libmad. I am not touching Xorg, so glib-1.2 and gtk-1.2 will have to come later.
I will send this modified buildroot image (it is ext2) by Gmail, split into 20M pieces (I will use `lxsplit` - is this okay?).
Thanks for your patience.
1. Busybox `ar` lacks [some?] switches that are present in the GNU version. As a result libiconv could not compile - Busybox `ar` gave an "unknown switch" error. It seems buildroot leaves GNU `ar` out of the image in favour of busybox's `ar`. I did:
`rm mountpoint/usr/bin/ar` (This is a symlink - Remove first, or you will overwrite '/bin/busybox'! No - `cp -r` doesn't work.)
`cp buildroot/build_i386/binutils-2.17-target/binutils/ar mountpoint/usr/bin`
This solved the problem.
It is possible there are more Busybox commands that need to be replaced with the GNU versions.
Update: Busybox `tar` sometimes complains about "Invalid magic" while GNU `tar` works. So I've replaced '/bin/tar' with GNU `tar`.
2. After I compiled the nano editor, it wouldn't run in the chroot environment - "Error opening terminal - rxvt."
Seems like the default ncurses installation doesn't have the rxvt terminfo entries.
So I copied over the terminfo entries for anything rxvt-related from my Debian root:
`cp /usr/share/terminfo/r/rxvt* mountpoint/usr/share/terminfo/r`
`nano` works properly after this.
3. From my own bad experience - If you chroot into the uClibc image, and then close the xterm window without properly using `exit`, further instances of `bash` will become progressively laggier. To make things right again, do `lsof mountpoint` and `kill -9` the bash instance(s).
4. I have a bunch of 'alias bla=blabla' and 'export CXXFLAGS=blabla' and 'export CPPFLAGS=blabla' lines in '/etc/profile' which I use. Please modify or remove them at your convenience.
I just ran into a problem building GNU tar. It has to do with missing wide char functions in uClibc. I will have to rebuild uClibc with wide char support.
The buildroot documentation describes how to reconfigure uClibc here.