LOVE (install IRIX from IRIX, LINUX or WINDOWS)

TruHobbyist

Member
Jul 27, 2019
41
39
18
Hey folks,

I just finished my new project, it is called love. It allows installation of IRIX from IRIX, LINUX or WINDOWS.

The reason for its existence is that IRIX installations are difficult, even for experienced users. New users almost always struggle with IRIX installations which can be demotivating and frustrating.

My goal is to make this task easy, fast and accessible.

You can follow any IRIX installation guide on the net with the love installer. The features are:
  • designed specifically for network installation of IRIX
  • it uses labels instead of cumbersome paths: love.6530.1 instead of /mnt/IRIX/6.5.30/Overlays_1_of_3/dist
  • it is multiplatform (runs on IRIX, LINUX and WINDOWS)
  • it consolidates all servers (bootpd, tftpd, rshd) into a single superserver
  • is distributed as a single binary
  • has an extremely small footprint (200KiB on LINUX, 400KiB on IRIX, 445KiB on WINDOWS)
  • was extensively tested: IRIX 5.3, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5.7, 6.5.22, 6.5.30
When choosing "Install System Software" in the PROM, you would type:

Enter the name of the remote host: 192.168.178.100
Enter the remote directory: love.6530.1

love.6530.1
is a label that is associated with a real local path in the labels file: LABELS.UNIX.TXT or LABELS.WIN.TXT:

...
love.all.3264.6530.ov1 /mnt/IRIX/6.5.30/Overlays_1_of_3/dist love.6530.1
...

The first label is the fully qualified label name (FQLN), the second string is the real local path and starting at the third column come all the aliases which are normally shorter than the FQLN. During IRIX installation you can use either FQLN or aliases.

Thus, the above would be equivalent to:

Enter the name of the remote host: 192.168.178.100
Enter the remote directory: /mnt/IRIX/6.5.30/Overlays_1_of_3/dist


All paths in the labels file must be absolute pathnames. On UNIX this is straightforward because there is just one type of absolute path. On Windows, you can use:

1. C:\path\to\dist
2. \path\to\dist
3. \\server\share\path\to\dist

The second type is relative to the current drive.

If you need IRIX distribution files for the love installer, get them here.

To start love on UNIX, run as root:

Code:
# ./love your.IP.v4.address ./LABELS.UNIX.TXT

Or on WINDOWS, run as administrator or equivalent:

Code:
C:\>.\love.exe your.IP.v4.address .\LABELS.WIN.TXT

Note for WINDOWS users: you will need Npcap 1.72 to use the love installer.

Download a complete guide on how to install IRIX using LOVE from here.

Download the installer from here and spread the love!!!


Tru


EDIT 01.02.2023: Added link to love_guide.txt - a guide to install IRIX using LOVE
 
Last edited:
love.exe triggered by w11 defender. im probably blind to where instruction are, its the labels.win file? anyone care to do a video bout this project and tube post it, would be great?
 
love.exe triggered by w11 defender. im probably blind to where instruction are, its the labels.win file? anyone care to do a video bout this project and tube post it, would be great?
You could try to disable Windows Defender Firewall during installation or add an exception to it for love.exe for the following ports/directions:

UDP 67 - Incoming
UDP 69 - Incoming
TCP 514 - Incoming
Any outgoing TCP connection from love.exe


For any other question, consult the LOVE guide I just added to the OP.
 
I just finished my new project, it is called love. It allows installation of IRIX from IRIX, LINUX or WINDOWS.

I just tried this and it worked well. The whole process took less than an hour from a blank HDD until booted into a fresh 6.5.30... and that included me making my own condensed notes of the process as I went. Thanks for making this.
 
  • Like
Reactions: flexion
Thank you for the Installer. The guide looks promising.
But I have checked here VirusTotal and it gives a few false positives I suppose? Can you please comment?
Would you be so kind to provide md5 sums for the installers here in the forum (using the copies that you are certain that are clean).
Sorry if I am a bit too cautios.
 
For the compilation of love.exe using VS 2017:

You need to add reference to npcap SDK (header and lib files).
You need to add Ws2_32.lib;wpcap.lib; in the linker->input->Additional Dependencies
You need to add HAVE_REMOTE;WPCAP in C/C++->Preprocessor.

And I updated the code a bit to make it compile:

Code:
#include "stdafx.h"
#define _WINSOCK_DEPRECATED_NO_WARNINGS #line added

#ifdef _WIN32

// For rand_s() in stdlib.h
#define _CRT_RAND_S

#include <Winsock2.h>
#include <pcap.h>
#include <time.h> #line added

@TruHobbyist Please consider creating a github repository for the code.
 
Last edited:
@TruHobbyist When I compile your code myself it waits for connection for 4 seconds and then it exits without message. When I use your binary it waits forever. That is why it is better to have your code on github. I am not sure the code you published is the one you used in the Windows binary.
Good job writing 16 000 lines of code! :cool:
 
@TruHobbyist When I compile your code myself it waits for connection for 4 seconds and then it exits without message. When I use your binary it waits forever. That is why it is better to have your code on github. I am not sure the code you published is the one you used in the Windows binary.
Good job writing 16 000 lines of code! :cool:
Hey toncho!

Thanks for your feedback and for testing LOVE. Right now, I'm absolutely tied up in personal things and can't access my stuff. When I'm done with some of them I'll get you a hashsummed binary.

Regarding connection time: it should loop forever until you kill the binary. I believe the issue you are having is related to a different Visual Studio version and setup. I used VS Community 2022 (64-bit version).

Regards
 
Thanks for the response
Hey toncho!

Thanks for your feedback and for testing LOVE. Right now, I'm absolutely tied up in personal things and can't access my stuff. When I'm done with some of them I'll get you a hashsummed binary.

Regarding connection time: it should loop forever until you kill the binary. I believe the issue you are having is related to a different Visual Studio version and setup. I used VS Community 2022 (64-bit version).

Regards

Thank you for the response. The version of VS should not matter. I used VS 2017 Community edition. Just the source file is not enough LOVE to be easily compiled. Please upload it to github, so that people like me can contribute and test :). I mean when you have the time.
 
Hey folks,

I just finished my new project, it is called love. It allows installation of IRIX from IRIX, LINUX or WINDOWS.

The reason for its existence is that IRIX installations are difficult, even for experienced users. New users almost always struggle with IRIX installations which can be demotivating and frustrating.

My goal is to make this task easy, fast and accessible.

You can follow any IRIX installation guide on the net with the love installer. The features are:
  • designed specifically for network installation of IRIX
  • it uses labels instead of cumbersome paths: love.6530.1 instead of /mnt/IRIX/6.5.30/Overlays_1_of_3/dist
  • it is multiplatform (runs on IRIX, LINUX and WINDOWS)
  • it consolidates all servers (bootpd, tftpd, rshd) into a single superserver
  • is distributed as a single binary
  • has an extremely small footprint (200KiB on LINUX, 400KiB on IRIX, 445KiB on WINDOWS)
  • was extensively tested: IRIX 5.3, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5.7, 6.5.22, 6.5.30
When choosing "Install System Software" in the PROM, you would type:

Enter the name of the remote host: 192.168.178.100
Enter the remote directory: love.6530.1

love.6530.1
is a label that is associated with a real local path in the labels file: LABELS.UNIX.TXT or LABELS.WIN.TXT:

...
love.all.3264.6530.ov1 /mnt/IRIX/6.5.30/Overlays_1_of_3/dist love.6530.1
...

The first label is the fully qualified label name (FQLN), the second string is the real local path and starting at the third column come all the aliases which are normally shorter than the FQLN. During IRIX installation you can use either FQLN or aliases.

Thus, the above would be equivalent to:

Enter the name of the remote host: 192.168.178.100
Enter the remote directory: /mnt/IRIX/6.5.30/Overlays_1_of_3/dist


All paths in the labels file must be absolute pathnames. On UNIX this is straightforward because there is just one type of absolute path. On Windows, you can use:

1. C:\path\to\dist
2. \path\to\dist
3. \\server\share\path\to\dist

The second type is relative to the current drive.

If you need IRIX distribution files for the love installer, get them here.

To start love on UNIX, run as root:

Code:
# ./love your.IP.v4.address ./LABELS.UNIX.TXT

Or on WINDOWS, run as administrator or equivalent:

Code:
C:\>.\love.exe your.IP.v4.address .\LABELS.WIN.TXT

Note for WINDOWS users: you will need Npcap 1.72 to use the love installer.

Download a complete guide on how to install IRIX using LOVE from here.

Download the installer from here and spread the love!!!


Tru


EDIT 01.02.2023: Added link to love_guide.txt - a guide to install IRIX using LOVE
This looks really neat! The binary for ubuntu is only just over 200KB as well! I'm going to have to try this out, even though I already have images and a build script for just about any system that I need to build. It would be really cool if this worked on something like a LuckFox PicoPro or a MilkV-Duo which are low power enough that they could probably be powered via SCSI terminator power or speaker power from an Octane.
 
BTW, one thing I decided to do a very long time ago was to have the CDROM install images on the server stored by part number. For instance 6.5.30f install 1 is 812-0818-030. It helped me keep things sane as if I ever needed to reload one of these, I grabbed that CD and an O2 or a CDROM drive and tarred /CDROM and extracted that tar to a directory I created with the part number of the CD. Over the years, I memorized the disk part numbers rather than have to think how I spelled the title of the CD, handled the spaces and capitalization, etc.
 
  • Like
Reactions: doc
Iv been loving this project for a while and its been my choice for installing irix. Though Iv been running into this error for a while now randomly and im unsure what causes it. It happens when I try and boot some of these installers



Code:
[LABEL_FILE::lookup_label] PATH: "/mnt/IRIX/6.5xfs/dist"
terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::at: __n (which is 0) >= this->size() (which is 0)
Aborted


There is the error. Thanks!
 
I'm trying this out with Ubuntu 24.04 server for ARM (virtual machine on my Mac). Followed everything in the guide but when it's time to start it, I get this at the end:

Code:
[TFTPD::start] START
[TFTPD::start] STOP
[RSHD::start] START
[RSHD::start] STOP
ERROR: Couldn't initialize SNOOPI

Am I missing anything?
 

About us

  • Silicon Graphics User Group (SGUG) is a community for users, developers, and admirers of Silicon Graphics (SGI) products. We aim to be a friendly hobbyist community for discussing all aspects of SGIs, including use, software development, the IRIX Operating System, and troubleshooting, as well as facilitating hardware exchange.

User Menu