Понадобилось мне собрать для своих нужд маленький live-дистрибутив, причём настолько маленький, что есть смысл запихать его целиком в initramfs.
Придя к выводу, что наиболее удобным buildroot можно считать gentoo stage3, я им воспользовался:
wget -cO./download/stage3-latest.tbz $(wget -qO- "http://gentoo.bloodhost.ru/releases/x86/autobuilds/current-stage3-i686/" | sed -rn '/i686-[0-9]+.tar.bz2"/{s#.*href="([^"]+)".*#http://gentoo.bloodhost.ru/releases/x86/autobuilds/current-stage3-i686/\1#p;q}')
tar xvf ./download/stage3-latest.tbz -C ./stage3/
wget -cO./download/portage-latest.txz http://gentoo.bloodhost.ru/releases/snapshots/current/portage-latest.tar.xz
tar xvf ./download/portage-latest.txz -C ./stage3//usr
Написал такие конфиги:
# make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="i686-pc-linux-gnu"
USE="-* minimal"
VIDEO_CARDS="vesa"
# package.use
sys-apps/busybox savedconfig static
sys-block/gparted dmraid fat hfs jfs mdadm ntfs reiser4 reiserfs xfs
#required by x11-libs/gtk+-2.24.5-r1, required by dev-cpp/gtkmm-2.24.2, required by sys-block/gparted-0.9.1, required by gparted (argument)
x11-libs/cairo X svg
#required by app-text/gnome-doc-utils-0.20.6, required by sys-block/gparted-0.9.1, required by gparted (argument)
dev-libs/libxml2 python
#required by x11-libs/gtk+-2.24.5-r1, required by dev-cpp/gtkmm-2.24.2, required by sys-block/gparted-0.9.1, required by gparted (argument)
x11-libs/gdk-pixbuf X
x11-base/xorg-server kdrive
#required by dev-libs/libxml2-2.7.8-r3[python], required by x11-misc/shared-mime-info-0.90, required by x11-libs/gtk+-2.24.5-r1, required by dev-cpp/gtkmm-2.24.2, required by sys-block/gparted-0.9.1, required by gparted (argument)
dev-lang/python xml
И попытался собрать систему:
chroot ./stage3 env ROOT=/target emerge busybox xorg-server gparted
А emerge сначала потребовал изменить USE-флаги (см. выше), а потом поставил аж на 363M всяких программ.
Что можно сделать, чтобы ещё уменьшить размер системы? Сменить профиль?
Tarkus / # eselect profile list
Available profile symlink targets:
[1] default/linux/x86/10.0 *
[2] default/linux/x86/10.0/selinux
[3] default/linux/x86/10.0/desktop
[4] default/linux/x86/10.0/desktop/gnome
[5] default/linux/x86/10.0/desktop/kde
[6] default/linux/x86/10.0/developer
[7] default/linux/x86/10.0/server
[8] hardened/linux/x86
[9] hardened/linux/x86/selinux