<?xml version="1.0" encoding="utf-8" ?>

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
    <title>For the good of all of us</title>
    <link>http://www.skytale.net/blog/</link>
    <description></description>
    <dc:language>en</dc:language>

    <image rdf:resource="http://www.skytale.net/blog/templates/default/img/s9y_banner_small.png" />

    <items>
      <rdf:Seq>
        <rdf:li resource="http://www.skytale.net/blog/archives/36-guid.html" />
        <rdf:li resource="http://www.skytale.net/blog/archives/35-guid.html" />
      </rdf:Seq>
    </items>
</channel>

<image rdf:about="http://www.skytale.net/blog/templates/default/img/s9y_banner_small.png">
        <url>http://www.skytale.net/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: For the good of all of us - </title>
        <link>http://www.skytale.net/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>


<item rdf:about="http://www.skytale.net/blog/archives/36-guid.html">
    <title>Installing RedHat 1.1 (Mother's Day + 0.1)</title>
    <link>http://www.skytale.net/blog/archives/36-Installing-RedHat-1.1-Mothers-Day-+-0.1.html</link>
    <description>
    	&lt;p&gt;Just to see what life was like in the dark ages of Linux distributions I ventured to install the earliest RedHat release I could get my hands on in a &lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; virtual machine.&lt;/p&gt;

	&lt;p&gt;It turns out that this is easier said than done. RedHat does have an archive of old versions (available at &lt;a href=&quot;http://archive.download.redhat.com&quot;&gt;http://archive.download.redhat.com&lt;/a&gt;), but this is quite incomplete for the earliest version.&lt;/p&gt;

	&lt;p&gt;Fortunately there&amp;#8217;s an installable version of Mother&amp;#8217;s Day 1.1 on &lt;a href=&quot;http://www.ibiblio.org/pub/historic-linux/distributions/redhat/&quot;&gt;ibiblio&lt;/a&gt; (the 1.0 release is incomplete as well), which I used.&lt;/p&gt;

	&lt;p&gt;To make an installable version out of this it&amp;#8217;s recommened to make a local copy of the complete tree, which is easily done with &lt;code&gt;rsync&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;
$ rsync -rv --progress www.ibiblio.org::pub/historic-linux/distributions/redhat/mothers-day-1.1 .
&lt;/pre&gt;

	&lt;p&gt;This will create a local directory called &lt;code&gt;mothers-day-1.1&lt;/code&gt; containing all needed files, taking up about 360MB.&lt;/p&gt;

	&lt;p&gt;The installer will need to access the files via a &lt;span class=&quot;caps&quot;&gt;CDROM&lt;/span&gt; or a &lt;span class=&quot;caps&quot;&gt;NFS&lt;/span&gt; share. I opted for the CD method, so let&amp;#8217;s create a CD image:&lt;/p&gt;

&lt;pre&gt;
$ chmod +x mothers-day-1.1/bin/*
$ mkisofs -J -R -o mothers-day-1.1.iso mothers-day-1.1
&lt;/pre&gt;

	&lt;p&gt;This makes all the files in &lt;code&gt;mothers-day-1.1/bin&lt;/code&gt; executable (this is important because the installer will mount the CD and expects to be able to execute these files for the installation) and creates an &lt;span class=&quot;caps&quot;&gt;ISO&lt;/span&gt; image called &lt;code&gt;mothers-day-1.1.iso&lt;/code&gt; containing all files from the &lt;code&gt;mothers-day-1.1&lt;/code&gt; directory.&lt;/p&gt;

	&lt;p&gt;The installer will boot from a floppy disk. The release contains a whole bunch of these, for different hardware configurations (a kernel containing all supported configs would not have fitted on one floppy, so one has to choose the right one). For &lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; we&amp;#8217;ll need standard &lt;span class=&quot;caps&quot;&gt;IDE&lt;/span&gt; support (easy) and &lt;span class=&quot;caps&quot;&gt;AMD&lt;/span&gt; PCnet support for networking (also easy). The boot image supporting these is located in &lt;code&gt;mothers-day-1.1/images/1211/boot0066.img&lt;/code&gt;. These images were meant to be copied to a 1.44MB floppy disk, but the images are only 800k in size. If the images are passed to &lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; as they are &lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; will misinterpret the floppy size, causing the boot loader (&lt;span class=&quot;caps&quot;&gt;LILO&lt;/span&gt;) to fail. So &lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; needs a little hint.&lt;/p&gt;

&lt;pre&gt;
$ cp mothers-day-1.1/images/1211/boot0066.img boot.img
$ qemu-img resize boot.img 1440k
Image resized
$ cp mothers-day-1.1/images/rootdisk.img .
&lt;/pre&gt;

	&lt;p&gt;This copies the correct boot image to &lt;code&gt;boot.img&lt;/code&gt; and resizes it to the correct size for a 1.44MB floppy. For convinience I also copied the root image disk, too. This disk already has the correct size.&lt;/p&gt;

	&lt;p&gt;All that&amp;#8217;s missing now is a hard disk image to install to. This should not be too large, as the &lt;span class=&quot;caps&quot;&gt;IDE&lt;/span&gt; driver in the kernel has some problems handling this. Fortunately this is the deep past, so 768MB will be plenty.&lt;/p&gt;

&lt;pre&gt;
$ qemu-img create -f qcow2 disk1.img 768MB
&lt;/pre&gt;

	&lt;p&gt;Deep past or not, the installer needs memory, and an amazing (for the time) amount of it. 4MB will not be enough, 8MB will do fine. So, let&amp;#8217;s go.&lt;/p&gt;

&lt;pre&gt;
$ qemu -M pc -m 8 -fda boot.img -drive file=disk1.img,if=ide,media=disk,cache=writeback \
-cdrom mothers-day-1.1.iso -net nic,model=pcnet -net user -boot a
&lt;/pre&gt;

	&lt;p&gt;(This adds the hard disk image in writeback cache mode. This is not recommended from a data security standpoint, as data written by the virtual machine is not immediately committed to host storage, but since this is just a for fun exercise and EXT2 formatting takes ages with the default cache strategy I&amp;#8217;ll pass on data security here)&lt;/p&gt;

	&lt;p&gt;At the &lt;span class=&quot;caps&quot;&gt;LILO&lt;/span&gt; prompt, just press Enter to boot with default options. When prompted, change the floppy to the root disk (&lt;code&gt;change floppy0 rootdisk.img&lt;/code&gt; in the &lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; monitor mode) and press Enter to continue. The installer will come up (which is quite nice), prompting to change the floppy back to the boot floppy.&lt;/p&gt;

	&lt;p&gt;Select an Express install, say &amp;#8220;No&amp;#8221; to the default package list question, and select CD as the install media. The installer ought to find the CD image on &lt;code&gt;/dev/hdc&lt;/code&gt;, which is correct.&lt;/p&gt;

	&lt;p&gt;There will be no OS/2 on this install, so skip the reboot at the next question.&lt;/p&gt;

	&lt;p&gt;The hard disk will need to be partitioned. The installer should find a hard disk at &lt;code&gt;/dev/hda&lt;/code&gt; (if the installer just presents a list of partitioning programs without a disk device your hard disk image is too large). Partition the disk into one data partition (taking most of the space) and a small swap partition (16MB or so). The installer will ask to reboot if partitions were changed, this is not needed as there were no partitions on the disk to start with.&lt;/p&gt;

	&lt;p&gt;Confirm &lt;code&gt;/dev/hda2&lt;/code&gt; as a swap partition, and select &lt;code&gt;/dev/hda1&lt;/code&gt; for formatting.&lt;/p&gt;

	&lt;p&gt;On the package selection screen select whatever needed (or just everything, it does not really matter :) I&amp;#8217;d recommend at least the Net Utils, everything X and Utils+. And there&amp;#8217;s Doom (but more on that later).&lt;/p&gt;

	&lt;p&gt;When asked for the type of video card select &lt;span class=&quot;caps&quot;&gt;SVGA&lt;/span&gt;, and enter a hostname for the machine.&lt;/p&gt;

	&lt;p&gt;The installer will then format swap and file system, which might take a few seconds. Or even minutes. If you did not change the default caching strategy in the &lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; call above it will definitely take minutes. Or hours.&lt;/p&gt;

	&lt;p&gt;After the formatting the package installation phase begins. This will also take a few minutes, but at least it has a progress bar. The installer may complain about XF86_SVGA being already installed in the end, this can be ignored.&lt;/p&gt;

	&lt;p&gt;Then the boot kernel is copied from the boot floppy.&lt;/p&gt;

	&lt;p&gt;For the mouse, select &lt;code&gt;microsoft-serial&lt;/code&gt;, connected to &lt;code&gt;/dev/ttyS0&lt;/code&gt;.&lt;/p&gt;

	&lt;p&gt;The X configuration is a bit wonky (and this would not really change for the next decade or more). Decline autoprobe, select &lt;code&gt;clgd5434&lt;/code&gt; as the chipset (this isn&amp;#8217;t correct, but close enough). Enter 4096k of video memory, 10-100 for the clocks, and select the &lt;code&gt;Generic Multisync&lt;/code&gt; monitor. The configurator will tell you that it failed after that, but never mind.&lt;/p&gt;

	&lt;p&gt;Configure networking, entering a host name, domain name and fully qualified host name. Select &lt;code&gt;10.0.2.100&lt;/code&gt; as the IP, &lt;code&gt;10.0.2.0&lt;/code&gt; as the network, &lt;code&gt;255.255.255.0&lt;/code&gt; as the netmask, &lt;code&gt;10.0.2.255&lt;/code&gt; as the broadcast, &lt;code&gt;10.0.2.2&lt;/code&gt; as the gateway and &lt;code&gt;10.0.2.3&lt;/code&gt; as the &lt;span class=&quot;caps&quot;&gt;DNS&lt;/span&gt; server (&lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; user mode networking is funny).&lt;/p&gt;

	&lt;p&gt;Select no modem, your keymap, local time and your time zone (the list is sorted upside down, for whatever reason).&lt;/p&gt;

	&lt;p&gt;Select to install &lt;span class=&quot;caps&quot;&gt;LILO&lt;/span&gt; in &lt;code&gt;/dev/hda&lt;/code&gt; without specific parameters and without other operating systems.&lt;/p&gt;

	&lt;p&gt;Create a user account (if you want) and select a root password.&lt;/p&gt;

	&lt;p&gt;After that, the installation is finished. Select reboot.&lt;/p&gt;

	&lt;p&gt;The system will be unable to actually reboot, so stop &lt;span class=&quot;caps&quot;&gt;QEMU&lt;/span&gt; after the installer has terminated and start it again:&lt;/p&gt;

&lt;pre&gt;
$ qemu -M pc -m 8 -drive file=disk1.img,if=ide,media=disk -net nic,model=pcnet -net user -serial msmouse
&lt;/pre&gt;

	&lt;p&gt;This invocation is missing the floppy and CD images (they are not needed anymore) and adds a serial mouse.&lt;/p&gt;

	&lt;p&gt;At the boot prompt press Enter, and wait until the system has bootet to the login prompt (which will take all of a few seconds). Look around. If you&amp;#8217;re used to RedHat based systems (or Fedora) most things should look familiar.&lt;/p&gt;

	&lt;p&gt;Next up: getting X to actually work.&lt;/p&gt; 
    </description>

    <dc:publisher>For the good of all of us</dc:publisher>
    <dc:creator>nospam@example.com (Ralf Ertzinger)</dc:creator>
    <dc:subject>
    Computer, Linux, Software, </dc:subject>
    <dc:date>2011-08-21T19:03:51Z</dc:date>
    <wfw:comment>http://www.skytale.net/blog/wfwcomment.php?cid=36</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.skytale.net/blog/rss.php?version=1.0&amp;type=comments&amp;cid=36</wfw:commentRss>
    
    
</item>
<item rdf:about="http://www.skytale.net/blog/archives/35-guid.html">
    <title>GIT pushing to a new bare remote repo</title>
    <link>http://www.skytale.net/blog/archives/35-GIT-pushing-to-a-new-bare-remote-repo.html</link>
    <description>
    	&lt;p&gt;Just a note to myself, as I do not do this often enough to remember.&lt;/p&gt;

	&lt;p&gt;If you have a local &lt;span class=&quot;caps&quot;&gt;GIT&lt;/span&gt; repository (which has no remote so far, as it was only used for local development so far) and want to push it out to a remote repository, and make that repository the default for push and pull operations, here is how it&amp;#8217;s done.&lt;/p&gt;

	&lt;p&gt;This requires &lt;span class=&quot;caps&quot;&gt;GIT&lt;/span&gt; 1.7, and assumes the following:&lt;/p&gt;

	&lt;p&gt;	&lt;ul&gt;
		&lt;li&gt;The local branch tobe pushed is &lt;code&gt;master&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;The remote repo is accessible via &lt;code&gt;ssh://user@example.com/GIT/project.git&lt;/code&gt; and already contains a freshly created, bare&lt;/li&gt;
	&lt;/ul&gt;
 repo&lt;/p&gt;

	&lt;p&gt;First, add a remote to the local repository.&lt;/p&gt;

&lt;pre&gt;
$ git remote add origin ssh://user@example.com/GIT/project.git
&lt;/pre&gt;

	&lt;p&gt;This, by itself, does not do exacly much except to add a remote repository to your local repo config. The remote repo is called &lt;code&gt;origin&lt;/code&gt;, which is the default name git chooses if you &lt;code&gt;git clone&lt;/code&gt; from a remote repo. The remote repo is not associated with any local branches yet.&lt;/p&gt;

	&lt;p&gt;Second, push the accumulated local commits to the remote repo, designating the remote as the default for future push/pull operations.&lt;/p&gt;

&lt;pre&gt;
$ git push --set-upstream origin master
&lt;/pre&gt;

	&lt;p&gt;This will push the local master branch to the remote origin, creating a master branch there as well, and ties origin to the local master branch as the default for push and pull. Future &lt;code&gt;git pull&lt;/code&gt; and &lt;code&gt;git push&lt;/code&gt; will work without any specifications of local or remote branches.&lt;/p&gt; 
    </description>

    <dc:publisher>For the good of all of us</dc:publisher>
    <dc:creator>nospam@example.com (Ralf Ertzinger)</dc:creator>
    <dc:subject>
    Computer, Software, </dc:subject>
    <dc:date>2011-07-19T16:27:26Z</dc:date>
    <wfw:comment>http://www.skytale.net/blog/wfwcomment.php?cid=35</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.skytale.net/blog/rss.php?version=1.0&amp;type=comments&amp;cid=35</wfw:commentRss>
    
    
</item>

</rdf:RDF>

