Recenty, I decided to try out QNX, just for fun. So I went through all of the hassle of registration and reading long EULA’s to get the 6.3.0 momentics ISO, only to find that the partitioner is incredibly restrictive and stupid.
I already have several operating systems installed, and more primary partitions than MBR entries, so I have to be able to specify exactly the location and dimentions of my partitions, to avoid overwriting partitions that might not be in the MBR.
I notice that there is the ISO for version 6.1 available here: what is it’s partitioner like? Would it allow me to use an existing partition, or specify the dimensions of the QNX partition?
All the QNX installers will only look at the four primary partition slots. The simplest approach is to pre-organise some empty space outside the extended partition and leave an empty primary partition slot.
The installer will find this and all you have to tell it is to use 100% of the space.
If you are brave enough, you can use the “fdisk” in Linux to create a type 4f (decimal 79) partition with the exact location/dimention of your choice.
You can then boot the QNX CD, in a LiveCD mode, and
“format” the new QNX partition. eg: dinit -R -h /dev/hd0t79
mount the new QNX partition and copy the boot files from QNX CD over.
eg: cp /fs/cd0/boot/fs/qnxbasedma.ifs /newmnt/.boot
cp /fs/cd0/boot/fs/qnxbase.ifs /newmnt/.altboot
unpack the /fs/cd0/boot/fs/qnxbase.qfs onto the /newmnt
now boot the QNX from the new QNX partition.
add the license key (activation -l) and finish up the installation by running /fs/cd0/install
I think I’ll try using a dummy partition occupying the space where I do not qnzt QNX to install, as evanh suggested. I only hope that QNX looks for the first apparently unpartitioned section, rather than the largest.
If that is not the case then there is one of two ways to ensure you do get what you want. 1: Take up all the excess with another differing primary partition or, 2: Put it all in the extended partition.
first you copy the qnxbase.qfs to your hard disk:
cp /fs/cd0/boot/fs/qnxbase.qfs /newmnt
then, you can mount this file as a directory:
mount /newmnt/qnxbase.qfs /qnxbase
Now, you will see all the content of qnxbase.qfs in the directory /qnxbase, you can then just copy everything from /qnxbase to your hard disk /newmnt, I usually use the following command:
Still here, it worked fine. But rebooting the system produces a “Missing operating system” message.
I tried “fdisk /dev/hd0 loader”
and “dinit -b /dev/hd0t79”
This is great stuff. I am trying to make a runtime installation CD to install qnxbase.qfs on to an x86 target. It seems that QSSL expects all installations to be embedded images and have not created a runtime installation CD like 4.25 had. This is a big problem for us b/c traditionally the customer would install from runtime CD, then load our apps.
My question is:
What needs to be done after qnxbase.qfs is copied onto the target? I tried to use the qnxbasedma build file to create a boot image but it is missing something. I need to do some post steps that the installer would normally do, I believe these include:
Build helpviewer db,
configure graphics.
Is there Anything else that needs to be done and how do I do these two things (what needs to be executed to build helpviewer and configure graphics).
step 5 in my post is only necessary if you are installing on a development machine. When you run /fs/cd0/install , you will be presented a list of dev packages (gcc, IDE, etc) which you can choose as needed. For your runtime environment, you probably need none of them. Not sure about license for a runtime environment, you may still need to add the license key by running (activation -l)
well, you can run “activation -l” to add your license key and that will get rid of the annoying licensing displays. of course, you probably don’t want to share your license with your customers