gentoo chrootiez in 30 seconds
March 8, 2012
Сегодня получил доступ к ppc64 коробке. Решил причесать ворох хаков в отдельный проект и забросил на gihtub как gentoo-chrootiez.
Тут наиподробнейшая последовательность действий, чтобы развернуть chroot.
Работает не только для gentoo, но в gentoo не нужно делать вообще ничего, чтобы получить rootfs. Распаковали stage3 - и можно заходить.
Пример лога для развёртывания нового окружения:
~ $ mkdir chrootiez
~ $ cd chrootiez/
~/chrootiez $ wget http://distfiles.gentoo.org/releases/alpha/current-stage3/stage3-alpha-20120303.tar.bz2
~/chrootiez $ mkdir alpha-stable
~/chrootiez $ cd alpha-stable/
~/chrootiez/alpha-stable $ sudo tar xvjpf ../stage3-alpha-20120303.tar.bz2
~/chrootiez/alpha-stable $ cd ..
~/chrootiez $ git clone git://github.com/trofi/gentoo-chrootiez
~/chrootiez $ cat >alpha-stable.sh <<EOF
#!/bin/sh
sudo gentoo-chrootiez/scripts/run_chroot.sh alpha-stable as-is "\$@"
EOF
~/chrootiez $ chmod +x alpha-stable.sh
# Тут начинается gentoo-специфичная дурь:
~/chrootiez $ cd gentoo-chrootiez/bound/
~/chrootiez/gentoo-chrootiez/bound $ ./make_typical_binds.sh
~/chrootiez/gentoo-chrootiez/bound $ ls -l
drwxr-xr-x conf
lrwxrwxrwx distfiles -> /usr/portage/distfiles
-rwxr-xr-x make_typical_binds.sh
lrwxrwxrwx portage -> /usr/portage
-rw-r--r-- README
# Создали ссылки на portage и distfiles
# Я еще обычно добавляю разные оверлеи:
~/chrootiez/gentoo-chrootiez/bound $ ln -s ~/overlays/gentoo-haskell gentoo-haskell
~/chrootiez/gentoo-chrootiez/bound $ cd ../..
#
# Заходим в chroot:
~/chrootiez $ ./alpha-stable.sh
/ > echo 'source /bound/conf/make.conf' >> /etc/make.conf
/ > eselect profile set 1
/ > USE=binary emerge -1 ghc
Готово!
Кровываые детали кроются в двух маленьких скриптах :]