(Adding categories) |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 18: | Line 18: | ||
=== Unpack files as follows === |
=== Unpack files as follows === |
||
*Extract the following files from <code>Portable_Ubuntu.exe</code> to your <code>Portable_Gentoo</code> directory using 7zip: |
*Extract the following files from <code>Portable_Ubuntu.exe</code> to your <code>Portable_Gentoo</code> directory using 7zip: |
||
− | + | <pre>The entire pulseaudio subdirectory |
|
− | + | The entire Xming subdirectory tree |
|
− | + | portable_ubuntu.bat |
|
− | + | run_portable_ubuntu.bat |
|
− | + | TrayRun.exe</pre> |
|
*Extract the following files from the coLinux self-installing binary to your <code>Portable_Gentoo</code> directory using 7zip: |
*Extract the following files from the coLinux self-installing binary to your <code>Portable_Gentoo</code> directory using 7zip: |
||
− | + | <pre>colinux-console-nt.exe |
|
− | + | colinux-daemon.exe |
|
− | + | colinux-net-daemon.exe |
|
− | + | colinux-slirp-net-daemon.exe |
|
− | + | example.conf |
|
− | + | initrd.gz |
|
− | + | linux.sys |
|
− | + | vmlinux |
|
− | + | vmlinux-modules.tar.gz</pre> |
|
*Copy these two files to your <code>share</code> subdirectory: |
*Copy these two files to your <code>share</code> subdirectory: |
||
− | + | <pre>vmlinux |
|
− | + | vmlinux-modules.tar.gz</pre> |
|
*Also, copy the file <code>example.conf</code> to your <code>gentoo</code> subdirectory and rename it to <code>gentoo.conf</code>. |
*Also, copy the file <code>example.conf</code> to your <code>gentoo</code> subdirectory and rename it to <code>gentoo.conf</code>. |
||
*Extract the file <code>gentoo-root</code> from the Gentoo-colinux file to your <code>gentoo</code> subdirectory using 7zip. |
*Extract the file <code>gentoo-root</code> from the Gentoo-colinux file to your <code>gentoo</code> subdirectory using 7zip. |
||
Line 54: | Line 54: | ||
*Now go ahead and run the <code>run_portable_gentoo.bat</code> batch file to launch the initial version of Gentoo coLinux! |
*Now go ahead and run the <code>run_portable_gentoo.bat</code> batch file to launch the initial version of Gentoo coLinux! |
||
− | == |
+ | == Prepare for chroot == |
+ | Run the following commands. You could put it in a script, but it's probably better to run each command individually and confirm success. |
||
<pre> |
<pre> |
||
⚫ | |||
− | #Run coGentoo |
||
− | mkdir |
+ | mkdir config share |
⚫ | |||
− | #********* Either automount or manual mount COFS shares. ************* |
||
⚫ | |||
− | #********************************************************************* |
||
− | echo 'cofs0 /config cofs user,dmask=0777,fmask=0666 0 0' >> /etc/fstab |
||
− | echo 'cofs1 /share cofs user,dmask=0777,fmask=0666 0 0' >> /etc/fstab |
||
− | reboot |
||
− | #*************************** OR ************************************** |
||
⚫ | |||
⚫ | |||
− | #********************************************************************* |
||
mke2fs /dev/cobd3 |
mke2fs /dev/cobd3 |
||
− | #Fill the HDD with 0's. |
+ | dd if=/dev/zero of=/dev/cobd3 bs=1M # Fill the HDD with 0's. This speeds up future writes? |
− | dd if=/dev/zero of=/dev/cobd3 bs=1M |
||
mke2fs -j /dev/cobd3 |
mke2fs -j /dev/cobd3 |
||
⚫ | |||
mount /dev/cobd3 /mnt/gentoo |
mount /dev/cobd3 /mnt/gentoo |
||
mkdir /mnt/gentoo/dev |
mkdir /mnt/gentoo/dev |
||
mount -o bind /dev /mnt/gentoo/dev |
mount -o bind /dev /mnt/gentoo/dev |
||
+ | |||
cd /mnt/gentoo |
cd /mnt/gentoo |
||
mkdir config share |
mkdir config share |
||
− | tar xjpf / |
+ | tar xjpf /gentoo/stage3*.tar.bz2 |
+ | |||
cd /mnt/gentoo/usr |
cd /mnt/gentoo/usr |
||
− | tar xjf /share/portage- |
+ | tar xjf /share/portage-latest.tar.bz2 |
+ | |||
cd / |
cd / |
||
cp -L /etc/resolv.conf /mnt/gentoo/etc/ |
cp -L /etc/resolv.conf /mnt/gentoo/etc/ |
||
Line 87: | Line 82: | ||
cp -L /etc/make.conf /mnt/gentoo/etc/make.conf |
cp -L /etc/make.conf /mnt/gentoo/etc/make.conf |
||
mount -t proc proc /mnt/gentoo/proc |
mount -t proc proc /mnt/gentoo/proc |
||
+ | </pre> |
||
⚫ | |||
+ | |||
+ | == Configure your new root image == |
||
⚫ | |||
env-update && source /etc/profile |
env-update && source /etc/profile |
||
#Set this to your timezone |
#Set this to your timezone |
||
Line 117: | Line 115: | ||
ln -s /usr/bin/loadkeys /bin/loadkeys |
ln -s /usr/bin/loadkeys /bin/loadkeys |
||
exit |
exit |
||
− | halt |
+ | halt</pre> |
+ | == Remaining Procedures == |
||
− | #Now, back in windows |
+ | <pre>#Now, back in windows |
edit config/Portable_Gentoo.conf |
edit config/Portable_Gentoo.conf |
||
Line 164: | Line 163: | ||
#Add a file browser |
#Add a file browser |
||
emerge nautilus |
emerge nautilus |
||
+ | |||
+ | #udev version 145 requires 2.6.25 or more and coLinux kernel is 2.6.22 as of this writing, you might want to mask this version: |
||
+ | echo '>=sys-fs/udev-145' >> /etc/portage/package.mask |
||
emerge --update world |
emerge --update world |
Latest revision as of 08:56, 8 September 2009
Introduction[]
Please note that this is still a work in progress. I tried updating the original 2006 image and ran into nothing but grief. So here's a quick and dirty on the steps I took to build my own 2008 Portable Gentoo. Enjoy!
Create Directory Structure[]
Create the following directory structure:
...\Portable_Gentoo ...\Portable_Gentoo\gentoo ...\Portable_Gentoo\share
Download and Unpack Installation Files[]
Download the following files[]
- Portable Ubuntu distribution from http://sourceforge.net/project/showfiles.php?group_id=237407 .
- Latest stable branch coLinux self-installing binary from http://www.colinux.org/snapshots/ (e.g.
stable-coLinux-20090415.exe
). - Latest coLinux Gentoo 2.6.x Images file from http://sourceforge.net/project/showfiles.php?group_id=98788 (e.g.
Gentoo-colinux-i686-2007-03-03.7z
). - Gentoo 2008.0 stage3 file from http://distfiles.gentoo.org/releases/x86/current/ (e.g.
stage3-i686-20090422.tar.bz2
). - Latest portage file from http://distfiles.gentoo.org/releases/snapshots/current/portage-latest.tar.bz2 .
Unpack files as follows[]
- Extract the following files from
Portable_Ubuntu.exe
to yourPortable_Gentoo
directory using 7zip:
The entire pulseaudio subdirectory The entire Xming subdirectory tree portable_ubuntu.bat run_portable_ubuntu.bat TrayRun.exe
- Extract the following files from the coLinux self-installing binary to your
Portable_Gentoo
directory using 7zip:
colinux-console-nt.exe colinux-daemon.exe colinux-net-daemon.exe colinux-slirp-net-daemon.exe example.conf initrd.gz linux.sys vmlinux vmlinux-modules.tar.gz
- Copy these two files to your
share
subdirectory:
vmlinux vmlinux-modules.tar.gz
- Also, copy the file
example.conf
to yourgentoo
subdirectory and rename it togentoo.conf
. - Extract the file
gentoo-root
from the Gentoo-colinux file to yourgentoo
subdirectory using 7zip. - Move the Gentoo stage3 and portage files to your
gentoo
subdirectory.
Run the initial version of coLinux[]
- Create an empty container for your new root file system with the following command. The example creates a 10G (10,737,418,240) file, but you can run it with as small a file as 2G (2,147,483,648).
fsutil file createnew Portable_Gentoo\gentoo\2008_root_fs 10737418240
- Edit the file
gentoo.conf
as follows:- Change
cobd0="c:\coLinux\root_fs"
tocobd0=gentoo\gentoo-root
. - Add the line
cobd3=gentoo\2008_root_fs
. - Set a maximum memory,
mem=256
is probably the lowest you'll want to set it to. - Enable eth0 by uncommenting
eth0=slirp
- Add the line
exec0="Xming\Xming.exe :0 -notrayicon +bs -wm -auth Xauthority -clipboard -multiwindow -dpi 100 -xkblayout us"
(change the xkblayout to your liking ;-) - Setup two shares with the lines
cofs0=gentoo
andcofs1=share
.
- Change
- Rename the file
portable_ubuntu.bat
toportable_gentoo.bat
and edit it so that the line iscolinux-daemon @gentoo\gentoo.conf cobd1=%temp%\swap.img cobd2=%temp%\temp.img -t nt
. - Rename the file
run_portable_ubuntu.bat
torun_portable_gentoo.bat
and edit the first line to bestart trayrun.exe cmd /c portable_gentoo.bat
. - Now go ahead and run the
run_portable_gentoo.bat
batch file to launch the initial version of Gentoo coLinux!
Prepare for chroot[]
Run the following commands. You could put it in a script, but it's probably better to run each command individually and confirm success.
cd / mkdir config share mount -t cofs -o user,dmask=0777,fmask=0666 cofs0 /config mount -t cofs -o user,dmask=0777,fmask=0666 cofs1 /share mke2fs /dev/cobd3 dd if=/dev/zero of=/dev/cobd3 bs=1M # Fill the HDD with 0's. This speeds up future writes? mke2fs -j /dev/cobd3 mount /dev/cobd3 /mnt/gentoo mkdir /mnt/gentoo/dev mount -o bind /dev /mnt/gentoo/dev cd /mnt/gentoo mkdir config share tar xjpf /gentoo/stage3*.tar.bz2 cd /mnt/gentoo/usr tar xjf /share/portage-latest.tar.bz2 cd / cp -L /etc/resolv.conf /mnt/gentoo/etc/ cp /etc/conf.d/net /mnt/gentoo/etc/conf.d/net cp -L /share/vmlinux /mnt/gentoo/boot/kernel cp -L /etc/make.conf /mnt/gentoo/etc/make.conf mount -t proc proc /mnt/gentoo/proc
Configure your new root image[]
chroot /mnt/gentoo /bin/bash env-update && source /etc/profile #Set this to your timezone cp /usr/share/zoneinfo/America/New_York /etc/localtime cd /etc #Set these to your chosen hostname echo "127.0.0.1 colinux localhost" > hosts sed -i -e 's/HOSTNAME.*/HOSTNAME="colinux"/' conf.d/hostname hostname colinux rc-update add net.eth0 default echo '/dev/cobd0 / ext3 noatime 0 1' > /etc/fstab echo '/dev/cobd1 none swap sw 0 0' >> /etc/fstab echo 'proc /proc proc defaults 0 0' >> /etc/fstab echo 'shm /dev/shm tmpfs nodev,nosuid,noexec 0 0' >> /etc/fstab echo '#cofs0 /config cofs user,dmask=0777,fmask=0666 0 0' >> /etc/fstab echo 'cofs1 /share cofs user,dmask=0777,fmask=0666 0 0' >> /etc/fstab #Set your root's password passwd root #Fix the console font error mv /bin/setfont /bin/setfont.old echo '#!/bin/bash' > /bin/setfont echo 'if ! uname -r | grep -q -e "-co-"' >> /bin/setfont echo 'then' >> /bin/setfont echo ' /bin/setfont.old $@' >> /bin/setfont echo 'fi' >> /bin/setfont chmod +x /bin/setfont ln -s /usr/bin/loadkeys /bin/loadkeys exit halt
Remaining Procedures[]
#Now, back in windows edit config/Portable_Gentoo.conf --- cobd0=images\gentoo-root --- cobd3=images\2008_root_fs +++ cobd0=images\2008_root_fs #Run Portable_Gentoo emerge mirrorselect #Grab the fastest 5 servers mirrorselect -s5 emerge --sync emerge portage emerge htop lynx sys-devel/libtool net-libs/gnutls /etc/init.d/sshd start rc-update add sshd default #This'll take some time: USE="consolekit" emerge sys-auth/pambase #And this took near a day, though, in fairness, I had 4 devenv.exe's, an RDP, iTunes, and 5 other programs running USE="X" emerge sys-apps/dbus gnome-panel #Fix dependencies for gnome-panel emerge gentoolkit revdep-rebuild #This fixes a circular dependency when installing xorg-x11 emerge --nodeps virtual/glu emerge xorg-x11 emerge x11-terms/xterm #First time use requires a UUID dbus-uuidgen --ensure /etc/init.d/dbus start rc-update add dbus default #because white is so harsh on the eyes echo 'XTerm*background: black' >> ~/.Xdefaults echo 'XTerm*foreground: white' >> ~/.Xdefaults echo 'XTerm*highlightColor: red' >> ~/.Xdefaults #FINALLY! Launch the panel! export DISPLAY=10.0.2.2:0.0 gnome-panel & #Add a file browser emerge nautilus #udev version 145 requires 2.6.25 or more and coLinux kernel is 2.6.22 as of this writing, you might want to mask this version: echo '>=sys-fs/udev-145' >> /etc/portage/package.mask emerge --update world