Gentoo auf FreeBSD unter dem Linuxulator

Der linuxulator erzeugt Probleme mit utime. Dank http://forums.freebsd.org/showthread.php?t=36405 gibt es einen Lösungsweg.

echo "export TAR_OPTIONS='--touch'" >>/etc/profile
source /etc/profile
cd /usr/ports/emulators/linux_dist-gentoo-stage3
make install GENTOO_OPTIMIZED=i686
chroot /usr/local/gentoo-stage3 /bin/bash
mv /usr/bin/touch /usr/bin/touch_
mv /bin/rm /bin/rm_
mv /bin/tar /bin/tar_
ln -s /bin/busybox /usr/bin/touch
ln -s /bin/busybox /bin/rm
ln -s /bin/busybox /bin/tar

/etc/portage/make.conf editieren

FEATURES="-sandbox"

eintragen.

Möglicherweise wirft emerge noch epoll Fehler. Hier ist ein Patch für den portage: Gentoo-Git Overlay - EventLoop.py patch

epoll Problem - Alternative

FreeBSD Kernel patchen, möglicherweise geht das aber nur mit dem FreeBSD-Stable branch, ungetestet. Der FreeBSD Release meldet Probleme mit kqueue

[[http://lev.vlakno.cz/~rdivacky/patches/linux_epoll.patch|Linuxulator epoll patch]]

Gentoo in the jail

# mkdir /jails/gentoo

Stage3 (i386) und portage snapshot laden, nach /jails/gentoo und /jails/gentoo/portage entpacken.

# kldload linux
# kldload linprocfs
# kldload linsysfs
# kldload lindev
# mount -t devfs none /jails/gentoo/dev
# mount -t linprocfs none /jails/gentoo/proc
# mount -t linsysfs none /jails/gentoo/sys

We are using /jails/gentoo for the root of the Gentoo. We will load all the necessary devices (nota : lindev appeared in Freebsd 9-CURRENT and has MFCed in 8-STABLE, it is not obligatory).

To correctly start my jail, at least 1 service must be started in the jail (I failed to build a persistent linux jail only). By default the startup script of jails try to launch /etc/rc that we will create and launch /etc/rc.shutdown to stop it.

# echo "/etc/init.d/cron start" > /jails/gentoo/etc/rc
# chmod 755 /jails/gentoo/etc/rc
# echo "/etc/init.d/cron stop" > /jails/gentoo/etc/rc.shutdown
# chmod 755 /jails/gentoo/etc/rc.shutdown

In /etc/rc.conf we configure the startup of the jail :

jail_gentoo_rootdir=/jails/gentoo
jail_gentoo_hostname="gentoo"
jail_gentoo_ip="192.168.1.3"
jail_gentoo_interface="nfe0"
jail_gentoo_devfs_enable="YES"
jail_gentoo_devfs_ruleset="devfsrules_jail"
jail_gentoo_flags="-n gentoo"

Die anderen Punkte weiter oben müssen übrigens trotzdem ausgeführt werden!

We start the jail :

# /etc/rc.d/jail start gentoo
#jls
#jexec gentoo uname -a
 
 
         
         
   
(16353 views) freebsd9_linuxulator_gentoo.txt · Zuletzt geändert: 2013/02/16 21:18 von terminar