Friday, July 29, 2005

BSD Installer on FreeBSD release 1

The first testing release of the BSD Installer powered install CD's is below. I've been working on this for just over a month (it seems longer).


Announcing the first test release of a BSDInstaller-ified Install ISO
for FreeBSD.

I am pleased to announce the first beta release of BSD Installer powered
FreeBSD Install CD's. It is both for wider testing and feedback on to
gauge the progress I've been making for the Google Summer of Code. This
is based on RELENG_6 and unfortunately only for i386.

It is available from
ftp://ftp.freebsd.org/pub/FreeBSD/SOC2005/bsdinstaller/ and should be on
mirrors soon.

If you find any bugs not already listed in the Known Bugs section of
this email or in http://wikitest.freebsd.org/moin.cgi/BSDInstaller
please email me at soc-andrew@freebsd.org to help fix the bugs.

Details:

There are three virtual consoles running:
* ttyv0: The frontend
* ttyv1: The backend
* ttyv2: A standard login screen to login as root with no password.

To see the installation log change to console ttyv1. It is also written
to /var/log/install.log on the installed disk.

Minimum Memory:
* 64M

Known Bugs:

* Can only install to one drive, can't have / on ad0 and /usr on ad1
* Cannot install source
* Cannot install ports tree
* Cannot install packages
* The "Display system startup messages" window dosen't display anything
* Sendmail complains about not being able to change dir to
/var/spool/clientmqueue
Workaround: run "chown smmsp /var/spool/clientmqueue"
* "Exit to Live CD" dosn't work
Workaround: change to ttyv2, login as root no password
* dhclient fails as /var/db is missing as well as other errors.

Testing

* There has only been minimal testing of the "Configure an Installed
System" menu. Most of the options should work.
* The "Install extra software packages" option dosn't work
* I havn't looked at "Setup NetBoot Install Services" menu, I have no
idea if it will work or not

Thursday, July 21, 2005

Rant on using bash for scripts

I feel like having a rant on using /bin/bash in scripts so here it is:

DON'T USE /bin/bash IN SHELL SCRIPTS EVER.
If bash must be used for the script use "#!/usr/bin/env bash" otherwise use "#!/bin/sh".

The reason is not everyone has bash installed as /bin/bash where if /bin/sh is not there the admin is asking for punishment.

The env trick works with bash wherever it is installed. eg. FreeBSD packages install bash to /usr/local/bin/bash, NetBSD installs it to /usr/pkg/bin/bash (I think, I don't have a NetBSD system handy).

Perl and Python are the same. There might be a link from /usr/bin/perl to /usr/local/bin/perl in FreeBSD but that's just because there used to be a copy of perl in the base system. There is no such link for python, You need to use "#!/usr/bin/env python".