Talk:TinyGentoo

From Gentoo Linux Wiki

Jump to: navigation, search

Ideas, suggestions and corrections are very welcome, and some of the bits mentioned in the comments on the page. Mki

Contents

[edit] make-symlinks problem

When you add make-symlinks to the USE flag, then do your 'emerge -auDN world' it attempts to emerge busybox with make-symlinks, and according to bug 60805[1] this will will break your system. I am using a 2.6 kernel profile, does this problem not come up with a 2.4 profile? And should I just not use the make-symlinks until I 'ROOT=/tinygentoo emerge -av baselayout-lite uclibc busybox'?

--I had the same issue, and once I removed make-symlinks, everything went clear from there. I was sure to put it back before the ROOT=/tinygentoo emerge..., and it worked without any problems. TMD

-- I have the same problem, I'm just setting VERY_BRAVE_OR_VERY_DUMB=yes and hoping it will work... Ethan

-- (2 hours later): Don't make the same mistake :-) much later lots of patches failed, quite a mess. Deleted everything except /usr/portage and started again without make-symlinks and it worked this time. Of course, then I forgot to put it back in before doing the ROOT=/tinygentoo emerge... so now I'm stuck again... (chroot doesnt work, no ash binary in /bin) oh well. Ethan

+ Another solution for this is to use chroot to run the busybox option to install links for itself (the --install option, and -s for symbolic/soft links). Then you can chroot again to /bin/ash which will have the link installed. -Scott

 chroot /tinygentoo /bin/busybox --install -s

+ I always use this method and never use the USE="make-symlinks" flags, but dont forget to bind proc to the /tinygentoo directory and never forget to umount it afterwards :).

--DP110 12:07, 12 November 2006 (UTC)

mount --bind /proc /tinygentoo/proc
  chroot /tinygentoo /bin/busybox --install -s
umount /tinygentoo/proc

[edit] 2.6 kernel size

-rw-r--r-- 1 root root 850K Sep 18 16:36 kernel-2.6.11

Please find my .config for a 2.6 kernel @ http://teknowlogic.org/fileadmin/www.teknowlogic.org/docs/gentoo/config/epia-5000/uclibc-hardened/.config

It might make a difference that it is for a via epia 5000 (C3) but I'm not sure. Why can't you get a 2.6 kernel under 1M?

Thanks for this howto, i borrowed parts of it for my epia howto. http://teknowlogic.org/index.php?id=103

Cheers,

Michiel


I hadn't tried out the "configure standard kernel features" bit until a few weeks back, but with that, yes, you can get it much smaller :)

It would be nice if you made a /2.6-kernel page, or I will when I get a bit of a break from other stuff. 2.6.12 needs a bit patching (vanilla) and gentoo-sources-2.6.12 just cant be patched, or atleast I've failed at trying to get them to work. Haven't yet tried with 2.6.13's.

A nice Epia Howto btw ;)

Mki

[edit] Chroot Problem

There seems to be something wrong about the "chroot /tinygentoo /bin/ash". It say's that it cant find /bin/ash. Wich is probably a dependency problem.I managed to chroot to /tinygentoo by emergeing uclibc with out the Minimal use flag and then mount the "development-enviroments" /lib to /tinygentoo/lib. (mount -o bind /lib /tinygentoo/lib). I doubt that this is a good solutions... maybe somebody knows how to fix this problem the right way?

- You probably emerged busybox with USE="-make-symlinks", as /bin/ash is just a symlink to /bin/busybox

+ I have looked at my make.conf again today and the make-symlinks flage is defined (USE="make-symlinks minimal")(in the make.conf of my gentoo_uclibc enviroment). So i don't think it's a symlink problem because /bin/ash does exists (and works) only chroot say's it's not there...

Or, just emerge busybox again, with 'make-symlinks' in the USE line:

 ROOT=/tinygentoo USE="make-symlinks" emerge -av busybox

Oups... It doens't work for me though. I had initially replaced the

USE="make-symlinks minimal", with USE="minimal" before trying the

emerge -auDN world

and all the rest. I restored it back to USE="make-symlinks minimal" though before trying

ROOT=/tinygentoo emerge -av baselayout-lite uclibc busybox.

The problem in my case is not only that "chroot" can see nothing but also ash doesn't exist in /bin. There I can see /bin/bash, /bin/busybox and some other files and links. Each individual file works with no problem when it is invoked by its name. Even I can run ash in the form "busybox ash". But chroot is just no operational. For instance even the command:

chroot /tinygentoo /bin/bash

gives the folllowing error message

chroot: cannot run command `/bin/bash': No such file or directory

although /bin/bash does exist.

Any ideas?

Here's one: I got this error when I had emerged baselayout but had forgotten to emerge libc. So bash didn't have all the necessary libraries.

One solution for latest busybox version:

1. Switch on the "saveconfig" use flag for busybox:

echo "sys-apps/busybox savedconfig" >> /etc/portage/package.use

2. emerge busybox to get the saveconfig:

ROOT=/tinygentoo USE="make-symlinks" emerge -av busybox.

3. edit the saveconfig "/etc/portage/savedconfig//sys-apps/busybox-1.9.0":

'#CONFIG_FEATURE_SH_IS_NONE=y

CONFIG_FEATURE_SH_IS_ASH=y


4. emerge busybox again:

ROOT=/tinygentoo USE="make-symlinks" emerge -av busybox.


After that For me it works (by the way: there are a lot of other "applets" you can set or unset in the config file)

[edit] Kernel 2.6 Install Problem

What profile setup is required to use kernel 2.6? I have tried both of these and the result is always 2.4.

 ln -sf /usr/portage/profiles/uclibc/x86/2005.1/2.4/  make.profile
 emerge -av vanilla-sources

And also this, from http://www.bulah.com/embeddedgentoo.html

 ln -sf /usr/portage/profiles/uclibc/x86/  make.profile
 emerge -av vanilla-sources

> The problem here is the trailing / after the path! Just change it to /usr/portage/profiles/uclibc/x86 .

Both try to emerge kernel 2.4. I finally resources to downloading and installing the kernel tgz from kernel.org, but I would prefer a more elegant Gentoo solution. :)

Solution:

 ln -snf /usr/portage/profiles/uclibc/x86/2005.1 /etc/make.profile
 emerge -av vanilla-sources

The 2.6 profile is the 'default' so that should work. 2.6.15 sources seem to be working nicely with uClibc again. (don't have the gettext problem)

[edit] genkernel?

Very good Tutorial! Just one question: Is it possible, to create a tinygentoo with genkernel? And, how do I have to modify the menu.lst to load genkernel correctly?


Should be possible, though the initramfs that genkernel creates is huge compared to the size of the running system... Just changing the real_root= boot option to /dev/ram0 should be enough, haven't tried though.

[edit] "emerge -auDN world" Problem

I'm definitly a n00b when it comes to linux and especially Gentoo. I installed Gentoo in my machine and I'm trying to build TinyGentoo. I have followed everything to the letter, but I get an error when I get to this step. As you see in the title, "emerge -auDN world" is the command I'm trying to run. It gives me an error when it tries to "emerge" the "coreutils-5.94-r1". Any help would be great. Here is the jest of the error message:

make[3]: Entering directory    `/var/tmp/portage/coreutils-5.94-r1/work/coreutils-5.94/tests/sort'test 'sort' = test && prog=../../src/sort || prog=sort; \ perl -I. -w -- ./../mk-script . $prog > sort-tests.n
Can't locate auto/POSIX/assert.al in @INC (@INC contains: . /etc/perl   /usr/lib/perl5/site_perl/5.8.7/i386-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.7/i386-linux /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.7/i386-linux /usr/lib/perl5/5.8.7 /usr/local/lib/site_perl .) at ./../mk-script line 33
make[3]: *** [sort-tests] Error 255
make[3]: Leaving directory `/var/tmp/portage/coreutils-5.94-r1/work/coreutils-5.94/tests/sort'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/coreutils-5.94-r1/work/coreutils-5.94/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/coreutils-5.94-r1/work/coreutils-5.94'
make: *** [all] Error 2
!!! ERROR: sys-apps/coreutils-5.94-r1 failed.
!!! Function src_compile, Line 102, Exitcode 2
!!! emake
!!! If you need support, post the topmost build error, NOT this status message.

Help please Again I followed all instructions to the letter so I can't understand why am I getting this error. also, i do not understand what the error means.

how can I fix it?


!!! I found a workaround from here: http://forums.gentoo.org/viewtopic-t-453512-highlight-coreutils.html

"I solved this problem temporarily by placing =sys-apps/coreutils-5.94-r1 in /etc/portage/package.mask"

I solved the same problem with "emerge --oneshot perl".

[edit] permanent "emerge -auDN world" Problem

For months I have been trying to emerge -auDN world. I had no success however. The emerge command exits with the following error messages:

These are the packages that would be merged, in order:

Calculating world dependencies
!!! All ebuilds that could satisfy "sys-libs/glibc" have been masked.
!!! One of the following masked packages is required to complete your request:

- sys-libs/glibc-2.4-r3 (masked by: package.mask, ~x86 keyword)
- sys-libs/glibc-2.3.4.20041102-r2 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.4.20041102-r1 (masked by: package.mask)
- sys-libs/glibc-2.3.6-r3 (masked by: package.mask)
- sys-libs/glibc-2.3.3.20040420-r2 (masked by: package.mask)
- sys-libs/glibc-2.3.6-r4 (masked by: package.mask)
- sys-libs/glibc-2.3.2-r12 (masked by: package.mask)
- sys-libs/glibc-2.3.4.20040619-r2 (masked by: package.mask, ~x86 keyword)
- sys-libs/glibc-2.3.4.20040808-r1 (masked by: package.mask)
- sys-libs/glibc-2.3.5-r3 (masked by: package.mask)
- sys-libs/glibc-2.3.5-r2 (masked by: package.mask)
- sys-libs/glibc-2.2.5-r10 (masked by: package.mask)
- sys-libs/glibc-2.3.4.20050125-r1 (masked by: package.mask, ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.

(dependency required by "dev-util/ccache-2.3" [ebuild])

!!! Problem resolving dependencies for dev-util/ccache
!!! Depgraph creation failed.


Is there anything I can do about this? Please help me out ...

[edit] build uclibc problem

i must add uclibc-compat to the use-flags in /etc/make.conf, without emerge uclibc-0.9.28 comes till

....
* Applying various patches (bugfixes/updates) ...
*   10_all_uClibc-0.9.27-susv3-2.patch ...                                                 [ ok ]
*   15_all_uClibc-0.9.27-susv3-ldouble-3.patch ...                                         [ ok ] 
* Done with patching
* Doing a scanelf in paths for bins containing the __uClibc_start_main symbol

but then nothing happens. the cpu shows 0% and the hdd-led don't flash. i waited 30min, but nothing proceeded. is there anyone, who had the same issue?


Try to upgrade pax-utils to version 0.1.13, by adding =app-misc/pax-utils-0.1.13 to /etc/portage/package.keywords, which contains a working scanelf.

[edit] cpio method does not create useable initramfs

I have not been able to create a useable initramfs with the cpio method as quoted:

 cd /tmp/tinygentoo && find . | cpio -H newc -o | gzip -9 > /tmp/initramfs-tinygentoo.igz

I have been able to get this to work using the loop method:

 dd if=/dev/zero of=/tmp/initrd.img bs=1MB count=20
 mke2fs -F /tmp/initrd.img
 mkdir /mnt/initrd
 mount -o loop /tmp/initrd.img /mnt/initrd
 rsync -avz /tmp/tinygentoo/ /mnt/initrd
 umount /mnt/initrd
 cd /tmp
 gzip -9 initrd.img

See discussion at [2]

>If you see the message "checking if image is initramfs... it is" and your 2.6 kernel panics trying to mount the root, your problem may be that you didn't put a /init in your file system (in this case you should probably just ln -s /bin/busybox init). See part 1 and part 2 of an interesting article about how 2.6 kernels boot. If there's no init in the root directory of your initramfs (which 2.6 kernels will find after grub loads it, even if there's no "root=/dev/ram0" on the kernel command line), the kernel will fall back to an older way of handling the initial root file system, which is _not_ compatible with the cpio method. (Jac Goudsmit 11-Aug-2006)

[edit] loop method adaption

Here's what I currently use. It's an adaption of the loop thingie but without the -z option which is not very usefull when not rsyncing over a wire and it adds a filter, to filter out unneeded stuff when creating the image. This allows you to have a full system with headers etc when building, but stripping all the unneeded stuff when creating the image. I am very content with this method. First the initrc.rsync exclude filter:

*.h
.keep*
/dev/snd/admmidi*
/dev/snd/amidi*
/dev/snd/dmmidi*
/dev/snd/midi*
/etc/portage
/usr/include
/usr/lib/pkgconfig
/usr/share
/var/cache
/var/db
/var/lib/portage
/var/tmp

And the script, which is almost the same, but can be changed in to a sh script easily, optionally you can extend it to eat command line params for source, dest and image:

#!/bin/sh
EXCLUDE=/root/tinker/initrd.exclude
SOURCE=/tmp/tinygentoo/
TARGET=/mnt/initrd
IMAGE=/tmp/initrd.img
rm -f $IMAGE*
dd if=/dev/zero of=$IMAGE bs=1MB count=10
mke2fs -F $IMAGE
mkdir $TARGET
mount -o loop $IMAGE $TARGET
rsync -av --exclude-from=$EXCLUDE $SOURCE $TARGET
umount $TARGET
gzip -9 $IMAGE

--Tuurlijk 11:25, 23 September 2007 (UTC)

[edit] SquashFS root filesystem

Instead of using the cpio method from the article or the loop method shown above, you could also emerge squashfs-tools (and enable squashfs support in the kernel) and create the root filesystem as follows:

 cd /tinygentoo && mksquashfs * /tmp/initramfs-tinygentoo.igz -noappend

The -noappend option is needed so that the program will create the file system from scratch even if the target file already exists. Obviously the name of the file doesn't really correspond to the contents anymore (something like initrd-tinygentoo.squashfs would be better), if you name it something else, don't forget to change grub's menu.lst file on your target device.

[edit] xynth

what you think about http://www.xynth.org is it useable for a tiny system?

[edit] dietlibc?

Has anyone tried dietlibc yet? It is smaller than uclibc, but I don't know if it's stable.

[edit] Modifying Busybox configuration

(Note I'm using Busybox 1.2.1, which is declared stable on the Busybox website but not yet in Portage at this time; you have to unmask it by adding =sys-apps/busybox-1.2.1 ~* to /etc/portage/package.keywords. However, the busybox 1.1.3 ebuild is almost identical to the 1.2.1 ebuild and the information should be applicable to the Busybox 1.1.3 and 1.2.0 ebuilds as well. The following information applies to the post-bug 141640 ebuild; make sure you have the latest scripts by running emerge --sync before you begin.)

As the Busybox ebuild mentions, it's possible to save and modify your configuration. For example, you can change the configuration to compile more tools into busybox, e.g. sulogin which is needed if you are using Gentoo's rc scripts from baselayout in your target (like me). To do this, use the "savedconfig" keyword when you build Busybox in your chroot environment:

 ROOT=/tinygentoo USE="make-symlinks savedconfig" emerge -av busybox

Every time you use the "savedconfig" USE-keyword, the ebuild will look for an existing config in several locations (see the ebuild file), and will write the configuration file back to the default location which is ${PORTAGE_CONFIGROOT}/etc/portage/savedconfig/${PF}.config. On my system this expands to /etc/portage/savedconfig/busybox-1.2.1.config.

You can manually edit the config file in the location mentioned above (not recommended!), or alternatively you can use busybox's nice configuration menu. For this, you have to tell Portage not to throw the work directory away by using FEATURES=keepwork, as follows:

 # Read existing config file, build busybox based on that config but don't
 # throw away the work directory
 ROOT="/tinygentoo" USE="make-symlinks savedconfig" FEATURES="keepwork" emerge -av busybox
 # Go to the work directory, use the menu to change the configuration, save
 # the configuration to where the ebuild can find it next time.
 # Adapt paths as necessary, and don't forget to do the mv otherwise the
 # next emerge will use the old config
 cd /var/tmp/portage/busybox-1.2.1/work/busybox-1.2.1 && make menuconfig && \
   mv .config /etc/portage/savedconfig/busybox-1.2.1.config
 # Emerge busybox again, this time it can throw the work dir away. Your
 # config file will still be used, so as long as you don't want to change
 # busybox' configuration, you can keep using this command from now on.
 ROOT="/tinygentoo" USE="make-symlinks savedconfig" emerge -av busybox
 

(Jac Goudsmit 09-Aug-2006)

[edit] Kernel Panic

I'm having trouble booting from my USB disk. All OK but in end asks for the ROOT parameter and stops with kernel panic.

VFS: Cannot open root device "<NULL>" or unknown-block(253,3)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(253,3)
File: /mnt/dongle/grub/menu.lst
timeout 3

title TinyGentoo
kernel /vmlinuz-tinygentoo vga=791
initrd /initramfs-tinygentoo.igz

My root:

# ls -1 /tinygentoo
bin
boot
dev
etc
home
init -> bin/busybox
lib
linuxrc -> bin/busybox
mnt
proc
root
sbin
tmp
usr
var

--Kimus 13:01, 18 August 2006 (UTC)

[edit] mounting hda

After having booted the kernel and loaded the initrd (at some point everything worked fine), I was not able to mount any of my partitions. Enabling ide-generic did the trick:

    -> Device Drivers                                                                                                                               
        -> ATA/ATAPI/MFM/RLL support                                                                                                                  
          -> ATA/ATAPI/MFM/RLL support (IDE [=y])                                                                                                     
            -> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support (BLK_DEV_IDE [=y])                                                                 

(Of course, to mount an NTFS partition, I had to insmod the corresponding module first.)

[edit] What if I want to go beyond tinygentoo and add more packages ?

After reading this tutorial I was wondering whether or not this tinygentoo is exactly what I had in mind. Is it just an initramfs file? a tiny rescue linux system? How large this initramfs is allowed to be? What about the base system?

Lets take a closer look to each one of those. The reason I followed this tutorial is to be able to create a custom tiny Linux CD/USB with everything I need for my developing compiled against uClibc. All what I had in mind was: emacs, gcc-3.4.6 or gcc-4.1.1, gdb, ssh, wget and if "Mki" finds out how to install X or Kdrive, then I also wanted to have tightvnc, ddd, qt3, opera, microsoft truetype fonts... you get the point.

This tutorial leaves you with a basic tinygentoo as an initramfs. Am I allowed to install all the packages I need in /tinygentoo, before creating the initramfs image? If not then what steps are needed to have the simple initramfs this tutorial provides, plus some essential packages for every-day developing?

Finally how can somebody burn a CD-ROM instead of a USB stick and what steps are needed to do that? Which steps are also needed to install tinygentoo on hard disk such that it can be booted directly from GRUB?

Looking forward for feedback!

[edit] Experience with TinyGentoo after booting from HardDisk

Dear TinyGentoo fans, I completed the tutorial but unfortunately neither my laptop nor my desktop support booting from a USB stick. So I created a small ext3 partition and copied there the initramfs-tinygentoo.igz and the vmlinuz-tinygentoo. I have a multiboot system and the GRUB is located in my Gentoo partition where I have a full gentoo system. I modified grub.conf accordingly and rebooted. My laptop booted TinyGentoo in less than 10 seconds.

After booting though, I saw that the /dev/ didn't have all the devices. For instance in my hard drive the partitions are numbered like:
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start         End      Blocks   Id  System 

/dev/hda1 1 1275 10241406 7 HPFS/NTFS
/dev/hda2 1276 2492 9775552+ a5 FreeBSD
/dev/hda3 2493 3709 9775552+ bf Solaris
/dev/hda4 3710 9729 48355650 5 Extended
/dev/hda5 3710 4926 9775521 83 Linux
/dev/hda6 4927 6143 9775521 83 Linux
/dev/hda7 6144 7360 9775521 83 Linux
/dev/hda8 7361 8577 9775521 83 Linux
/dev/hda9 8578 9186 4891761 83 Linux
/dev/hda10 9187 9430 1959898+ c W95 FAT32 (LBA)
/dev/hda11 9431 9553 987966 83 Linux
/dev/hda12 9554 9663 883543+ c W95 FAT32 (LBA)
/dev/hda13 9664 9729 530113+ 82 Linux swap / Solaris

Unfortunately in /dev I could only see /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4. There were no more /dev/hdaX devices. So the only partitions I had access to were the three first ones as well as the USB sticks.
Another issue has to do with executables. I had compiled an executable against glibc in my main Gentoo installation, and I copied it to a usb stick. This way I could copy it back to TinyGentoo. Unfortunately it couldn't run. When I invoked its name like:
tinygentoo > ./run

I got a message like:
ash: ./run file not found

The first problem the one related with /dev might be expected since no udev is installed. The second problem, I really do not know. Is it to be expected? If yes how can we fix it? If no, then what might be the problem?


It hasn't got anything to do with executables, only the how stuff is done (= scripts/existing nodes)
You could use busybox's mdev, or copy the device files into the initramfs, or make a script that uses mknod to create the device nodes you require.

[edit] Device management

I recently had to work out some way for dynamically generating devices in /dev and came across busybox mdev function. It's definitively worth a look:

/dev has to be writeable and contain the basic devices -> tmpfs, extracting initial devices via tarball into it. 'busybox mdev -s' did the rest...

--Stargazer 14:37, 20 September 2006 (UTC)

Can you please describe for us exactly what you did and how did you used mdev? It is not clear at all.

--Archwndas 15:39, 20 September 2006 (UTC)

Its working most like the normal gentoo boot procedure:

Change the /init script like this:

echo " * Setting umask.."
umask 022
echo " * Mounting /proc.."
mount -t proc none /proc
echo " * Mounting /sys.."
mount -t sysfs /sys /sys
echo " * Mounting /dev.."
mount -t tmpfs -o size=100k tmpfs /dev
cd /dev
# busybox udev replacement
mdev -s
# catch udev hotplug events
echo "/sbin/mdev" > /proc/sys/kernel/hotplug

That should do the job. Try it out and give feedback here. Then we can include these informations in the article

--mbaecker 15:43, 30 April 2008 (MET)

[edit] --Booting and Installing over PXE --

I was just wondering if it would be possible to install over pxe and if anyone knew of any examples anywhere? Tom

[edit] CFLAGS="-fno-fast-math" might be needed for many packages

GCC 4.1.1 optimizes too much: bugzilla

[edit] Any pre-made TinyGentoo imgs/isos?

Anyone got a premade system they're willing to share? Thanks.

[edit] What about networking?

Is the network setup Gentoo-like, i.e. in /etc/conf.d/net and uses the regular setup or do I have to create a /etc/init.d/S01net script and "hard code" the setup there (e.g. ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up)? Thank you, Kenza

[edit] File ownership problems

Hello, if I copy something from my linux into the tinygentoo dev env. I can't see it. I think there are problems with the users. I did it as root. Does anyone else have this problem?

Thank you, Kenza

[edit] Busybox-1.8.2 compile errors

busybox-1.8.2 will probably produce compile errors:

libbb/time.c: In function 'monotonic_us':
libbb/time.c:20: error: '__NR_clock_gettime' undeclared (first use in this function)
libbb/time.c:20: error: (Each undeclared identifier is reported only once
libbb/time.c:20: error: for each function it appears in.)
libbb/time.c: In function 'monotonic_sec':
libbb/time.c:27: error: '__NR_clock_gettime' undeclared (first use in this function)
make[1]: *** [libbb/time.o] Error 1

This is because it requires uclibc-0.9.29. This isn't in the portage tree yet, but you can get the ebuilds from here. --Thelucster 15:00, 16 February 2008 (UTC)

I found that even after updating to uclibc-0.9.29 I still couldn't get busybox 1.8.2 to compile, to get it to work I had to merge it using USE="savedconfig" and CONFIG_MONOTONIC_SYSCALL turned off in the .config file, once I'd done this it compiled nicley.

As a side note, commenting out CONFIG_MONOTONIC_SYSCALL doesn't seem to work, I suspect the default is on so you will need to turn it off for this to take effect.

--MiggyMan 11:13, 28 February 2008 (UTC)

Seems to need both: uclibc-0.9.29 and CONFIG_MONOTONIC_SYSCALL=n to compile.

[edit] libintl_gettext errors

If you get "libintl_gettext" errors while emerging uclibc or busybox or... just rmove /usr/include/libintl.h

[edit] e2fsprogs

As per this bug report you may have trouble merging e2fsprogs 1.40.4, this is a uclibc issue, I found that masking it solved the problem as 1.40.3 merges without any issues.

--MiggyMan 14:26, 28 February 2008 (UTC)

[edit] Screen

You might have issues emerging screen (uclibc issue), info and fix can be found here.

--MiggyMan 17:20, 28 February 2008 (UTC)

[edit] baselayout-lite

note: baselayout-lite isn't in portage anymore. perhaps we can use openrc? Anonymous

[edit] nothing fancy, just a different howto based on tinygentoo

http://www.anticore.org/ratgentoo/

Personal tools