Transferring QNX from 1 hard drive to another

Hi,

So I finally got my PC104 board to boot QNX by installing QNX on another computer sata drive and booting the PC104 board off of the sata drive.

Now I want to get QNX from the SATA drive on to the onboard SSD. Is there a good procedure for doing this? I’ve seen to USB (and tried in other instances unsuccesfully). I cannot boot with a CD (unless I can find a SATA cd player).

Thanks,

Connie

Connie,

Is the onboard SSD not being found by devb-eide (and therefore being treated as an IDE drive)?

I’ve installed QNX on this PC104 board

adlinktech.com/PD/web/PD_det … d=&pid=950

and all it has is 4 Gigs of SSD. Devb-eide detected it and installed just fine.

Tim

Hi Tim,

You sound like the person I need to talk to.

My total issue was that, I got the board support package from Ampro (the coremodule 745), I don’t think you can boot the kernel they give from USB, so I needed another method of getting some type of QNX on to the board. My current problem is just finding some way to install QNX on an attached hard drive.

Maybe this is very obvious-I’m new to QNX development.

Can I use devb-eide to install QNX on an attached hard drive?
Better yet, if I modify the Ampro kernel to be able to boot from usb, can I use devb-eide to install QNX on to the onboard ssd from the USB?

Thanks,

Connie

Connie,

I didn’t realize Ampro was giving a BSP for their boards. I don’t recall using anything I got from them because we weren’t using any of the custom hardware on the boards.

OK, back to your problem. Since you are a new user:

  1. devb-eide is an IDE disk driver. It also supports SATA devices (running in compatible mode). So yes, you will need devb-eide to install to an IDE/SATA/SSD drive.

Can you post the Ampro kernel build script. I expect to see a line in there something like:

#USB Driver
devb-umass &

You are going to want to add a line like this:

SSD Disk Driver

devb-eide blk cache=2m &

to get the SSD drive to show up as a hard drive so you can format it for QNX then install QNX onto it. Hopefully that will be all you need.

They may also be using a ‘diskboot’ utility which is why I wanted to see their kernel build file you are using to make the kernel image.

Tim

The AMPRO build script is as follows:

[virtual=x86,bios +compress] .bootstrap = {
startup-bios -s 64k
PATH=/proc/boot:/sbin:/bin:/usr/bin:/usr/sbin:/usr/photon/bin
LD_LIBRARY_PATH=/proc/boot:/usr/lib:/lib/dll:/lib:/usr/photon/dll
PHOTON_PATH=/usr/photon procnto
}
[+script] startup-script = {
procmgr_symlink …/…/proc/boot/libc.so.3 /usr/lib/ldqnx.so.2

BSP_SERIAL_RB740=
BSP_PARALLEL_PORT=1

SYSNAME=nto
TERM=qansi	
PATH=:/proc/boot:/sbin:/bin:/usr/sbin:/usr/bin:/usr/photon/bin
LD_LIBRARY_PATH=:/proc/boot:/usr/lib:/lib:/lib/dll:/usr/photon/dll
PHOTON_PATH=/usr/photon
PHOTON_PATH2=/usr/photon
PHOTON=/dev/photon
PHFONT=/dev/phfont
HOME=/
display_msg "Starting seedres"
seedres

display_msg "Startng pci-bios"
pci-bios &
waitfor /dev/pci

#common server
display_msg "Starting pipe"
pipe &
mqueue &

display_msg "Starting slogger"
slogger -s 256 &

#storage devices enumerate	
display_msg "starting devb-eide eide" 
devb-eide eide
sleep 1

devc-con -n6
waitfor /dev/con1 
display_msg "Opening con1"
reopen /dev/con1
### mountdev.sh finds adlink bootable hard disk and mount it as / 
[+session] /proc/boot/mountdev.sh
### start0.sh starts start1.sh inturn, all the drivers are started
### in start1.sh script. The log will be in start1.log
[+session] /adlink/start0.sh &
reopen /dev/con2
[+session] ksh &  

}

[type=link] /proc/boot/more=/proc/boot/less
[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so
[type=link] /bin/ksh=/proc/boot/ksh
[type=link] /bin/echo=/proc/boot/echo
[type=link] /usr/lib/libcam.so.2=/proc/boot/libcam.so
[type=link] /bin/sh = /proc/boot/ksh
[type=link] /tmp = /dev/shmem

[code=uip data=copy perms=+r,+x]

cam-disk.so
cam-cdrom.so
mqueue
libcam.so
./mountdev.sh
fs-qnx4.so
fs-qnx6.so
fs-dos.so
fs-cd.so
io-blk.so
libc.so
devb-eide
devc-con
pci-bios
seedres
slogger
pipe
ksh
sh
mount
umount
sleep
libffb.so.2
[+raw] pterm

No similar lines to the ones you mentioned-so I will need to try a rebuild and add those in. I assume if I want telnet and ftp and ssh, I will need to add in telnetd and ftpd and sshd and any other packages to support those.

Connie,

I see devb-eide in their script. It’s already there.

This boot script looks it it’s meant to boot off the SSD. What’s not there is starting the USB driver (though it could be in the sysinit scripts).

So what again are you trying to accomplish? Are you trying to boot from USB and install QNX onto the SSD. After which you’ll simply boot from the SSD forever?

You already seem to have the board booting by connecting another SATA drive to it. Is this not sufficient? You can install QNX from that other SATA drive to your SSD if that’s all you want to do.

When you have your board booted from the external drive, run the ‘df’ command (post the results). This shows all the disks found. You’ll obviously have the one you booted from (typically /dev/hd0t79 with a / at the far right end indicating it’s the boot disk). You should see another one representing the SSD. If you do, then you can simply mount that drive (it may already be mounted as /hd1) and copy QNX to it.

Tim