I’ve had problems creating a bootable QNX compact flash memory too. I
believe it doesn’t really matter how you configure your CF (C:H) because
it’s virtual anyway. With help of friends in this newsgroup I came up with
the following method to create a bootable CF. Perhaps you could give it a
try:
(hdx refers to hd1, hd2, whatever appears in /dev as your CF. Be carefull
not to fdisk your HD in stead of your CF!) By the way, you don’t need to
reboot in between changes to your partition table, just use mount -e
/dev/hdx. I hope this works for you.
THANKS A LOT FOR YOUR HELP
Marian, of course there is a geometry problem. QNX writes CF in a
different way that PC104 reads.
Well I solve this problems usign GRUB and loadifs, both in a DOS
partition. I hope QNX people update in a near future devb-umass or fdisk
in order to use their tools. ( Or maybe not??? ).
Thanks again.
Eugenio.
“Oklapek Marian” <> oklapek@pobox.sk> > escribió en el mensaje
news:dum1u3$a0a$> 1@inn.qnx.com> …
Hello Eugenio,
You must decide whitch operating system is best for your application.
Every has advatages and disadvateges.
From your tests you can see that geometry of your compact flash is:
AUTOCONFIG LBA: 62/16/63
AUTOCONFIG PHYSICAL: 490/4/32
If you want still to play with this problem, try this:
Don’t forgot to use option -h in command dinit
Make your boot image minimal (or try to use standard image file -
qnxbase.ifs). When you will sure that boot sequence is correct than
change your image file.
Than it should be run with this commands:
io-usb -d uhci &
devb-umass blk auto=none disk translation=4:32 &
fdisk /dev/hd2 (delete all create one type 77, mark bootable, save,
loader and exit).
mount -e /dev/hd2
dinit -h -f pc104.ifs /dev/hd2t77
Good luck
Marian.
Eugenio Yime wrote:
THANKS A LOT FOR REPLYING
Marian, I think QNX is not compatible with this board using a Compact
Flash, maybe using a hard disk it can boot, but I won’t use it because I
don’t need it. I select this board because my requirements specify a
minimal height (minimal boards) with RS-485 Full duplex, Ethernet (LAN
and WIFI) and Analog Input and Output, no Keyboard nor Screen. Other
boards brand (maybe with more QNX compatibility and support) had more
than three stacks for this requirements or a high price, so I just
decide to use this brand, well it seems I need to switch to another Real
Time OS maybe one based on Linux.
Here is the output for four test:
Firs test:
I changed the boot process and I’m using GRUB, it boots fine.
Second test:
Using restaured backup copy from QNX, boot process with SYSLINUX
(factory default),
Geometry set to AUTOCONFIG, LBA, didn’t work with AUTOCONFIG, PHYSICAL
and output for fdisk listing a mismatch between beginning and ending for
each partition.
Here is another userful (I think) information, for this test.
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx hda: SanDisk SDCFB-32, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 62720 sectors (32 MB) w/1KiB Cache, CHS=62/16/63
Third Test:
Using restaured backup copy from SUSE Linux with dd, boot process with
syslinux,
Geometry set to: AUTOCONFIG, PHYSICAL (factory default). Using TS-LINUX
(Factory default). Output for fdisk whithout any mismatch, fdisk output
to 4 Heads and
32 Sectors.
Disk /dev/hda: 4 heads, 32 sectors, 490 cylinders
Units = cylinders of 128 * 512 bytes
Fourth Test:
Using QNX devb-umass set to 4 Heads and 32 Sectors, geometry to
AUTOCONFIG,
PHYSICAL
io-usb -d uhci &
devb-umass blk auto=none disk translation=4:32 &
fdisk /dev/hd2 (delete all create one type 77, mark bootable, save and
exit).
---- NO IPL-DISK-PC1-FLOP ------
mount -e /dev/hd2
dinit -f pc104.ifs /dev/hd2t77 (using IPL-DISK-PC2-FLOP).
Output to “Zero Trap Error”.
Eugenio Yime
OUTPUT FOR FIRST TEST:
GNU GRUB version 0.95 (635K lower / 64512K upper memory)
±------------------------------------------------------------------------+
| TSLinux-2.4.18 |
| TSLInux initrd |
| QNX |
| |
| |
| |
| |
| |
| |
| |
| |
| |
±------------------------------------------------------------------------+
Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, ‘e’ to edit the
commands before booting, or ‘c’ for a command-line.
Booting ‘TSLinux-2.4.18’
kernel (hd0,1)/boot/bzImage console=ttyS1 root=/dev/hda2
[Linux-bzImage, setup=0xa00, size=0xb9896]
Technologic Systems Linux
Version 3.07a
miniepc.embeddedx86.com login:
OUTPUT FOR SECOND TEST:
General Software 80486 Embedded BIOS ™ Version 4.3
Copyright (C) 2000 General Software, Inc.
TS-5x00 AMD Elan V1.16
00000640K Low Memory Passed
00064512K Ext Memory Passed
Wait…
PCI Device Table.
Bus Dev Func VendID DevID Class Irq
00 00 00 1022 3000 Host Bridge
00 0C 00 104C AC56 CardBus Bridge
00 0D 00 1282 9102 Ethernet 11
Verifying 5600 Flash A: 101D0000
SYSLINUX 2.11 2004-08-16 Copyright (C) 1994-2004 H. Peter Anvin
“linux” to run Linux with /dev/hda2 as root (default after 5 sec.)
“nfs” to run Linux with NFS exported directory on host as root
“initrd”.to run Linux with an initial RAM disk image as root
“dos” to run DOS-ROM (Linux can be run using loadlin.exe)
Serial
bboooott::
LLooaaddiinngg
bbzziimmaaggee…RReeaaddyy…
Linux version 2.4.23-2.5-ts (mike@spike) (gcc version 2.95.4 20011002
(Debian pr
erelease)) #2 Tue Sep 21 03:41:41 MST 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009ec00 (usable)
BIOS-e820: 000000000009ec00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000004000000 (usable)
BIOS-e820: 00000000fff00000 - 0000000100000000 (rese
64MB LOWMEM available.
On node 0 totalpages: 16384
zone(0): 4096 pages.
zone(1): 12288 pages.
zone(2): 0 pages.
DMI not present.
Kernel command line: root=/dev/hda2 reboot=bios console=ttyS1,115200
BOOT_IMAGE=
bzimage
Initializing CPU#0
Calibrating delay loop… 65.74 BogoMIPS
Memory: 62608k/65536k available (1175k kernel code, 2536k reserved, 304k
data, 7
6k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode…
Ok.
Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
CPU: AMD 486 DX/4-WB stepping 04
Checking ‘hlt’ instruction… OK.
POSIX conformance testing by UNIFIX
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
devfs: v1.12c (20020818) Richard Gooch (> rgooch@atnf.csiro.au> )
devfs: boot_options: 0x1
Installing knfsd (copyright (C) 1996 > okir@monad.swb.de> ).
Keyboard timed out[1]
keyboard: Timeout - AT keyboard not present?(ed)
keyboard: Timeout - AT keyboard not present?(f4)
pty: 256 Unix98 ptys configured
ts5600.o: Technologic Systems [06.17.04] Ver 1.03
TS5600.o: Module Loaded
Serial driver version 5.05c-TS (2001-07-08) with MANY_PORTS SHA
enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
cs89x0:cs89x0_probe(0x0)
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
PP_addr=0xd0d
eth0: incorrect signature 0xd0d
cs89x0: no cs8900 or cs8920 detected. Be sure to disable PnP with SETUP
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
dmfe: Davicom DM9xxx net driver, version 1.36.4 (2002-01-17)
eth0: Davicom DM9102 at pci00:0d.0, 00:d0:69:09:67:88, irq 11.
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
hda: SanDisk SDCFB-32, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 62720 sectors (32 MB) w/1KiB Cache, CHS=62/16/63
Partition check:
/dev/ide/host0/bus0/target0/lun0: p1 p2
hd: unable to get major 3 for hard disk
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP,
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 76k freed
INIT: version 2.84 booting
http://www.embeddedx86.com
email:> info@embeddedx86.com
Started device management daemon v1.3.25 for /dev
root partition mo
now mounting /proc
checking root filesystem
fsck 1.27 (8-Mar-2002)
/dev/hda2: clean, 718/7328 files, 17346/29312 blocks
fsck successfull
root filesystem remounted rwEXT3 FS 2.4-0.9.19, 19 August 2002 on
ide0(3,2), int
ernal journal
Checking Local Filesystems
fsck 1.27 (8-Mar-2002)
mounting local filesystems (in fstab)
Using /lib/modules/2.4.23-2.5-ts/kernel/drivers/block/doc/doc.o
Warning: loading
/lib/modules/2.4.23-2.5-ts/kernel/drivers/block/doc/doc.o will
taint the kernel: no license
fl: Cannot initialize M-Sy
/lib/modules/2.4.23-2.5-ts/kernel/drivers/block/doc/doc.o: init_module:
Device o
r resource busy
Hint: insmod errors can be caused by incorrect module parameters,
including inva
lid IO or IRQ parameters
setting system clock
Sat Jan 1 00:00:17 MST 2000
Linking libraries…
INIT: Entering runlevel: 3
Setting hostname…
Brining up interface eth0…
Brining up interface lo…
setting kernel IP routing tables
Starting INETD…
Starting proftpd
usb.c: registered new driver usbdevfs
usb.c: registered
.
… etc …
.
**FDISK OUTPUT
[root@miniepc /]#fdisk /dev/hda
Command (m for help): p
Disk /dev/hda: 16 heads, 63 sectors, 62 cylinders
Units = cylinders of 1008 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 5 2032 4f QNX4.x 3rd part
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(0, 1, 1) logical=(0, 0, 33)
Partition 1 has different physical/logical endings:
phys=(31, 3, 32) logical=(4, 1, 1)
Partition 1 does not end on cylinder boundary:
phys=(31, 3, 32) should be (31, 15, 63)
/dev/hda2 * 5 63 29312 83 Linux
Partition 2 has different physical/logical beginnings (non-Linux?):
phys=(32, 0, 1) logical=(4, 1, 2)
Partition 2 has different physical/logical endings:
phys=(489, 3, 32) logical=(62, 3, 35)
Partition 2 does not end on cylinder boundary:
phys=(489, 3, 32) should be (489, 15, 63)
Command (m for help):
OUTPUT FOR THIRD TEST:
[root@miniepc /]#fdisk /dev/hda
Command (m for help): p
Disk /dev/hda: 4 heads, 32 sectors, 490 cylinders
Units = cylinders of 128 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 32 2047+ 4 FAT16 <32M
/dev/hda2 33 490 29312 83 Linux
Command (m for help):
OUTPUT FOR FOURTH TEST:
±-----------------------------------------------------------------------------+
| System BIOS Configuration, (C) 2000 General Software, Inc. |
±--------------------------------------±-------------------------------------+
| System CPU : 80486 | Low Memory :
635KB |
| Coprocessor : Enabled | Extended Memory :
63MB |
| Floppy 0 Type : Not installed | Serial Ports 1-2 :
03F8 02F8 |
| Floppy 1 Type : Not installed | Serial Ports 3-4 : |
| Ide 0 Type : 2 | Parallel Ports :
|
| Ide 1 Type : 0 | ROM Shadowing :
Enabled |
| Embedded BIOS Date : 10/25/04 | Manufacturing Mode : 02F8 /
38.4K |
±--------------------------------------±-------------------------------------+
Hit Esc for .altboot
Embedded BIOS Debugger Divide By Zero Trap
EAX = 00003ED6 CS:EIP = 0060:00000146 EFL = 00000202 pl nz … na …
po … nc
EBX = 68740000 SS:ESP = 0060:000007F4 EBP = 00001000 … nt IOPL0 nv
up EI …
ECX = 444D002D DS:ESI = 0060:00000294 FS = 0010 … … id vp vi
al vm rf
EDX = 69743D2F ES:EDI = 0060:FFFEDF9A GS = 0000
0060:00000146 div [000E]
DEBUG:
\