Difference between revisions of "Install Gentoo Linux"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
Line 1: Line 1:
<p class=MsoNormal><span class=postbody1><span style='font-size:9.0pt;
+
'''Change Log'''
font-family:Verdana'>
+
Added drive prep information 3/5/06 <Br>
+
Added drive prep information 3/5/06
Added drive journaling and indexing 3/7/06 <Br>
+
Added drive journaling and indexing 3/7/06
<Br>
+
 
<Br>
+
I'm sure I left something out, but the steps are here. A good amount of this stuff is from TGL's gentoo beta 1 how-to. As usual, backup your data before starting. You will be formatting partitions which destroys all data. You have been warned.  
I'm sure I left something out, but the steps are here. A good amount of this stuff is from TGL's gentoo beta 1 how-to. As usual, backup your data before starting. You will be formatting
+
 
partitions which destroys all data. You have been warned.  
+
== Preparing for Install ==
<br>
+
<br>
+
<Br>
+
 
Start by using any FTP client to upload EM_mode_binaries.tar.bz2 (you can download it from http://kurobox.com/downloads/gentoo to /tmp on the Kuro (hint: Windows may change the extension of the file when you download it from the internet). Then login to the kuro using a telnet client  
 
Start by using any FTP client to upload EM_mode_binaries.tar.bz2 (you can download it from http://kurobox.com/downloads/gentoo to /tmp on the Kuro (hint: Windows may change the extension of the file when you download it from the internet). Then login to the kuro using a telnet client  
<br>
+
 
<br>
+
Kroutoshikou KURO-BOX (IETSUNA)  
<br>
+
kernel 2.4.17-kuro-box on ppc  
Kroutoshikou KURO-BOX (IETSUNA)  
+
KURO-BOX-EM login: root  
kernel 2.4.17-kuro-box on ppc  
+
Password:kuro
<br>
+
 
<br>
+
KURO-BOX-EM login: root  
+
<br>
+
Password:kuro
+
<br>
+
<br>
+
 
Lets see what we've got  
 
Lets see what we've got  
<br>
+
# df
<br>
+
Filesystem 1k-blocks Used Available Use% Mounted on
<span class=postbody1># df </span><br>
+
/dev/ram0 9677 5102 4575 53% /  
<span class=postbody1>Filesystem 1k-blocks Used Available Use% Mounted on </span><br>
+
#cd /tmp  
<span class=postbody1>/dev/ram0 9677 5102 4575 53% / </span><br>
+
#ls  
<span class=postbody1>#cd /tmp </span><br>
+
EM_mode_binaries.tar.gz  
<span class=postbody1>#ls </span><br>
+
 
EM_mode_binaries.tar.gz  
+
<br>
+
<br>
+
 
Change to the root and untar the binaries.  
 
Change to the root and untar the binaries.  
<br>
+
#cd /  
<br>
+
#tar xvzf /tmp/EM_mode_binaries.tar.gz  
<span class=postbody1>#cd / </span><br>
+
bin/ <br>
<span class=postbody1>#tar xvzf /tmp/EM_mode_binaries.tar.gz </span><br>
+
bin/sfdisk  
bin/ <br>
+
bin/fdisk  
bin/sfdisk <br>
+
bin/bzip2  
bin/fdisk <br>
+
bin/date  
bin/bzip2 <br>
+
bin/chroot  
bin/date <br>
+
#  
bin/chroot <br>
+
 
<span class=postbody1># </span><br>
+
Check and set the date.  
<br>
+
#date  
Check and set the date. <br>
+
Fri Feb 1 12:37:03 JST 2006  
<br>
+
#date 02032238  
<span class=postbody1>#date </span><br>
+
Thu Feb 3 22:38:00 JST 2006
Fri Feb 1 12:37:03 JST 2006 <br>
+
 
<span class=postbody1>#date 02032238 </span><br>
+
We run fdisk and create partitions. I use 4 partitions. hda1 for /, hda2 for the swap space, hda3 for /var, and hda4 for my data store (/datafiles). [http://www.gentoo.org/doc/en/handbook/handbook-ppc.xml?part=1&chap=4 This page] from the Gentoo Handbook explains how to prepare your harddisk (create partitions). For most 10 gig for / on hda1  and /var on hda3 is adequate. 512 meg is good for a swap space on hda2 and use the remainder for /datafiles on hda4. However you decide to break up your harddisk, remember you need to mount all of the drives (except the swap and /datafiles) before you untar the system file (More on that later).  
Thu Feb 3 22:38:00 JST 2006 <br>
+
 
<br>
+
#fdisk /dev/hda
We run fdisk and create partitions. I use 4 partitions. hda1 for /, hda2 for the swap space, hda3 for /var, and hda4 for my data store (/datafiles). [http://www.gentoo.org/doc/en/handbook/handbook-ppc.xml?part=1&chap=4 This page] from the Gentoo Handbook explains how to prepare your harddisk (create partitions). For most 10 gig for / on hda1  and /var on hda3 is adequate. 512 meg is good for a swap space on hda2 and use the remainder for /datafiles on hda4. However you decide to break up your harddisk, remember you need to mount all of the drives (except the swap and /datafiles) before you untar the system file (More on that later). <Br>
+
 
<Br>
+
I have read that journaling and indexing will speed up your system. If you would like to setup journaling and indexing click here, [http://www.kurobox.com/mwiki/index.php?title=journaling_and_indexing Journaling and Indexing], and follow the instructions for partitioning and formatting your drive. A tune2fs binary for the Kuro can be downloaded from http://www.kurobox.com/downloads/gentoo. When you are done come back to this page and skip down about 30 lines to the part where we create the swap space.
<Br>
+
<p class=MsoNormal><span class=postbody1><span style='font-size:9.0pt;
<span class=postbody1>#fdisk /dev/hda </span><br>
+
font-family:Verdana'>
<br>
+
 
 +
Once the partitions are created we format the partitions. Here we format the first partition on /dev/hda (the hard drive is /dev/hda).
 +
# mke2fs -j /dev/hda1
 +
mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09
 +
Filesystem label=
 +
OS type: Linux
 +
Block size=4096 (log=2)
 +
Fragment size=4096 (log=2)
 +
1251712 inodes, 2502115 blocks
 +
125105 blocks (5.00%) reserved for the super user
 +
First data block=0
 +
77 block groups
 +
32768 blocks per group, 32768 fragments per group
 +
16256 inodes per group
 +
Superblock backups stored on blocks:
 +
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
 +
 +
Writing inode tables: done
 +
Creating journal (8192 blocks): done
 +
Writing superblocks and filesystem accounting information: done
 +
 +
This filesystem will be automatically checked every 29 mounts or
 +
180 days, whichever comes first. Use tune2fs -c or -i to override.
 +
#
  
I have read that journaling and indexing will speed up your system. If you would like to setup journaling and indexing click [http://www.kurobox.com/mwiki/index.php?title=journaling_and_indexing here] and follow the instructions for partitioning and formatting your drive. A tune2fs binary for the Kuro can be downloaded from http://www.kurobox.com/downloads/gentoo. When you are done come back to this page and skip down about 30 lines to the part where we create the swap space.<Br>
 
<Br>
 
<br>
 
Once the partitions are created we format the partitions. Here we format the first partition on /dev/hda (the hard drive is /dev/hda). <br>
 
<br>
 
<span class=postbody1># mke2fs -j /dev/hda1 <br>
 
mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09 <br>
 
Filesystem label= <br>
 
OS type: Linux <br>
 
Block size=4096 (log=2) <br>
 
Fragment size=4096 (log=2) <br>
 
1251712 inodes, 2502115 blocks <br>
 
125105 blocks (5.00%) reserved for the super user <br>
 
First data block=0 <br>
 
77 block groups <br>
 
32768 blocks per group, 32768 fragments per group <br>
 
16256 inodes per group <br>
 
Superblock backups stored on blocks: <br>
 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 <br>
 
<br>
 
Writing inode tables: done <br>
 
Creating journal (8192 blocks): done <br>
 
Writing superblocks and filesystem accounting information: done <br>
 
<br>
 
<span class=postbody1>This filesystem will be automatically checked every 29
 
mounts or </span><br>
 
<span class=postbody1>180 days, whichever comes first. Use tune2fs -c or -i to
 
override. </span><br>
 
<span class=postbody1># </span><br>
 
<br>
 
 
We do this for all of the partitions we plan to use. <br>
 
We do this for all of the partitions we plan to use. <br>
<span class=postbody1># mke2fs -j /dev/hda3 </span><br>
+
# mke2fs -j /dev/hda3  
<span class=postbody1># mke2fs -j /dev/hda4 </span><br>
+
.
<br>
+
.
Next we create the swap space <br>
+
.
<br>
+
# mke2fs -j /dev/hda4  
<span class=postbody1># mkswap /dev/hda2 </span><br>
+
 
Setting up swapspace version 1, size = 518184960 bytes <br>
+
Next we create the swap space  
<span class=postbody1># </span><br>
+
# mkswap /dev/hda2  
<br>
+
Setting up swapspace version 1, size = 518184960 bytes  
We will create the directoy /gentoo and mount /dev/hda1 there. this allows us to create the gentoo system on the hard drive instead of in the flash ram disk. It will later become our root. ><br>
+
#  
<br>
+
 
<span class=postbody1># mkdir /gentoo </span><br>
+
We will create the directoy /gentoo and mount /dev/hda1 there. this allows us to create the gentoo system on the hard drive instead of in the flash ram disk. It will later become our root.  
<span class=postbody1># mount -t ext3 /dev/hda1 /gentoo </span><br>
+
# mkdir /gentoo  
<br>
+
# mount -t ext3 /dev/hda1 /gentoo  
We now use our FTP client to upload system-20060108.tar.gz from http://www.kurobox.com/downloads/gentoo to the /gentoo directory on the kuro. we also upload portage-snapshot-20060108.tar.gz. Use the most current one you can find. It can be found at any of the gentoo mirrors. The last file we need to upload is the current portage overlay which was portage-overlay-20060122.tar.gz when I wrote this. It can also be found at http://www.kurobox.com/downloads/gentoo. <br>
+
 
<br>
+
We now use our FTP client to upload system-20060108.tar.gz from http://www.kurobox.com/downloads/gentoo to the /gentoo directory on the kuro. we also upload portage-snapshot-20060108.tar.gz. Use the most current one you can find. It can be found at any of the gentoo mirrors. The last file we need to upload is the current portage overlay which was portage-overlay-20060122.tar.gz when I wrote this. It can also be found at http://www.kurobox.com/downloads/gentoo.  
Now we make /gentoo/var and mount /dev/hda3 there <br>
+
 
<br>
+
Now we make /gentoo/var and mount /dev/hda3 there  
<span class=postbody1># mkdir /gentoo/var </span><br>
+
# mkdir /gentoo/var  
<span class=postbody1># mount -t ext3 /dev/hda3 /gentoo/var </span><br>
+
# mount -t ext3 /dev/hda3 /gentoo/var  
<br>
+
 
We now change directories to /gentoo and untar the system in what will be our root directory <br>
+
We now change directories to /gentoo and untar the system in what will be our root directory
<br>
+
#cd /gentoo
<span class=postbody1>#cd /gentoo </span><br>
+
# tar xvjf system-20060108.tar.gz  
<span class=postbody1># tar xvjf system-20060108.tar.gz </span><br>
+
./bin/  
./bin/ <br>
+
./bin/gawk  
./bin/gawk <br>
+
.
<br>
+
.
<br>
+
.
./var/state/.keep <br>
+
./var/state/.keep  
./var/empty/ <br>
+
./var/empty/  
./var/empty/.keep <br>
+
./var/empty/.keep  
./bin/awk <br>
+
./bin/awk  
<span class=postbody1># </span><br>
+
#  
<br>
+
 
Next we mount /proc <br>
+
Next we mount /proc  
<br>
+
# mount -t proc none /gentoo/proc  
<span class=postbody1># mount -t proc none /gentoo/proc </span><br>
+
 
<br>
+
and configure name resolution  
and configure name resolution <br>
+
# cp -L /etc/resolv.conf /gentoo/etc/  
<br>
+
 
<span class=postbody1># cp -L /etc/resolv.conf /gentoo/etc/ </span><br>
+
And then we chroot into the new gentoo system  
<br>
+
# chroot /gentoo /bin/bash  
And then we chroot into the new gentoo system <br>
+
KURO-BOX-EM / #  
<br>
+
 
<span class=postbody1># chroot /gentoo /bin/bash </span><br>
+
We set up the terminal  
KURO-BOX-EM / # <br>
+
KURO-BOX-EM / #export TERM=vt100
<br>
+
 
We set up the terminal <br>
+
Next we setup portage. This might be a good time to get a drink or walk the dog.  
<br>
+
KURO-BOX-EM / #cd /var  
KURO-BOX-EM / #export TERM=vt100 <br>
+
KURO-BOX-EM var #tar xvjf /portage-20060126.tar.gz  
<br>
+
 
Next we setup portage. This might be a good time to get a drink or walk the dog. <br>
+
Next we install the portage overlay  
<br>
+
KURO-BOX-EM var # mkdir overlays  
KURO-BOX-EM / #cd /var <br>
+
KURO-BOX-EM var # cd overlays  
KURO-BOX-EM var #tar xvjf /portage-20060126.tar.gz <br>
+
KURO-BOX-EM overlays # mkdir 20060122  
<br>
+
KURO-BOX-EM overlays # cd 20060122  
Next we install the portage overlay <br>
+
KURO-BOX-EM 20060122 # tar xvjf /overlay-20060122.tar.gz  
<br>
+
profiles/  
KURO-BOX-EM var # mkdir overlays <br>
+
profiles/kurobox/  
KURO-BOX-EM var # cd overlays <br>
+
profiles/kurobox/make.defaults  
KURO-BOX-EM overlays # mkdir 20060122 <br>
+
.
KURO-BOX-EM overlays # cd 20060122 <br>
+
.
KURO-BOX-EM 20060122 # tar xvjf /overlay-20060122.tar.gz <br>
+
.
<br>
+
sys-kernel/modules-kurobox-hg/Manifest  
profiles/ <br>
+
sys-kernel/modules-kurobox-hg/files/  
profiles/kurobox/ <br>
+
sys-kernel/modules-kurobox-hg/files/digest-modules-kurobox-hg-2.4.17  
profiles/kurobox/make.defaults <br>
+
KURO-BOX-EM 20060122 #  
<br>
+
 
<br>
+
Now we create empty directories for distfiles and binaries  
sys-kernel/modules-kurobox-hg/Manifest <br>
+
KURO-BOX-EM 20060122 # cd /var  
sys-kernel/modules-kurobox-hg/files/ <br>
+
KURO-BOX-EM portage # mkdir packages  
sys-kernel/modules-kurobox-hg/files/digest-modules-kurobox-hg-2.4.17 <br>
+
KURO-BOX-EM portage # mkdir distfiles  
KURO-BOX-EM 20060122 # <br>
+
 
<br>
+
Now we configure portage  
Now we create empty directories for distfiles and binaries <br>
+
KURO-BOX-EM portage #cd /etc  
KURO-BOX-EM 20060122 # cd /var <br>
+
KURO-BOX-EM etc #nano make.conf  
KURO-BOX-EM portage # mkdir packages ><br>
+
 
KURO-BOX-EM portage # mkdir distfiles <br>
+
#The GENTOO_MIRRORS and SYNC lines need to be adjusted. Pick the three nearest sites listed at http://www.gentoo.org/main/en/mirrors.xml for your GENTOO_MIRRORS line.  
<br>
+
 
Now we configure portage <br>
+
CFLAGS=&quot;-O2 -mcpu=603e -fno-strict-aliasing -pipe -fsigned-char&quot;  
<br>
+
CXXFLAGS=&quot;${CFLAGS}&quot;  
KURO-BOX-EM portage #cd /etc <br>
+
KURO-BOX-EM etc #nano make.conf <br>
+
PORTDIR=/var/portage  
<br>
+
DISTDIR=/var/distfiles  
<span class=postbody1>#The GENTOO_MIRRORS and SYNC lines need to be adjusted. Pick the three nearest sites listed at http://www.gentoo.org/main/en/mirrors.xml for your GENTOO_MIRRORS line. <br>
+
PKGDIR=/var/packages  
</span><br>
+
RPMDIR=/var/rpm  
CFLAGS=&quot;-O2 -mcpu=603e -fno-strict-aliasing -pipe -fsigned-char&quot; <br>
+
#I store my overlays in a directory based on the date of the overlay  
CXXFLAGS=&quot;${CFLAGS}&quot; <br>
+
PORTDIR_OVERLAY="/var/overlays/20060122"  
<br>
+
PORTDIR=/var/portage <br>
+
RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes  
DISTDIR=/var/distfiles <br>
+
PKGDIR=/var/packages <br>
+
GENTOO_MIRRORS="http://www.gatech.edu/pub/gentoo/ http://ftp.ucsb.edu/pub/mirro..."  
RPMDIR=/var/rpm <br>
+
<span class=postbody1>#I store my overlays in a directory based on the date of the overlay </span><br>
+
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"  
PORTDIR_OVERLAY="/var/overlays/20060122" <br>
+
 
<br>
+
Next we set up the portage profile  
RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes <br>
+
KURO-BOX-EM etc #rm make.profile
<br>
+
 
GENTOO_MIRRORS="http://www.gatech.edu/pub/gentoo/ http://ftp.ucsb.edu/pub/mirro..."  
+
Notice the 20060122 in the following line. Change it to the date of your overlay in order to point to the correct directory. The link is the relative diretory from /etc. Notice we have to go up 1 level (../) before going back down the /var part of the tree.  
<br>
+
KURO-BOX-EM etc #ln -s ../var/overlays/20060122/profiles/kurobox make.profile  
<br>
+
KURO-BOX-EM kurobox #cd /var/overlays  
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" <br>
+
 
<br>
+
Notice the 20060122 in the following lines. Change it to the date of your overlay in order to point to the correct directory. It is the relative path from the profile in the overlay to the profile in the official portage tree. Each ../ indicates a directory up in the tree. Just count the directories up and then add the path back down.  
<br>
+
KURO-BOX-EM overlays # echo "../../../../portage/profiles/default-linux/ppc/2005.1/ppc" > 20060122/profiles/kurobox/parent  
Next we set up the portage profile <br>
+
KURO-BOX-EM overlays #cd /etc  
<br>
+
 
KURO-BOX-EM etc #rm make.profile <br>
+
Now lets regenerate the portage cache. This would be a good time for a bathroom break or a quick run to the store for a snack.  
<br>
+
KURO-BOX-EM etc #emerge metadata  
Notice the 20060122 in the following line. Change it to the date of your overlay in order to point to the correct directory. The link is the relative diretory from /etc. Notice we have to go up 1 level (../) before going back down the /var part of the tree. <br>
+
Updating Portage cache: 100%  
<br>
+
KURO-BOX-EM etc #  
KURO-BOX-EM etc #ln -s ../var/overlays/20060122/profiles/kurobox make.profile <br>
+
 
KURO-BOX-EM kurobox #cd /var/overlays <br>
+
We edit /etc/fstab as required. Here are the important parts of my fstab:
<br>
+
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.  
Notice the 20060122 in the following lines. Change it to the date of your overlay in order to point to the correct directory. It is the relative path from the profile in the overlay to the profile in the official portage tree. Each ../ indicates a directory up in the tree. Just count the directories up and then add the path back down. <br>
+
/dev/hda1    /          ext3    noatime      0      0  
<br>
+
/dev/hda2    none        swap    sw          0      1  
KURO-BOX-EM overlays # echo "../../../../portage/profiles/default-linux/ppc/2005.1/ppc" > 20060122/profiles/kurobox/parent <br>
+
/dev/hda3    /var        ext3    noatime      0      2  
KURO-BOX-EM overlays #cd /etc <br>
+
/dev/hda4    /datafiles  ext3    noatime      0      0  
<br>
+
Now lets regenerate the portage cache. This would be a good time for a bathroom break or a quick run to the store for a snack. <br>
+
# NOTE: The next line is critical for boot! </span><br>
<br>
+
none          /proc      proc    defaults    0      0  
KURO-BOX-EM etc #emerge metadata <br>
+
 
<br>
+
Now we'll check if the system is up to date  
Updating Portage cache: 100% <br>
+
KURO-BOX-EM etc #emerge -puD system  
<br>
+
 
KURO-BOX-EM etc # <br>
+
If there are packages that need installing/upgrading wait until you finish the install guide and reboot the system before running emerge -uD world. I know for a fact that glibc won't emerge if you try to do it right now, but it will after the install is complete.  
<br>
+
 
We edit /etc/fstab as required. Here are the important parts of my fstab: <br>
+
Next we change the root password and add a user who is a member of wheel so they can su to root.  
<br>
+
KURO-BOX-EM etc #passwd  
<span class=postbody1># NOTE: If your BOOT partition is ReiserFS, add the notail option to opts. <br>
+
New UNIX password:  
/dev/hda1    /          ext3    noatime      0      0 <br>
+
Retype new UNIX password:  
/dev/hda2    none        swap    sw          0      1 <br>
+
passwd: password updated successfully  
/dev/hda3    /var        ext3    noatime      0      2 <br>
+
KURO-BOX-EM etc # useradd dtaylor -m -G users,wheel -s /bin/bash  
/dev/hda4    /datafiles  ext3    noatime      0      0 <br>
+
KURO-BOX-EM etc # passwd dtaylor  
<br>
+
New UNIX password:  
<span class=postbody1># NOTE: The next line is critical for boot! </span><br>
+
Retype new UNIX password:  
none          /proc      proc    defaults    0      0 <br>
+
passwd: password updated successfully  
<br>
+
KURO-BOX-EM etc #  
<br>
+
 
Now we'll check if the system is up to date <br>
+
<br>
+
KURO-BOX-EM etc #emerge -puD system <br>
+
<br>
+
If there are packages that need installing/upgrading wait until you finish the install guide and reboot the system before running emerge -uD world. I know for a fact that glibc won't emerge if you try to do it right now, but it will after the install is complete. <br>
+
<br>
+
Next we change the root password and add a user who is a member of wheel so they can su to root. <br>
+
<br>
+
KURO-BOX-EM etc #passwd <br>
+
New UNIX password: <br>
+
Retype new UNIX password: <br>
+
passwd: password updated successfully <br>
+
KURO-BOX-EM etc # useradd dtaylor -m -G users,wheel -s /bin/bash <br>
+
KURO-BOX-EM etc # passwd dtaylor <br>
+
New UNIX password: <br>
+
Retype new UNIX password: <br>
+
passwd: password updated successfully <br>
+
KURO-BOX-EM etc # <br>
+
<br>
+
 
Next we configure the network. <br>
 
Next we configure the network. <br>
 
<br>
 
<br>

Revision as of 00:30, 14 March 2006

Change Log

Added drive prep information 3/5/06
Added drive journaling and indexing 3/7/06

I'm sure I left something out, but the steps are here. A good amount of this stuff is from TGL's gentoo beta 1 how-to. As usual, backup your data before starting. You will be formatting partitions which destroys all data. You have been warned.

Preparing for Install

Start by using any FTP client to upload EM_mode_binaries.tar.bz2 (you can download it from http://kurobox.com/downloads/gentoo to /tmp on the Kuro (hint: Windows may change the extension of the file when you download it from the internet). Then login to the kuro using a telnet client

Kroutoshikou KURO-BOX (IETSUNA) 
kernel 2.4.17-kuro-box on ppc 
KURO-BOX-EM login: root 
Password:kuro

Lets see what we've got

# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/ram0 9677 5102 4575 53% / 
#cd /tmp 
#ls 
EM_mode_binaries.tar.gz 

Change to the root and untar the binaries.

#cd / 
#tar xvzf /tmp/EM_mode_binaries.tar.gz 
bin/ 
bin/sfdisk bin/fdisk bin/bzip2 bin/date bin/chroot #

Check and set the date.

#date 
Fri Feb 1 12:37:03 JST 2006 
#date 02032238 
Thu Feb 3 22:38:00 JST 2006

We run fdisk and create partitions. I use 4 partitions. hda1 for /, hda2 for the swap space, hda3 for /var, and hda4 for my data store (/datafiles). This page from the Gentoo Handbook explains how to prepare your harddisk (create partitions). For most 10 gig for / on hda1 and /var on hda3 is adequate. 512 meg is good for a swap space on hda2 and use the remainder for /datafiles on hda4. However you decide to break up your harddisk, remember you need to mount all of the drives (except the swap and /datafiles) before you untar the system file (More on that later).

#fdisk /dev/hda 

I have read that journaling and indexing will speed up your system. If you would like to setup journaling and indexing click here, Journaling and Indexing, and follow the instructions for partitioning and formatting your drive. A tune2fs binary for the Kuro can be downloaded from http://www.kurobox.com/downloads/gentoo. When you are done come back to this page and skip down about 30 lines to the part where we create the swap space.

Once the partitions are created we format the partitions. Here we format the first partition on /dev/hda (the hard drive is /dev/hda). # mke2fs -j /dev/hda1 mke2fs 1.22, 22-Jun-2001 for EXT2 FS 0.5b, 95/08/09 Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 1251712 inodes, 2502115 blocks 125105 blocks (5.00%) reserved for the super user First data block=0 77 block groups 32768 blocks per group, 32768 fragments per group 16256 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 29 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. # We do this for all of the partitions we plan to use.
# mke2fs -j /dev/hda3 . . . # mke2fs -j /dev/hda4 Next we create the swap space # mkswap /dev/hda2 Setting up swapspace version 1, size = 518184960 bytes # We will create the directoy /gentoo and mount /dev/hda1 there. this allows us to create the gentoo system on the hard drive instead of in the flash ram disk. It will later become our root. # mkdir /gentoo # mount -t ext3 /dev/hda1 /gentoo We now use our FTP client to upload system-20060108.tar.gz from http://www.kurobox.com/downloads/gentoo to the /gentoo directory on the kuro. we also upload portage-snapshot-20060108.tar.gz. Use the most current one you can find. It can be found at any of the gentoo mirrors. The last file we need to upload is the current portage overlay which was portage-overlay-20060122.tar.gz when I wrote this. It can also be found at http://www.kurobox.com/downloads/gentoo. Now we make /gentoo/var and mount /dev/hda3 there # mkdir /gentoo/var # mount -t ext3 /dev/hda3 /gentoo/var We now change directories to /gentoo and untar the system in what will be our root directory #cd /gentoo # tar xvjf system-20060108.tar.gz ./bin/ ./bin/gawk . . . ./var/state/.keep ./var/empty/ ./var/empty/.keep ./bin/awk # Next we mount /proc # mount -t proc none /gentoo/proc and configure name resolution # cp -L /etc/resolv.conf /gentoo/etc/ And then we chroot into the new gentoo system # chroot /gentoo /bin/bash KURO-BOX-EM / # We set up the terminal KURO-BOX-EM / #export TERM=vt100 Next we setup portage. This might be a good time to get a drink or walk the dog. KURO-BOX-EM / #cd /var KURO-BOX-EM var #tar xvjf /portage-20060126.tar.gz Next we install the portage overlay KURO-BOX-EM var # mkdir overlays KURO-BOX-EM var # cd overlays KURO-BOX-EM overlays # mkdir 20060122 KURO-BOX-EM overlays # cd 20060122 KURO-BOX-EM 20060122 # tar xvjf /overlay-20060122.tar.gz profiles/ profiles/kurobox/ profiles/kurobox/make.defaults . . . sys-kernel/modules-kurobox-hg/Manifest sys-kernel/modules-kurobox-hg/files/ sys-kernel/modules-kurobox-hg/files/digest-modules-kurobox-hg-2.4.17 KURO-BOX-EM 20060122 # Now we create empty directories for distfiles and binaries KURO-BOX-EM 20060122 # cd /var KURO-BOX-EM portage # mkdir packages KURO-BOX-EM portage # mkdir distfiles Now we configure portage KURO-BOX-EM portage #cd /etc KURO-BOX-EM etc #nano make.conf #The GENTOO_MIRRORS and SYNC lines need to be adjusted. Pick the three nearest sites listed at http://www.gentoo.org/main/en/mirrors.xml for your GENTOO_MIRRORS line. CFLAGS="-O2 -mcpu=603e -fno-strict-aliasing -pipe -fsigned-char" CXXFLAGS="${CFLAGS}" PORTDIR=/var/portage DISTDIR=/var/distfiles PKGDIR=/var/packages RPMDIR=/var/rpm #I store my overlays in a directory based on the date of the overlay PORTDIR_OVERLAY="/var/overlays/20060122" RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes GENTOO_MIRRORS="http://www.gatech.edu/pub/gentoo/ http://ftp.ucsb.edu/pub/mirro..." SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" Next we set up the portage profile KURO-BOX-EM etc #rm make.profile Notice the 20060122 in the following line. Change it to the date of your overlay in order to point to the correct directory. The link is the relative diretory from /etc. Notice we have to go up 1 level (../) before going back down the /var part of the tree. KURO-BOX-EM etc #ln -s ../var/overlays/20060122/profiles/kurobox make.profile KURO-BOX-EM kurobox #cd /var/overlays Notice the 20060122 in the following lines. Change it to the date of your overlay in order to point to the correct directory. It is the relative path from the profile in the overlay to the profile in the official portage tree. Each ../ indicates a directory up in the tree. Just count the directories up and then add the path back down. KURO-BOX-EM overlays # echo "../../../../portage/profiles/default-linux/ppc/2005.1/ppc" > 20060122/profiles/kurobox/parent KURO-BOX-EM overlays #cd /etc Now lets regenerate the portage cache. This would be a good time for a bathroom break or a quick run to the store for a snack. KURO-BOX-EM etc #emerge metadata Updating Portage cache: 100% KURO-BOX-EM etc # We edit /etc/fstab as required. Here are the important parts of my fstab: # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts. /dev/hda1 / ext3 noatime 0 0 /dev/hda2 none swap sw 0 1 /dev/hda3 /var ext3 noatime 0 2 /dev/hda4 /datafiles ext3 noatime 0 0 # NOTE: The next line is critical for boot!

none /proc proc defaults 0 0 Now we'll check if the system is up to date KURO-BOX-EM etc #emerge -puD system If there are packages that need installing/upgrading wait until you finish the install guide and reboot the system before running emerge -uD world. I know for a fact that glibc won't emerge if you try to do it right now, but it will after the install is complete. Next we change the root password and add a user who is a member of wheel so they can su to root. KURO-BOX-EM etc #passwd New UNIX password: Retype new UNIX password: passwd: password updated successfully KURO-BOX-EM etc # useradd dtaylor -m -G users,wheel -s /bin/bash KURO-BOX-EM etc # passwd dtaylor New UNIX password: Retype new UNIX password: passwd: password updated successfully KURO-BOX-EM etc # Next we configure the network.

KURO-BOX-EM etc #cd conf.d
KURO-BOX-EM conf.d #cp net.example net
KURO-BOX-EM conf.d #nano net

If you want a static IP address you need to uncomment a couple of lines. Scroll down to the section INTERFACE HANDLERS and uncomment the following lines. In the example I have set the IP address to 192.168.0.9, the network mask to 255.255.255.0, and the gateway to 192.168.0.1. Do not uncomment the default via 4321:0:1:2:3:4:567:89ab". You will want to change the IP address gateway address to suit your network. If you want to use DCHP, don't edit the file at all as it defaults to DCHP.

config_eth=( 192.168.0.9 netmask 255.255.255.0 broadcast 192.168.0.255 )

routes_eth0=(
"default via 192.168.0.1"
# "default via 4321:0:1:2:3:4:567:89ab"
)


Add net.eth0 to your default runlevel or you won't be able to log in.

KURO-BOX-EM conf.d #cd /etc
KURO-BOX-EM etc #rc-update add net.eth0 default

Now we get SSH working. This step will take a few minutes and will throw a few errors.

KURO-BOX-EM etc #/etc/init.d/sshd start

Then we start putty on our computer and try to login. Once you are sure you can login exit putty, stop sshd, and add it to the default runlevel.

KURO-BOX-EM etc #/etc/init.d/sshd stop
KURO-BOX-EM etc #rc-update add sshd dafault

Next we make sure that the proper daemons are set to the default runlevel

KURO-BOX-EM etc # ls runlevels/default/
local net.eth0 netmount sshd

and then we exit the chroot system

KURO-BOX-EM etc # exit
#

Unmount everything
# cd /
# umount /gentoo/var
# umount /gentoo/proc
# umount /gentoo

Set the box to boot to the new system
# echo -n "OKOK" > /dev/fl3

and then restart the system
# shutdown -r now

Wait a few minutes and then log onto your kuro with putty. Now would be a good time to update everything and take a short vacation as it will be emerging applications for a day or three.

KURO-BOX-EM # cd /
KURO-BOX-EM # emerge -uD world

Last we need to update our config files. Don't do this blindly as you can easily break your brand new system. You need to understand what the configuration files mean and choose what lines you want to edit.

KURO-BOX-EM # etc-update </p>