Sunday, April 13, 2008

Reinstalling PC-BSD

I complted my backups during dinner so when I booted my laptop tonight, compared the MD5 checksums on the PC-BSD v1.5 CD#1 ISO file and burned the disk. I had K3B installed from PBI when I installed PC-BSD from a 2-Disk set awhile ago but I've never actually used K3B to do things lol. So I put a blank CD-R in my laptops acd0 and looked around on how to burn the ISO.

cdrecord -scanbus               # find out my 'dev'ice
Cdrecord-Clone 2.01 (i386-unknown-freebsd6.2) Copyright (C) 1995-2004 Jörg Schilling
Using libscg version 'schily-0.8'.
        2,0,0   200) 'PHILIPS ' 'DVD+-RW SDVD8441' 'PA48' Removable CD-ROM
        2,1,0   201) *
        2,2,0   202) *
        2,3,0   203) *
        2,4,0   204) *
        2,5,0   205) *
        2,6,0   206) *
        2,7,0   207) *

cdrecord -v -pad speed=1 dev=2,0,0 PCBSD1.5-x86-CD1.iso
        # with very nice verbose output ;-)

I've never used my laptops DVD+-RW drive for burning disks before, normally I use the install of Nero that came with my Desktop but good ol'Dixie ain't let me down, the CD-ROM came out great. I did an install with the decision to use the entire disk and a custom disk label. The dang gum installer still doesn't have an option to set the time zone to UTC so I set it to Europe/London GMT 0000 which is close enough (my .zshrc sets TZ)

I noticed three problems with the custom disk label part of the installer. The first is, although PC-BSD finally fixed their default of 1024MB SWAP to instead use a more dynamic algorithim... For which it alloted 512MB of SWAP when my laptop has 512MB of PC2700 RAM. My previous install had that much RAM and when under the 'worst loads of its life' top some times reported ~300-400MB swap usage.

The installer woulnd't let me create a second swap partition, so I upped the size to 1024MB. Normally I double check my values with a calculator since the installer seems to lack fdisks ability to handle K, M, and G suffixes but I found BC was gone. I didn't have one handy so I started an XTerm only to find out that 'bc' was not on the install disk :-( so I did it manually.

The other two problems are that I created /usr, /home, /var, and /tmp partitions. It converted the /home mount point to /usr/home and made /home a symlink, the only problem is I created /home before /usr in the installer. So when I rebooted I found a nice surprise that /usr/home was not mounting because /usr was not mounted yet :-(. Also although I made a /tmp partition the PC-BSD installer failed to disable tmpmfs in rc.conf, I had to do that manually. I know rc.conf.local is supposed to be a bit out dated on FreeBSD and the proper way on OpenBSD... But I always use /etc/rc.conf.local for changing rc.conf on PC-BSD, less trouble ;-).

Started PC-BSD, noted the boot menu now shows FreeBSD instead of PC-BSD like in the last release and the splash screen was gone which is fine by me. I usually would clear it when booting but was always too lazy to disable it 8=)

Setup the display for 1280x800 24-bit with 'ati-3d-enable' and switched to a vtty with control+alt+F2 and logged in as root. I had to change roots password, because my is to strong to 'pass' the PC-BSD installers concept of an acceptible multinational password lol. And to add my personal user, during install I only added 'rstaff' because I wanted to create my user 'Terry' with the same UID and GID settings as on my OpenBSD machine, tired of remapping stuff...

passwd                                  # fix roots pw
adduser                                 # add my user

Then I realized that there was one fatal flaw in my plan, all the backups were on Vectra including the copy of my wpa_supplicant.conf file used for an internetconnection via wireless.

There is more ways then one to solve a problem ;-)

Since I don't have a USB Flash Drive I booted my desktop into Windows and stuck in my spare SD Memory card in the hopes of copying the backup of /etc to it but Windows couldn't access the bloody file shares, *Grrr* so I used PuTTY to SSH into Vectra and used cat, copy, and paste to create a new wpa_supplicant file.

Since my laptops card reader is not supported on FreeBSD 6.3 I swapped memory cards in my camera and attached the USB cable, I keep it set to 'Mass Storage' mode rather then PTP so I can transfer pictures to my laptop.

I plugged in the cable, turned on the camera, and in the time it took for me to type ls /dev | grep da the entire computer locked up, frozen solid on 'ls /d' so I had to shutdown with the magic on/off button :-(

So this time I turned off the camera and started my laptop again, turning on the camera during the kernel probe so it would stay in umass mode. Booted into single user mode and did a fsck -y then mounted the camera so I could get the file.

mount -t msdosfs /dev/da0s1 /mnt
cp /mnt/wpa_* /etc/
umount /mnt
                                        # exit single user mode

Logged into KDE with my main user, 'Terry' and I decided to give PC-BSDs networking tool a try, set up my wireless card. It failed to detect my wireless access point so I specified the SSID manually and cat, copy, and pasted my passphrase from wpa_supplicant into the GUI. I then proceded with my master plan, mount my stored backups off Vectra via NFS and start restoring files. So I booted into single user mode again and set to work, I knew I'd need single user mode because with X running things would get fucked soon if I didn't get my xorg.conf back!

Since I rarely write out a mission plan in that much detail when I am 'playing' with one of my computers. I've kept a log of my actions using vi to write /root/fixit.log and have ordered and commented the entries in a more logical order, I just did them in the order I thunk of them hehe.

fsck -y
mount -u -o rw /
mount -a
/etc/rc.d/netif start                   # start the network connection
# and mount my backup files on /mnt
mount_nfs -r 8192 -w 8192 /mnt
bash                                    # /bin/sh lacks a bit on  tab-completion

cd /tmp
tar -xf /mnt/etc.tar
cd etc
cp ssh/ssh*_config /etc/ssh/
cp /etc/X11/xorg.conf /etc/X11/xorg.conf.pcbsd15.install
cp X11/xorg.conf /etc/X11/
cp rc.conf.local /etc/ && vi /etc/rc.conf.local # trim my rc.conf
cp pf.conf /etc/
vi /etc/fstab   # create fstab entries for the NFS shares
cd /
tar -xf /mnt/local-share-ri.tar         # install ruby docs pc-bsd lacks
tar -xf /mnt/local-etc /usr/local/etc/sudoers   # restore my sudo config
cd /usr/home/Terry

# add nfs-users and smb groups
pw groupadd -g 7778 -n nfs-users -M rstaff,Terry
pw groupadd -g 19132 -n smb -M rstaff,Terry
pw groupmod -n operator -m Terry        # add myself to the operator group
su - Terry
mv Images Pictures                      # I prefer that name ;-)
mkdir code
# adjust the ownsership of my dirs
chown Terry:nfs-users {Documents,Music,Pictures,code,Videos}
tar -xf /mnt/my-home-backups.tar        # various files, extracts as 'backups/'
# restore the stuff I want saved
mv backups/GNUstep ~/
mv backups/sh ~/
mv backups/misc ~/
mv backups/konversation ~/.kde/share/apps/
mv backups/knode ~/.kde/share/apps/
mv backups/.* ~/                        # restore selected 'dot' files

# connect to my file server and create a new dir for nfs
ssh -p 22222 -i .ssh/mykey Terry@vectra
        su - root
        mkdir -m 1770 /srv/nfs/code     # I'll extract files later
        groupadd -g 7778 nfs-users
        vi /etc/group                   # added my user to nfs-users
        ^D                              # exit vectra root shell
        ^D                              # exit vectra Terry's shell
        cd /srv/nfs
        chown -R Terry:nfs-users ./*
^D# back to working as root on dixie in single user mode
cd /tmp
tar -xf /mnt/root-home.tar
cd root                                 # restore a few files I want there
cp *.ogg ~/
cp .login ~/
cp *-supfile ~/

on reboot I set out to work with molding KDE into shape and installing PC-BSD updates. With no lockups within the first half hour of operation.

No comments:

Post a Comment