Deprecated old walkthrough, outline new walkthrough
[ikiwiki.git] / varialus / index.mdwn
index 3c81397..8046b7e 100644 (file)
@@ -1,27 +1,36 @@
 # et
 # Anisoptera
-*The following is an unpaid personal wiki page. The views and opinions expressed herein do not necessarily reflect those of the DragonFly BSD mascot nor its management.*
+*The following is an unpaid personal wiki page about my experiences, issues, and workarounds related to DragonFly BSD.*
 
 ## Table of Contents
 
 1. **Featured**
 
-* Walkthrough of Xfce 4.6 Installation via Custom DVD/IMG Installer
-
-2. **Tidbits**
+* (In Progress) Walkthrough of DragonFly BSD Installation and Configuration
+* (Not Yet Started) Walkthrough of Xfce Installation and Configuration
+* (Not Yet Started) Walkthrough of Applications Installation and Configuration
+* (Not Yet Started) Walkthrough of C and Go Development Environment Installation and Configuration
 
-* Hammer
-* DragonFly BSD
-* Xfce
-* Dissonance/Apache Harmony
-* Jython/Python
-* ee/nano
-* pkgin/apt-get
+2. **Deprecated**
 
-3. **Reminders**
+* Walkthrough of Xfce 4.6 Installation via Custom DVD/IMG Installer
 
-* DNS Settings in Debian Squeeze
-* Shutdown command in DragonFly BSD
+3. **Tidbits**
+
+* Shell/Console/Command-Line-Prompt: tcsh/bash, ctrl-d/tab-tab, partial-previous-command-up-key/ctrl-r-partial-previous-command, rehash
+* Package-Management: pkgin/apt-get
+* Administration/root su/sudo/wheel
+* Text-Editor: vi :q!
+* Manual: man man
+* Networking: hosts
+* Power-Down: shutdown -p now
+* File-System: Hammer
+* Operating System: DragonFly BSD
+* Graphical-User-Interface: Xfce
+* Programming: Dissonance/Apache Harmony
+* Programming: Jython/Python
+* Text-Editor: ee/nano
+* Networking: Debian resolv.conf
 
 4. **Issues**
 
 * Install Xfce 4.10 (Stub)
 * Set GUI Keyboard Layout
 
-5. **Contribute**
+6. **Contribute**
 
 * Port VirtualBox to DragonFly BSD
 * Port Xfce 4.10 to DragonFly BSD
 * DragonFly BSD Network Shares Walkthrough
 * Port bxpkg to DragonFly BSD
 
+7. **Not Yet Formatted Text Dump**
+
+* Project HAMMER Debian
+
 ## Featured
 
+**Walkthrough of DragonFly BSD Installation and Configuration**
+
+In Progress
+
+## Deprecated 
+
 **Walkthrough of Xfce 4.6 Installation via Custom DVD/IMG Installer**
 
 There is a new [Xfce based DVD/IMG installer](http://island.quantumachine.net/~swildner/LiveDVD/x86_64/) which is built by [one of](http://leaf.dragonflybsd.org/mailarchive/users/2012-07/msg00123.html) the [DragonFly BSD team members](http://www.dragonflybsd.org/team/). As far as I can tell it is functionally identical to the official GUI installer except that it includes the Xfce 4.6 desktop environment rather than the FVWM window manager. Please help test it out so that we can hopefully get it included in the next stable release!
 
 1. Download and extract the [Xfce installer](http://island.quantumachine.net/~swildner/LiveDVD/).
 2. If the version of the installer is less than or equal to 20120826-2055, then installing onto a uniprocessor computer may not work.
-3. If installng onto a VirtualBox virtual machine, the recommended operating system type is FreeBSD (64 bit).
+3. If installing onto a VirtualBox virtual machine, the recommended operating system type is FreeBSD (64 bit).
 4. If installing onto a VirtualBox virtual machine, set the hardware clock to UTC time.
 5. After starting the computer but before it finishes booting, you will be greeted with the following boot menu.
 
@@ -496,17 +515,28 @@ There is a new [Xfce based DVD/IMG installer](http://island.quantumachine.net/~s
 * startxfce4 (I think that running startx from the root user starts Xfce, but running it from a regular user starts the non-Xfce GUI.)
 
 ## Tidbits
+* In the default shell, **tcsh**, ctrl-d is equivalent to tab-tab in **bash**, both of which display possible auto completions. If the list of possible auto completions has changed, running the command rehash will update it. Typing part of a previous command and then pressing the up key is equivalent to pressing ctrl-r and then typing part of a previous command, both of which search previously run commands.
+* **pkgin** is roughly equivalent to **apt-get**. They are both fairly straightforward command line package management utilities. Regular programs installed via pkgin are generally located in /usr/pkg/bin.
+* Like Debian, DragonFly BSD is configured by default to use su by default rather sudo, which is the default in Ubuntu. Running su changes the user you are logged in within a single shell instance whereas sudo lets you run a single command as another user. Both programs default to changing the user to root user. To enable your regular user to use su to become root, as root run nano /etc/groups and then change the line wheel:*:0:root to wheel:*:root,yourusername except of course replace rourusername with your user name. Running su - will change the shell environment variables to that of the user to which you're changing.
+* The console text editor vi is supposedly great, but if you're not familiar with it and some command you run opens some system file with it, it can be quite alarming. Don't panic! To exit without saving changes type :q! and then press enter.
+* The command line program man, short for manual, is very handy for finding out information about programs, system files and more. One way to navigate man pages is by using your arrow keys. You can exit out of a manual page by pressing the letter q on your keyboard. To learn more about the man command, run the command man man which will show you the manual page for the man command.
+* When your computer contacts another computer over the Internet, it converts server's name, such as example.com, to numbered address. The server's name is called a domain name and the numbered address is called an IP address, short for Internet protocol address. To find out which domain name goes with which IP address, you computer usually contacts a special server called a DNS server, DNS being an abbreviation of domain name system. DNS generally works pretty well automatically, but when it causes a problem, it can be very frustrating. As of DragonFly BSD 3.0.3, there's a non-critical DNS configuration setting that the DragonFly BSD installer doesn't set. The file /etc/hosts is a text file that can override DNS name-address bindings. The IP addresses 127.0.0.1 and ::1 always point to one's own computer, so your computer's domain name should always point to these two addresses. This is the setting that currently doesn't get set automatically. You can see or set your host name within the file /etc/rc.conf on a line by itself in the following format.
+
+        hostname="computername.localnetworkname"
+
+    And with that name, you can update your /etc/hosts file with your computer's domain name by editing it to contain the following lines.
+
+        ::1 localhost computername.localnetworkname
+        127.0.0.1 localhost computername.localnetworkname
+
+* In DragonFly BSD the command *shutdown -p now* will shutdown and turn off your computer. Using the -h switch instead of -p will shutdown and halt the computer but not turn it off. In Debian and probably other Linux distributions, the command *shutdown -h now* will shutdown and turn off your computer. The -p switch isn't available, but there may be a way to shutdown and halt without turning off your computer.
 * **Hammer** is hands down the best file system currently in existence. It has block level deduplication, it is supported out of the box by operating system with great underpinnings, and it runs great on regular hardware.
 * **DragonFly BSD** is an awesome operating system for many reasons other than that it's the only OS with Hammer, but Hammer is why I'm making the switch. DragonFly's default GUI configuration is a bit rough around the edges for everyday use. But it's nothing that a little ironing can't fix.
 * **[Xfce](http://xfce.org/)** is a lightweight yet feature rich desktop environment. It has maintains an excellent balance between [innovation and compatibility](http://lwn.net/Articles/430598/).
-* **[Dissonance](https://bitbucket.org/varialus/dissonance)** is my fork of Apache Harmony, which is a clean room implementation of Java with a permissive license. Sun and now Oracle refuse to license the TCK, a tool used to validate Java compatibility, for use with Harmony. As a result of the dissonance caused by this refusal to cooperate with the community, Apache retired Harmony and resigned from the Java Community Process Executive Committee. I would have preferred for Apache and the community to have instead just written their own TCK, but I don't know what effects the dissonance had on their organization and it was their decision to make, so I can't blame them. It's unfortunate that such a great project has been effectively abandoned, and so it it is with that in mind that I call on the community to support Dissonance; make your own TCK and make it so much better so as to make passing Oracle's TCK effectively meaningless.
+* **[Dissonance](https://github.com/varialus/dissonance)** is my fork of Apache Harmony, which is a clean room implementation of Java with a permissive license. Sun and now Oracle refuse to license the TCK, a tool used to validate Java compatibility, for use with Harmony. As a result of the dissonance caused by this refusal to cooperate with the community, Apache retired Harmony and resigned from the Java Community Process Executive Committee. I would have preferred for Apache and the community to have instead just written their own TCK, but I don't know what effects the dissonance had on their organization and it was their decision to make, so I can't blame them. It's unfortunate that such a great project has been effectively abandoned, and so it it is with that in mind that I call on the community to support Dissonance; make your own TCK and make it so much better so as to make passing Oracle's TCK effectively meaningless.
 * **[Jython](http://www.jython.org/)** is Python written in Java. It's not included in DragonFly BSD by default, but it's a great tool and I use it.
 * **ee** is roughly equivalent to **nano**. They are both easy to use command line text editors. The exit option will ask you whether you want to save. You can get to the exit confirmation by pressing Ctrl-[ and selecting 'a) leave editor'.
-* **pkgin** is roughly equivalent to **apt-get**. They are both fairly straightforward command line package management utilities.
-
-## Reminders
-* If NetworkManager Applet is installed, use it to override an unreliable DNS server rather than editing /etc/resolv.conf directly. Observed in NetworkManager 0.8.1 on Debian Squeeze.
-* In DragonFly BSD the command *shutdown -p now* will shutdown and turn off your computer. Using the -h switch instead of -p will shutdown and halt the computer but not turn it off. In Debian and probably other Linux distributions, the command *shutdown -h now* will shutdown and turn off your computer. The -p switch isn't available, but there may be a way to shutdown and halt without turning off your computer.
+* If NetworkManager Applet is installed, use it to override an unreliable DNS server rather than editing /etc/resolv.conf directly. Observed in NetworkManager 0.8.1 on Debian Squeeze. (This seems to not always work, particularly the first time you connect and perhaps after idling for a certain amount of time. I haven't narrowed down the exact cause.)
 
 ## Issues
 * Varialus should ensure that these issues are properly logged. Yes, I know that they should be properly logged and I intend to eventually get them all logged. In the mean time hopefully my notes will help someone still trying to find the answers to life's persistent questions.
@@ -716,6 +746,10 @@ Tested in DragonFly 3.0.2.
               - a) save changes
             - cd /root/ (as root)
             - csup 9rel-supfile (as root)
+            - If outgoing connections to port 5999 are blocked, here are a few possible solutions which I have not yet tried.
+               - http://lists.freebsd.org/pipermail/freebsd-stable/2005-August/017991.html
+               - http://lists.freebsd.org/pipermail/freebsd-questions/2004-February/034761.html
+               - http://lists.freebsd.org/pipermail/freebsd-questions/2004-March/041566.html
             - cd /usr/ports/emulators/virtualbox-ose-additions && make install clean (as root)
             - The following console dialog will be be displayed.
                - Options for virtualbox-ose-additions 4.1.22
@@ -724,32 +758,38 @@ Tested in DragonFly 3.0.2.
                - [X] X11     X11 support (graphics)
                - <  OK  >            <Cancel>
             - Highlight <  OK  > and press enter.
-            - Get an error that it can't download ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/VirtualBox-4.1.22.tar.bz2
-               - Sure enough, that file doesn't exist, but that directory does have version 4.1.20, with a date of 8/24/2012, so hopefully the new version will be uploaded soon.
-               - I have asked the FreeBSD VirtualBox folks on IRC when it's expected or how is best to proceed. Idly awaiting their reply.
-               - Here's the error in case you're curious.
-    
-    ===>  License GPLv2 accepted by the user
-    ===>  Found saved configuration for virtualbox-ose-additions-4.1.22
-    => VirtualBox-4.1.22.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
-    => Attempting to fetch http://download.virtualbox.org/virtualbox/4.1.22/VirtualBox-4.1.22.tar.bz2
-    fetch: http://download.virtualbox.org/virtualbox/4.1.22/VirtualBox-4.1.22.tar.bz2: Moved Temporarily
-    => Attempting to fetch http://tmp.chruetertee.ch/VirtualBox-4.1.22.tar.bz2
-    fetch: http://tmp.chruetertee.ch/VirtualBox-4.1.22.tar.bz2: Not Found
-    => Attempting to fetch http://disasterarea.chruetertee.ch/VirtualBox-4.1.22.tar.bz2
-    fetch: http://disasterarea.chruetertee.ch/VirtualBox-4.1.22.tar.bz2: Not Found
-    => Attempting to fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/VirtualBox-4.1.22.tar.bz2
-    fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/VirtualBox-4.1.22.tar.bz2: File unavailable (e.g., file not found, no access)
-    => Couldn't fetch it - please try to retrieve this
-    => port manually into /usr/ports/distfiles/ and try again.
-    *** [do-fetch] Error code 1
-    
-    Stop in /usr/ports/emulators/virtualbox-ose-additions.
-    *** [install] Error code 1
+               - The first time I ran this I got a missing dependency error because there had been a minor version update recently. The dependency error was fixed a few hours later. Right after that, the official version of 4.2 was released. To see the original error error, see the edit from 01:48:39 09/13/12.
+            - The following console dialog will be be displayed.
+               - Options for help2man1.40.11
+               - [X] NLS  Native Language Support
+               - <  OK  >            <Cancel>
+            - Highlight <  OK  > and press enter.
+            - The following console dialog will be be displayed.
+               - Options for m4 1.4.16_1,1
+               - [ ] LIBSIGSEGV  Use libsigsegv for better diagnostics
+               - <  OK  >            <Cancel>
+            - Highlight <  OK  > and press enter.
+            - Wait for a little while until it successfully finishes.
+            - Restart virtual machine. (This probably wasn't needed yet.)
+            - Screen resolution increased, but no mouse integration nor copy and paste. Host is Debian Squeeze.
+            - ee /etc/rc.conf (as root)
+            - Add the following lines
     
-    Stop in /usr/ports/emulators/virtualbox-ose-additions.
-    root@ghostbsd:/usr/ports/emulators/virtualbox-ose-additions # 
+    vboxguest_enable="YES"
+    vboxservice_enable="YES"
     
+            - The notes at the URL above mention adding lines to xorg.conf for mouse integration, but I didn't see an xorg.conf in /etc/X11 or in /etc so I skipped this step for now.
+            - The notes also mentioned creating a file for HAL users or copying it, but I didn't see a file at /usr/local/share/hal/fdi/policy/10osvendor/90-vboxguest.fdi so I am skipping this step for the moment.
+            - Restart.
+            - I just noticed that the lines had already been added to /etc/rc.conf, so I removed the extra ones that I had added.
+            - Changed to terminal without X server. Host+F2 in VirtualBox, Ctrl-Alt-F2 on hardware.
+            - Log in as root.
+            - The following didn't work.
+            - killall -9 gdm gdm-binary Xorg
+            - Xorg -configure
+            - Xorg -config /root/xorg.conf.new
+            - X started with black screen, no mouse.
+            - I've run out of time to look into this at the moment. I'll return to it later.
         - Build VirtualBox
            - Initialize build environment (See above)
         - Build Guest Additions
@@ -778,3 +818,37 @@ Tested in DragonFly 3.0.2.
 **Port bxpkg to DragonFly BSD**
 
      - Install DragonFly BSD (Xfce IMG/ISO Installer in VirtualBox)
+
+## Not Yet Formatted Text Dump
+
+**Project HAMMER Debian**
+The goal of project HAMMER Debian is to recreate Debian Squeeze using the MATE desktop environment, the DragonFly BSD kernel, and the newer of the frozen Debian testing repository or the Debian stable repository.
+
+Parallel Sub-Project Documentation
+0. Setup Common to Subsequent Sub-Project Documentation
+1. Recreate Debian Squeeze using the MATE desktop environment and the newer of the frozen Debian testing repository or the Debian stable repository.
+2. Recreate Debian Squeeze using the MATE desktop environment and DragonFly BSD.
+3. Recreate Debian Squeeze using the MATE desktop environment and the newer of the frozen kFreeBSD testing repository or the kFreeBSD stable repository.
+4. Recreate Debian Squeeze using the MATE desktop environment and FreeBSD.
+5. Recreate Debian Squeeze using the MATE desktop environment, the DragonFly BSD kernel, and the newer of the frozen Debian testing repository or the Debian stable repository.
+
+0.1. Default values implied where steps are skipped.
+0.2. Installation steps are given using the apt command, but using the aptitude command instead of apt is recommended.
+0.3. These instructions sudo for root user authentication, but some systems may use su or some other method instead.
+0.4.0. The use of the nano terminal command is implied for steps which involve editing text files.
+0.4.1. The Ctrl-x shortcut can be used to bring up the save prompt and then exit from nano.
+0.5.0. Set up a development machine.
+0.5.1.0. The Oracle build of VirtualBox is recommended for its ease of use and highly active development.
+0.5.1.1. Here's a link to the VirtualBox download page. https://www.virtualbox.org/wiki/Downloads
+0.5.1.2. Here's a link to the VirtualBox Linux download page. https://www.virtualbox.org/wiki/Linux_Downloads
+0.5.1.3. Here's the /etc/apt/sources.list repository line for Debian Wheezy. deb http://download.virtualbox.org/virtualbox/debian wheezy contrib
+0.5.1.4. Here's the command to authenticate the Oracle Virtualbox repository. wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
+0.5.1.5. Here's the authentication fingerprint for the Oracle Virtualbox repository. 7B0F AB3A 13B9 0743 5925  D9C9 5442 2A4B 98AB 5139
+Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>
+0.5.1.6. Here are the commands to install VirtualBox. sudo apt-get update
+sudo apt-get install dkms
+sudo apt-get install virtualbox-4.2
+0.5.1.7. It's recommended to add your regular user to the vboxusers group and the following is the recommended method. Gnome 2 Menu > System > Administration > Users and Groups > Manage Groups > vboxusers > Properties > Select Check Box of Your Regular User > OK > Password: > Your Regular User Password > Authenticate > Close > Close
+0.5.2. The recommended host software environment is a recreation of Debian Squeeze using the MATE desktop environment and the newer of the frozen Debian testing repository or the Debian stable repository.
+0.5.3. The recommended host hardware environment is an x64 computer with at least a dual core processor, 2 GB memory, a 250 GB hard disk and an Internet connection.
+0.6.