Oh man - I'm going to be biased and assume the RPi 3 and newer installation, but several of these things could apply to the virtualized version of Booterizer as well.
I love Booterizer for what it is, but I wish for a few things (to which I have already done some of these for my own installations):
* Automatically expand file system after bootup / provide suggestions
Tons of people installing this on larger-than-32GB SD cards. Worth having raspi-config --expand-rootfs run automatically. If that's too complicated, maybe edit the /etc/motd, throw in a cool h4ck3r SGI greetz-logo with suggestions/mini documentation such as:
"Run raspi-config --expand-rootfs"
"Suggested packages to install: iotop, htop, nfs-kernel-server, finger, screen, ncftp, bsdgames, locate"
EDIT: Updated reference on how the auto-expanding of the partition and file system is done: https://gijs-de-jong.nl/posts/raspberry-pi-file-system-resize-on-first-boot/
* IRIX 6.5 Roboinst installation (non-interactive installs)
If we're already creating installation scripts, why not make it client-installer-automated with roboinst? It's been easily two decades since I worked on roboinst unattended wipe-and-install scripting, but it seems like this would be perfect for booterizer setups. Nothing more annoying than tiring out and going to bed before typing quit to requickstart all of those freshly installed packages. What a waste. Roboinst is/was freely licensed for installs and was a chargeable option post-OS-installation, so all of the functionality should be available and ready. No need for a ton of ansible'ized custom configs per MAC address-bound machine, there should be an option to follow a class of machine if I recall correctly. (And wouldn't that be cool to get the right demos or binaries on the right machine!)
EDIT: Updated with a little bit of roboinst miniroot configuration documentation here: https://techpubs.jurassic.nl/manuals/0650/admin/IA_InstLicns/sgi_html/ch09.html
* Add NFSv2 (and NFSv3) support for shared TFTP directory
Since sometimes the installer forgets to include the ONC3/NFS3 installation disc, you might as well enable NFSv2 support in the Booterizer's NFS daemon and export the /irix directory to allow for easy mounting on a partially-installed system to continue onwards. Make installing the ONC3/NFS3 installation files later on easy. (Note that this requires the nfs-kernel-server package and a slight tweak to its startup config to enable version 2)
EDIT: This is how you install the service, enable NFSv2 and also turn on exporting of /vagrant/irix to be mounted by your IRIX client:
EDIT: My reference https://www.nixcraft.com/t/how-to-enable-nfs-v2-on-ubuntu-18-04lts/
# Install the server, add in NFSv2 support (in case IRIX did not install v3 and now needs access to the dirs)
# then allow NFS 'exporting' the irix dir and restart the whole thing as we're adding the new protocol too
sudo apt install nfs-kernel-server
sed -i 's/RPCNFSDCOUNT=8/RPCNFSDCOUNT="8 -V2"/' /etc/default/nfs-kernel-server
echo "/vagrant/irix *(ro,sync)" >> /etc/exports
sudo systemctl restart nfs-kernel-server.service
* Nekoware / demos installation
Nothing like a proper vintage out of box experience with a modern ssh, bash, ntpdate, wget, and actual nostalgia-laced SGI demos, right? This extra stuff should fit in the original 32GB SD card but easily fits in a 64GB and larger one.
* IPv4 forwarding / NAT wifi gateway
If the assumption is that it's a Raspberry Pi 4 machine or newer, you can assume that it will negotiate a connection without the need of an Ethernet hub (Auto MDI-X in the gigabit standard eliminates the need for Ethernet crossover cables too) and has wifi built-in, so might as well be a mini-wifi gateway to whatever SGI is needing to limp along to or download from some random internet site/repository. Perhaps someone gets a kick from ssh'ing to their favorite home server from vintage systems.
* Include the EFS kernel module
Have the EFS kernel module available for mounting EFS CDROMs (either via USB CD drive or more commonly ISO image)
I wanted to populate a few more files to install from CDROM images only to be greeted with mount: /mnt: unknown filesystem type 'efs'. Here comes the copy shuffle from another full-fat Ubuntu system elsewhere
* Assume that there may be more than one IRIX client machine you're installing onto
The documentation and ansible scripts seem to assume only one single client to install to. I am handy with manually editing dhcpd.conf and other weirdo files for booting, but ideally we'd be able to manage installation of multiple hosts.
I love Booterizer. I totally do, I just am sharing at least a few of my existing mods and hopes for a future booterizer iteration. Within the last month I used it to clean up and install IRIX 6.5 on a variety of machines I need to re-home (O2 R5K, O2 R10k, Octane R12k, Indy R5k, Indy R4.4k) and love that it mostly just works. Thank you so much for its existence!
I love Booterizer for what it is, but I wish for a few things (to which I have already done some of these for my own installations):
* Automatically expand file system after bootup / provide suggestions
Tons of people installing this on larger-than-32GB SD cards. Worth having raspi-config --expand-rootfs run automatically. If that's too complicated, maybe edit the /etc/motd, throw in a cool h4ck3r SGI greetz-logo with suggestions/mini documentation such as:
"Run raspi-config --expand-rootfs"
"Suggested packages to install: iotop, htop, nfs-kernel-server, finger, screen, ncftp, bsdgames, locate"
EDIT: Updated reference on how the auto-expanding of the partition and file system is done: https://gijs-de-jong.nl/posts/raspberry-pi-file-system-resize-on-first-boot/
* IRIX 6.5 Roboinst installation (non-interactive installs)
If we're already creating installation scripts, why not make it client-installer-automated with roboinst? It's been easily two decades since I worked on roboinst unattended wipe-and-install scripting, but it seems like this would be perfect for booterizer setups. Nothing more annoying than tiring out and going to bed before typing quit to requickstart all of those freshly installed packages. What a waste. Roboinst is/was freely licensed for installs and was a chargeable option post-OS-installation, so all of the functionality should be available and ready. No need for a ton of ansible'ized custom configs per MAC address-bound machine, there should be an option to follow a class of machine if I recall correctly. (And wouldn't that be cool to get the right demos or binaries on the right machine!)
EDIT: Updated with a little bit of roboinst miniroot configuration documentation here: https://techpubs.jurassic.nl/manuals/0650/admin/IA_InstLicns/sgi_html/ch09.html
* Add NFSv2 (and NFSv3) support for shared TFTP directory
Since sometimes the installer forgets to include the ONC3/NFS3 installation disc, you might as well enable NFSv2 support in the Booterizer's NFS daemon and export the /irix directory to allow for easy mounting on a partially-installed system to continue onwards. Make installing the ONC3/NFS3 installation files later on easy. (Note that this requires the nfs-kernel-server package and a slight tweak to its startup config to enable version 2)
EDIT: This is how you install the service, enable NFSv2 and also turn on exporting of /vagrant/irix to be mounted by your IRIX client:
EDIT: My reference https://www.nixcraft.com/t/how-to-enable-nfs-v2-on-ubuntu-18-04lts/
# Install the server, add in NFSv2 support (in case IRIX did not install v3 and now needs access to the dirs)
# then allow NFS 'exporting' the irix dir and restart the whole thing as we're adding the new protocol too
sudo apt install nfs-kernel-server
sed -i 's/RPCNFSDCOUNT=8/RPCNFSDCOUNT="8 -V2"/' /etc/default/nfs-kernel-server
echo "/vagrant/irix *(ro,sync)" >> /etc/exports
sudo systemctl restart nfs-kernel-server.service
* Nekoware / demos installation
Nothing like a proper vintage out of box experience with a modern ssh, bash, ntpdate, wget, and actual nostalgia-laced SGI demos, right? This extra stuff should fit in the original 32GB SD card but easily fits in a 64GB and larger one.
* IPv4 forwarding / NAT wifi gateway
If the assumption is that it's a Raspberry Pi 4 machine or newer, you can assume that it will negotiate a connection without the need of an Ethernet hub (Auto MDI-X in the gigabit standard eliminates the need for Ethernet crossover cables too) and has wifi built-in, so might as well be a mini-wifi gateway to whatever SGI is needing to limp along to or download from some random internet site/repository. Perhaps someone gets a kick from ssh'ing to their favorite home server from vintage systems.
* Include the EFS kernel module
Have the EFS kernel module available for mounting EFS CDROMs (either via USB CD drive or more commonly ISO image)
I wanted to populate a few more files to install from CDROM images only to be greeted with mount: /mnt: unknown filesystem type 'efs'. Here comes the copy shuffle from another full-fat Ubuntu system elsewhere
* Assume that there may be more than one IRIX client machine you're installing onto
The documentation and ansible scripts seem to assume only one single client to install to. I am handy with manually editing dhcpd.conf and other weirdo files for booting, but ideally we'd be able to manage installation of multiple hosts.
I love Booterizer. I totally do, I just am sharing at least a few of my existing mods and hopes for a future booterizer iteration. Within the last month I used it to clean up and install IRIX 6.5 on a variety of machines I need to re-home (O2 R5K, O2 R10k, Octane R12k, Indy R5k, Indy R4.4k) and love that it mostly just works. Thank you so much for its existence!
Last edited: