Difference between revisions of "HOWTO: Install from an existing Linux system"
Hatalar205 (talk | contribs) |
|||
Line 9: | Line 9: | ||
I would recommend using the official Gentoo livecd if you're going that way. | I would recommend using the official Gentoo livecd if you're going that way. | ||
− | < | + | <You> | But then, why bother doing this instead of just burn a Sabayon install media? |
− | < | + | <Me> | For the fun. |
− | < | + | <You> | Fair enough :) |
The first part is about installing a very basic gentoo system in a chrooted partition; in the second part we will use <tt>portage</tt> to install <tt>entropy</tt> and <tt>equo</tt>. Finally we will use <tt>equo</tt> to install a full sabayon system in the third and last part. | The first part is about installing a very basic gentoo system in a chrooted partition; in the second part we will use <tt>portage</tt> to install <tt>entropy</tt> and <tt>equo</tt>. Finally we will use <tt>equo</tt> to install a full sabayon system in the third and last part. | ||
Line 124: | Line 124: | ||
<tt>layman</tt> is a gentoo tool to manage portage overlays. We will use it to get our hands on the sabayon overlay. | <tt>layman</tt> is a gentoo tool to manage portage overlays. We will use it to get our hands on the sabayon overlay. | ||
+ | Update: entropy and equo are in regular portage, so you can skip this step. | ||
− | emerge --sync | + | # emerge --sync # make sure portage is fully up to date... or not. Up to you. portage snapshots are done daily, i see no need to sync. |
− | USE="git" emerge -avt layman | + | # USE="git" emerge -avt layman # now equo is in regular portage! |
− | + | # layman -a sabayon # see above | |
− | |||
===Entropy and Equo=== | ===Entropy and Equo=== | ||
Line 157: | Line 157: | ||
===Entropy: the missing bits=== | ===Entropy: the missing bits=== | ||
− | When you install entropy you'll miss some vital portage bits, namely the | + | When you install entropy you'll miss some vital portage bits, namely the /etc/portage/* files used to build the sabayon packages. |
Hopefully you can find those here: https://git.sabayon.org/build.git/ | Hopefully you can find those here: https://git.sabayon.org/build.git/ | ||
Line 183: | Line 183: | ||
# symlink to sabayon /etc/make.conf /etc/portage/: | # symlink to sabayon /etc/make.conf /etc/portage/: | ||
ln -sf /opt/sabayon-build/conf/intel/portage portage | ln -sf /opt/sabayon-build/conf/intel/portage portage | ||
− | + | ||
Of course, change <tt>make.conf.amd64</tt> and <tt>package.env.amd64</tt> to <tt>make.conf.x86</tt> and <tt>package.env.x86</tt> if you are not on x86_64. | Of course, change <tt>make.conf.amd64</tt> and <tt>package.env.amd64</tt> to <tt>make.conf.x86</tt> and <tt>package.env.x86</tt> if you are not on x86_64. | ||
Revision as of 19:28, 5 February 2013
- Overview
This HOWTO brings the gentoo installation method (as in the Handbook) to Sabayon.
Please note that "an existing Linux system" can be either an installed system (then you cannot use that partition for sabayon) or just a livecd.
I would recommend using the official Gentoo livecd if you're going that way.
<You> | But then, why bother doing this instead of just burn a Sabayon install media? <Me> | For the fun. <You> | Fair enough :)
The first part is about installing a very basic gentoo system in a chrooted partition; in the second part we will use portage to install entropy and equo. Finally we will use equo to install a full sabayon system in the third and last part.
Contents
Part 1: Gentoo install
- Please refer to http://www.gentoo.org/doc/en/gentoo-x86-quickinstall.xml and http://www.gentoo.org/doc/en/handbook/index.xml for more in-depth details about gentoo installation.
Partitioning
Do your thing and partition your disk(s). You need at least a root partition (/).
Create filesystems for your partitions according to your likings. Remember that you will need to install the *progs packages for your filesystem(s).
From now on we will assume that your root filesystem is mounted under /mnt/sabayon.
Also if you have a /var, /boot, /usr, /home ... filesystems, create the mountpoints relative to /mnt/sabayon and mount them now.
Get Gentoo installation files
We will assume an x86_64 architecture here. If you're on x86 (32 bits), change "amd64" with "x86".
export ARCH="amd64"
Pick up a mirror near you from this list: http://www.gentoo.org/main/en/mirrors.xml
export MIRROR="ftp://distfiles.gentoo.org/pub/gentoo"
We will refer to your arch as $ARCH and to your chosen mirror as $MIRROR from now on.
Download and verify stage3 archive
wget -r $MIRROR/releases/$ARCH/current-stage3/ cat stage3-$ARCH-*.tar.bz2.DIGESTS && md5sum stage3-$ARCH-*.tar.bz2 && sha1sum stage3-$ARCH-*.tar.bz2
Download and verify portage snapshot
wget $MIRROR/snapshots/portage-latest.tar.bz2 wget $MIRROR/snapshots/portage-latest.tar.bz2.md5sum cat portage-latest.tar.bz2.DIGESTS && md5sum portage-latest.tar.bz2 && sha1sum portage-latest.tar.bz2
Unpack stage3 and portage
tar xfpj stage3-$ARCH-*.tar.bz2 -C /mnt/sabayon tar xfpj portage-latest.tar.bz2 -C /mnt/sabayon/usr
Note the p option: it's for preserving file permissions and it's very important!
Chroot into your new Gentoo
Everything that follows is done while in /mnt/sabayon:
cd /mnt/sabayon
Mounting filesystems
mount -o bind /dev ./dev mount -t devpts none ./dev/pts mount -t tmpfs none ./dev/shm mount -t proc none ./proc mount -t sysfs none ./sys
Copying /etc/resolv.conf
cp /etc/resolv.conf ./etc
Chroot!
chroot /mnt/sabayon /bin/bash
Now you are on your Gentoo chroot!
Configure environnment
export LANG=en_US export LANGUAGE=${LANG} export LC_ALL=${LANG}.UTF-8 env-update eselect python set 1 #sets python 2.7 as default source /etc/profile
Some early configuration
Set up a root password
As I regulary forget to setup the root password, let's do that as first thing:
passwd
Timezone
cd /etc/ ln -sf ../usr/share/zoneinfo/<REGION>/<City> localtime
Where <REGION> is your region and <City> the nearest big city.
Hostname
Don't be lame and change "localhost" to something else. Update /etc/hosts accordingly.
nano -w /etc/conf.d/hostname nano -w /etc/hosts
Mount points
nano -w /etc/fstab
Part 2: Sabayon overlay setup and installation of entropy+equo
Layman
layman is a gentoo tool to manage portage overlays. We will use it to get our hands on the sabayon overlay. Update: entropy and equo are in regular portage, so you can skip this step.
# emerge --sync # make sure portage is fully up to date... or not. Up to you. portage snapshots are done daily, i see no need to sync. # USE="git" emerge -avt layman # now equo is in regular portage! # layman -a sabayon # see above
Entropy and Equo
emerge -avt equo --autounmask-write etc-update emerge -avt equo
Now we have entropy and equo installed. To make use of it, we should first generate the entropy database (only the very first time!):
equo rescue generate
Yes, you are sure about this. You should answer yes three times to make it happy.
Perfect. Now we need to setup sabayon repositories:
cd /etc/entropy/repositories.conf.d cp entropy_sabayonlinux.org.example entropy_sabayonlinux.org cd -
Let's use equo to populate the repo db:
equo update equo repo mirrorsort sabayonlinux.org
We're set! equo is now in a working state!
Entropy: the missing bits
When you install entropy you'll miss some vital portage bits, namely the /etc/portage/* files used to build the sabayon packages.
Hopefully you can find those here: https://git.sabayon.org/build.git/
Let's make use of them!
# fetch the bits! cd /opt git clone git://git.sabayon.org/projects/build.git sabayon-build cd /opt/sabayon-build/conf/intel/portage # keep your specific stuff in "myconf" branch: git checkout -b myconf # symlink to your <arch>: ln -sf make.conf.amd64 make.conf ln -sf package.env.amd64 package.env # add & commit git add make.conf package.env git config --global user.name "Your Name" git config --global user.email "[email protected]" git commit # rename the gentoo /etc/make.conf and /etc/portage/: cd /etc/ mv portage portage-gentoo mv make.conf make.conf-gentoo # symlink to sabayon /etc/make.conf /etc/portage/: ln -sf /opt/sabayon-build/conf/intel/portage portage
Of course, change make.conf.amd64 and package.env.amd64 to make.conf.x86 and package.env.x86 if you are not on x86_64.
If you want to change some USE flags on certain packages you should:
- update your /etc/portage/package.use
- mask the package in /etc/entropy/packages/package.mask
so that emerge will use your specified USE flags and entropy will not handle the specified package again.
i.e. you want ruby support for app-editors/vim:
cd /etc/portage sed -i package.use -e "s,app-editors/vim vim-pager,app-editors/vim vim-pager ruby" # or just use VIM! git add package.use git commit -m "app-editors/vim +ruby" cd /etc/entropy/packages echo "app-editors/vim" >> package.mask
Part 3: Finish installation using equo
eix
To make your life easier, let's install eix (a tool for portage searching) and also the sabayon-distribution overlay (i.e. the entropy packages as a portage overlay):
equo install eix layman -a sabayon-distro cd /etc/portage echo "source /var/lib/layman/make.conf" >> make.conf git commit -m "source layman/make.conf in /etc/make.conf" eix-sync
Now you can use eix to quickly search for installed/installable/upgradable packages and see their versions and use flags.
Filesystem progs
From gentoo quickinstall, code listing 2.27:
equo install xfsprogs # (if you use the XFS file system) equo install jfsutils # (if you use the JFS file system)
Network stuff
equo install dhcpcd # (if you need a DHCP client) equo install ppp # (if you need PPPoE ADSL connectivity) equo install wireless-tools # (if you need wireless connectivity) equo install wpa_supplicant # (if you need WPA/WPA2 authentication) equo install wicd # (if you do like wicd)
Kernel & bootloader
equo install linux-sabayon equo install grub nano -w /boot/grub/menu.lst # setup grub
System logger and Cron daemon
equo install syslog-ng vixie-cron rc-update add syslog-ng default rc-update add vixie-cron default
This is just a suggestion: please go for the system logger and cron daemon of your choice!
Everything else
Install any other packages you want using equo:
equo install <whatever>
For example, if you want KDE, the base packages needed can be installed with equo install kdebase-meta
Exit & cleanup
Exit the chroot
exit
Unmount filesystems
cd /mnt/sabayon umount ./sys umount ./proc umount ./dev/shm umount ./dev/pts umount ./dev
Unmount any other filesystem inside /mnt/sabayon.
Then unmount the root filesystem of your new sabayon system:
umount /mnt/sabayon
Reboot
You are now ready to reboot (well, you were ready since the "setup grub" step, actually)
reboot
Enjoy your new shiny Sabayon system installed like it should be! (please forgive the troll in me)