Saturday, March 30, 2013

HOWTO : Pentoo 2013.0 RC1.1 on ASUS Sabertooth X79

After about a month of tries and errors, this article is the most updated and error free for the Pentoo 2013 RC1.1 installation as at April 22, 2013.

Pentoo is based on Gentoo and it is a Penetration Testing Linux distribution. The developers of Pentoo targetted their product for serious Pentesters. Pentoo is not for newbies as it is based on Gentoo which requires some Linux experience to master this distribution.

Hardware

CPU : Intel i7-3930K (6 cores, 12 cores with Hyper-Threading, Socket 2011)
Motherboard : ASUS SaberTooth X79
RAM : Corsair Vengeance DDR3 1600 32GB (4GB x 8)
Hard Drive : WD SATA III 3TB Red WD30EFRX
Display Card : Inno3D nVidia GeForce GTX 590 384bit 3072MB DDR5 x 2

Making of Bootable USB Pendrive

Use UNetbootin to make a bootable USB pendrive. Before booting, edit syslinux.cfg on the usb pendrive and add "nodetect" to the kernel line to prevent asking for password when boot. Unetbootin switches the bootloader and there was a mistake in the converted config file. This issue has been logged and fixed for the next release.

Live USB Boot to Desktop

Press F8 to pop up the BIOS boot menu and DO NOT select the UEFI option of the USB pendrive.

Once it is booted up, at the "livecd" prompt type the following to bring up the ethernet card. Make sure you are connecting to the internet :

dhcpcd eth0

Type the following to build the latest version of nVidia display card driver :

mkxf86config.sh
eselect opengl set xorg-x11
nvidia-xconfig


After that, type the following command to bring up the desktop :

startx

Live USB Boot to Install

Step 0 :

Press F8 to pop up the BIOS boot menu and DO NOT select the UEFI option of the USB pendrive.

Step 1 :

dhcpcd eth0
layman -s pentoo
emerge -1 pentoo-installer


pentoo-installer

Step 1a :

If you have a hard drive that is larger than 2TB, you need to manual configure your partitions :

/dev/sda1 - /boot
/dev/sda2 - swap
/dev/sda3 - /


Then following the menu to install step by step. At last, you will be asked for install the bootloader, you should install to /dev/sda.

Step 2 :

After the installation, remove the USB pendrive and reboot your box and login as root.

Next, clean up live configuration :

dhcpcd eth0

Fix the /etc/inittab file :
rc-update delete fixinittab
emerge -1 sys-apps/sysvinit


Remove live-related configuration :
rm /etc/gconf /usr/share/livecd
emerge -1 gnome-base/gconf


Then, reboot your box again and login as root.

Step 3 :

(First time configuration)

You are advised to follow the prompt from the screen to do the update.

dhcpcd eth0
nano /etc/portage/make.conf


ACCEPT_LICENSE="AdobeFlash-11.x Intel-SDP PUEL"

# You may wish to edit your VIDEO_CARDS line to match your system better.
# nVidia users:
USE="binary-drivers cuda opencl qemu -doc -examples"
VIDEO_CARDS="nvidia fbdev vga vesa"


# AMD (ATi) users :
USE="binary-drivers opencl qemu -doc -examples"
VIDEO_CARDS="fglrx fbdev vga vesa"


If you are installing Pentoo to virtualbox or vmware, please use the following settings :
# Guest OS users should add virtualbox/vmware flags:
USE="binary-drivers opencl qemu -doc -examples"
VIDEO_CARDS="virtualbox fbdev vga vesa"


Step 4 :

(First time update)

emerge --sync

After that, you are required to react to the recommendation on the screen (which is usually in green colour). You may requried to update portage (if any), please do :

emerge --oneshot portage

Then, you may prompt to do the following (if any) :
emerge @preserved-rebuild

*** nVidia and cuda drivers are to be installed then. If AMD (ATi), no action to be taken.

Reboot the box and login as root again.

Step 5 :

If nVidia user :
nvidia-xconfig

startx

To update/upgrade the packages :
emerge --deep --update --newuse world -vt

To merge the config files (if any) :
etc-update

*** select "-3" to replace with the new config files and answer "yes" for all questions.

To delete not necessary packages including unused video drivers :
emerge --depclean

To rebuild anything when some packages are broken in the update :
emerge @preserved-rebuild

To update/upgrade the SVN packages :
smart-live-rebuild

To make sure there is no breakage after the update :
revdep-rebuild

To regenerate the main menu of Xfce window manager (you are required to do this step on each user) :
genmenu.py -x

To check if any config file need to be merge or not :
etc-update

To clean up the box (remove old or not needed packages) :
eclean-dist -d

To rebuild X11 related drivers :
emerge @x11-module-rebuild

To set the java vm to the latest version :
eselect java-vm list
eselect java-vm set system icedtea-bin-7


or

eselect java-vm set system 1

*** if the icedtea-bin-7 is in the first item.

To recompile perl when it is upgraded :
perl-cleaner --modules

To recompile python when it is upgraded :
python-updater

Step 6 :

After that, reboot and login as root.

If you would like the xfce4 window manager :
startxfce4

Else, if you want to have e17 window manager :
startx

The network interface name will be changed to "eno1" (due to udev-2000) for my box (you may need to use "ifconfig -a" to confirm :

dhcpcd eno1

startxfce4

To make sure wicd will be launch without problem even you are login as normal user :
rc-update add wicd default

Step 7 :

nano /etc/conf.d/hostname

Change to :
HOSTNAME="pentoo"

*** or any hostname you like.

Step 8 (Optional) :

If you are AMD (ATi) user, you may need to do the following in order to launch the window manager :
rc-update add acpid boot

*** If you login as normal user, you just "startx" to xfce4 window manager.

*** If you login as root but want to use "startx" to xfce4 window manager, you need to :

nano .xinitrc
exec ck-launch-session startxfce4
#exec enlightenment_start


Step 9 (Optional) :

If you do not want to have weird or new network interface name, you can refer to this link to fallback to kernel based name.

Or simply following the below step :

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

Then, reboot your box.

Know issue

As at April 22, 2013, CUDA and her related applications, such as pyrit, cudaHashcat-plus64.bin and Cryptohaze-Multiforcer do not work due to the Pentoo's hardened kernel. The workaround for Cryptohaze-Multiforcer is at here. Hope the development team can solve this problem as soon as possible.



That's all! See you.

Update Pentoo 2013.0 RC1.1
Customize Pentoo 2013.0 RC1.1