Image for PC (iTuner) on Compact Flash

Hi,

I have problems with building a i386 image.
I am using this image.build:

[virtual=x86,bios] .bootstrap = {
startup-bios
PATH=/proc/boot procnto
}

[+script] .script = {
devc-con -n9 &
reopen /dev/con1
[+session] esh
}
libc.so.1
[data=copy]
devc-con
esh
[type=link] /usr/lib/ldqnx.so.1=/proc/boot/libc.so.1

mkifs image.build > image.ifs makes me a ifs file.

dumpifs image.ifs results this:

Offset Size Name
0 400 .boot
400 100 Startup-header flags1=0x1 flags2=0x0
paddr_bias=0x0
500 a008 startup.

a508 5c Image-header mountpoint=/
a564 19c Image-directory
---- ---- Root-dirent
---- 14 usr/lib/ldqnx.so.1 → /proc/boot/libc.so.1
a700 4c proc/boot/.script
b000 33184 proc/boot/procnto
3f000 4e000 proc/boot/libc.so.1
---- 9 proc/boot/libc.so → libc.so.1
8d000 ab4d proc/boot/devc-con
98000 3a90 proc/boot/esh
Checksums: image=0xe2b82bdf startup=0x5dc9b2b2

I think this is ok.

Now I want to bild a image for the i386 Compact Flash.

mkrec image.ifs > image.srec is working, but I dont want a srec
file.

mkrec -f i image.ifs > image.img gives me a failure

Reset jumps to 0xFFFFDAB0 (jmp 0xDABD)
Format cannot be changed after first file processed

what is wrong? Can you please tell me how to build a bootable image
for i386. Is it perhaps possible to convert the srec to i386?

Thanks, Stephan

Compact Flash is just like a hard disk.

  1. Create a partition with fdisk
  2. dinit the partition
  3. Mount the partition
  4. Copy the ifs image to the .boot on the CF

Note: You can provide the ifs to dinit and it will copy the ifs for you.

-Joe

sh263 <stephan.huels@bms-dot-de.no-spam.invalid> wrote in message
news:cs65ql$fqa$1@inn.qnx.com

Hi,

I have problems with building a i386 image.
I am using this image.build:

[virtual=x86,bios] .bootstrap = {
startup-bios
PATH=/proc/boot procnto
}

[+script] .script = {
devc-con -n9 &
reopen /dev/con1
[+session] esh
}
libc.so.1
[data=copy]
devc-con
esh
[type=link] /usr/lib/ldqnx.so.1=/proc/boot/libc.so.1

mkifs image.build > image.ifs makes me a ifs file.

dumpifs image.ifs results this:

Offset Size Name
0 400 .boot
400 100 Startup-header flags1=0x1 flags2=0x0
paddr_bias=0x0
500 a008 startup.

a508 5c Image-header mountpoint=/
a564 19c Image-directory
---- ---- Root-dirent
---- 14 usr/lib/ldqnx.so.1 → /proc/boot/libc.so.1
a700 4c proc/boot/.script
b000 33184 proc/boot/procnto
3f000 4e000 proc/boot/libc.so.1
---- 9 proc/boot/libc.so → libc.so.1
8d000 ab4d proc/boot/devc-con
98000 3a90 proc/boot/esh
Checksums: image=0xe2b82bdf startup=0x5dc9b2b2

I think this is ok.

Now I want to bild a image for the i386 Compact Flash.

mkrec image.ifs > image.srec is working, but I dont want a srec
file.

mkrec -f i image.ifs > image.img gives me a failure

Reset jumps to 0xFFFFDAB0 (jmp 0xDABD)
Format cannot be changed after first file processed

what is wrong? Can you please tell me how to build a bootable image
for i386. Is it perhaps possible to convert the srec to i386?

Thanks, Stephan

Hi Joe,

thank you for your answer. I dont really understand the steps. So I
dont have to use mkrec?
What means dinit the partition. .boot is a directory. So I have sipel
to copy in this directory?
Can I use perhaps SmartBoot to boot this new partition?

Have a nice weekend, Stephan

  1. Create a partition with fdisk
    ex: # fdisk /dev/hd0

http://www.qnx.com/developers/docs/6.3.0/neutrino/utilities/f/fdisk.html

  1. dinit the partition
    ex: # dinit -h /dev/hd0t79

http://www.qnx.com/developers/docs/6.3.0/neutrino/utilities/d/dinit.html

  1. Mount the partition
    ex: # mount /dev/hd0t79 /CF


  2. Copy the ifs image to the .boot on the CF
    ex: # cp myboot.ifs /CF/.boot

Regards,

Joe

Hi Joe,

thanks for your answer. I see dinit is a QNX command. I will try this.
Have a nice day, Stephan

Hi Joe,

ich have now tested the 4 steps. I got no failure, but I can’t boot. I
have attached another hard disc to my pc as slave.
Then I made the partition with fdisk on hd1 (with option boot), dinit,
mount and copy. After this I removed the master
and jumperd the hard disc to master where the new partiotion is
installed. The problem is, the system does not boot.
Have I to to another step like installing a boot loader?

Thanks, Stephan

What do you see on screen?
How far into the boot cycle do you get?

If you don’t see anything other the standard BIOS output, my guess would be
the primary loader.
Use fdisk to apply the loader (fdisk /dev/hd0 loader) or in interactive
mode, select loader from the top menu.

-Joe

sh263 <stephan.huels@bms-dot-de.no-spam.invalid> wrote in message
news:cslp0t$74r$1@inn.qnx.com

Hi Joe,

ich have now tested the 4 steps. I got no failure, but I can’t boot. I
have attached another hard disc to my pc as slave.
Then I made the partition with fdisk on hd1 (with option boot), dinit,
mount and copy. After this I removed the master
and jumperd the hard disc to master where the new partiotion is
installed. The problem is, the system does not boot.
Have I to to another step like installing a boot loader?

Thanks, Stephan

Hi Joe,

I tryed some variants. Now I can boot my image.

I use:

dinit -h -f image.ifs /dev/hd1

without partition. I dont know why it does not work with a partition.
Regards, Stephan

Hi Joe, thanks for your help. I tried it and it works. Regards,
Stephan