PCEngines alix2c3 (Substitute for WRAP) boot failes
-
Tell me if it works for you
Hm- at least for me it didn't. :(
I think it depends much of the BIOS and the Card reader. On my wife's notebook I wasn't able to access the CF drive at all (connected via USB and multi-card-reader, "USB legacy support" enabled in BIOS).
On my PC I found some BIOS page showing the detected CF drive and the option on how to access it (I chose "simulate hard disk"). fdisk and format went well, but when booting from it, I only got "FreeDOSFreeDOSFreeDOSFreeDOS…" on my ALIX serial prompt.So - here's my tutorial for PXE booting FreeDOS and updating the Bios. 8)
Prerequisites:
-
tftpd-hpa (Debian: apt-get install tftpd-hpa; until now I had the netkit-tftpd running, which worked NOT in this case!)
-
DHCP server (ISC dhcpd)
-
FreeDOS boot image (fdboot.img), get it at http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img
-
syslinux (3.53), get it at http://www.kernel.org/pub/linux/utils/boot/syslinux/
1.) If not done yet, set up your DHCP and TFTP server.
In your DHCP config file (/etc/dhcpd.conf) add entries for TFTP booting:subnet 192.168.0.0 netmask 255.255.255.0 { allow booting; allow bootp; [...] next-server YOUR.TFTP.IP.HERE; filename "pxelinux.0"; [...] }
I started TFTPD as a daemon (not via inetd), so /etc/defaults/tftpd-hpa looks like that:
RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot -r blksize"
(I'm not shure, but I think the "-r blksize" was important…)
Then start your TFTP server (/etc/init.d/tftpd-hpa start)
2.) Install the PXE boot images
Unpack syslinux anywhere (eg. at /tmp) and copy the files "pxelinux.0" and "memdisk/memdisk" into your TFTP boot directory (eg. /var/lib/tftpboot).
Copy the fdboot.img file also into that directory.
Then create a subdirectory "pxelinux.cfg" (/var/lib/tftpboot/pxelinux.cfg) and create a file called "default" within that (there are much more possibilities, see SYSLINUX docs).
The file should look like this:SERIAL 0 38400 0 timeout 50 default fdos prompt 1 say Booting FreeDOS via PXE label fdos kernel memdisk append initrd=fdboot.img raw
The "raw" is extreme important!! (took me many hours to figure out…)
3.) Pimp your boot image
Inject the BIOS upgrade (from the PC Engines website) into the FreeDOS image and adjust some config files:- mount /var/lib/tftpboot/fdboot.img /mnt -o loop
- copy ALIX1.BIN, ALIX2.BIN and BS.COM to /mnt
- edit /mnt/fdconfig.sys to look like this:
; FreeDOS 1.0 Final distro by Blair Campbell [Blairdude@gmail.com], ; last update 2005-08-02 by Blair Campbell [Blairdude@gmail.com] ; config.sys loads system drivers. Please edit to suit your needs. ;!SWITCHES=/E SWITCHES=/N DEVICE=a:\driver\HIMEM.EXE SHELL=a:\COMMAND.COM c:\ /E:2048 /F /MSG /P=a:\FDAUTO.BAT DOS=HIGH FILES=20 BUFFERS=20 LASTDRIVE=Z
- create and edit /mnt/fdauto.bat to look like this:
@prompt $p$g @path=a:\freedos @REM mode COM1:38400,n,8,1 @REM ctty COM1 sb
The "mode" and "ctty" command didn't help me to get a usable serial console, so they're REM'd.
The "sb" will start the BIOS upgrade automatically after booting.
(For first tests, you can comment that out, too)- then unmount that image (umount /mnt).
4.) Give it a try…
Start your ALIX board, set console speed to 38400 (after BIOS upgrade this will also be the default speed), enable PXE boot, reboot.
For your convenience, here's my output of the whole update process. It might help to detect any problems if it doesn't work for you.
Btw: tftpd-hpa doesn't show you if any files are requestes/transferred (as netkit-tftp would do). Personally, I used tcpdump to observe correct behaviour.Here's the output (@mod: I hope this is ok...)
PC Engines ALIX.2 v0.98b 640 KB Base Memory 261120 KB Extended Memory Press <shift-tab>key to display network boot option menu Try network boot first , then local drives 01F0 - no drive found ! Intel UNDI, PXE-2.0 (build 082) Copyright (C) 1997,1998,1999 Intel Corporation VIA Rhine III Management Adapter v2.43 (2005/12/15) CLIENT MAC ADDR: 00 0D B9 12 72 AC CLIENT IP: 192.168.142.220 MASK: 255.255.255.0 DHCP IP: 192.168.142.10 GATEWAY IP: 192.168.142.1 PXELINUX 3.53 2007-11-17 Copyright (C) 1994-2007 H. Peter Anvin Booting FreeDOS via PXE boot: Loading memdisk.... Loading fdalix.img.........................ready. MEMDISK 3.53 2007-11-17 Copyright 2001-2007 H. Peter Anvin e820: 0000000000000000 00000000000a0000 1 e820: 00000000000f0000 0000000000010000 2 e820: 00000000fff00000 0000000000100000 2 e820: 0000000000100000 000000000ff00000 1 Ramdisk at 0x0fe78000, length 0x00168000 command line: initrd=fdalix.img raw BOOT_IMAGE=memdisk Disk is floppy 0, 1440 K, C/H/S = 80/2/18, EDD off Using raw access to high memory Total size needed = 2310 bytes, allocating 3K Old dos memory at 0x9fc00 (map says 0xa0000), loading at 0x9f000 1588: 0xffff 15E801: 0x3c00 0x0ee7 INT 13 08: Failure, assuming this is the only drive old: int13 = f000b396 int15 = f000ad42 new: int13 = 9f00000a int15 = 9f00037c Loading boot sector... booting... FreeDOS kernel build 2036 cvs [version Aug 18 2006 compiled Aug 18 2006] Kernel compatibility 7.10 - WATCOMC - 80386 CPU required - FAT32 support (C) Copyright 1995-2006 Pasquale J. Villani and The FreeDOS Project. All Rights Reserved. This is free software and comes with ABSOLUTELY NO WARRANTY; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - InitDiskno hard disks detected FreeDOS HIMEM64 3.26 [Aug 25 2006] (c) 1995, Till Gerken 2001-2006 tom ehlert HIMEM - Always On A20 method used Kernel: allocated 43 Diskbuffers = 22876 Bytes in HMA Unable to open file 'c:' FreeCom version 0.84-pre2 XMS_Swap [Aug 28 2006 00:29:00] A:\>sb ALIX flash update (C)2007 PC Engines GmbH Flash ID = 1 FFFF GPI = FF Flash ID = 0 9D37 GPI = 01 Reading 512KB flash image alix1.bin................ Compare Erase Program Verify - update OK. A:\></shift-tab>
-
-
Hi,
PXE booting tutorial is perfect except the default pxelinux config filename : default~~.cfg~~
I spent long hours to find out why it was not working…
Good work DoubleK, I had success to update my bios!
-
PXE booting tutorial is perfect except the default pxelinux config filename : default~~.cfg~~
Oh - sorry! But thanks for the bug report, I updated the tutorial.
-
done (perhaps)
Worked with 3 CF (8 MB, 1 GB, 2 GB)
The procedure is (obviously) linear and clear.
What you need: The Freedos ISO, burned on a CD.
Start with the ISO, with a CF reader attached.
1 for Boot from CD, 5 for start freedos
Go to Freedos\setup\odin
fdisk. no support for FAT32 (I think it lacks a FAT32 support in my procedure, I saw something for this, but I think irrilevant). Delete the existing partition, create a new one, make it active.
Reboot, 1 for Boot from CD, 5 for start freedos
Go to Freedos\setup\odin
format c: /sYou can say, this is what it should be. That's right.
Tell me if it works for you
ok, i was able to boot from freedos cd and create bootable cf but when i put it into alix board all it comes up with is ";" … :(
and mine has 0.98 not even 0.98b -
It took me 2 days to find a way to update the bios of my alix w/o a 128cf :S
I followed the instruction for creating a bootable disk for syslinux (second part) on http://ben.franske.com/blogs/bensbits.php/2007/08/21/booting_dos_from_a_usb_flash_drive
after copying the bios update files to the cf - it booted fine, but asked me to enter the full path to the command-interpreter - instead of command.com i gave him sb.com. voila! flashing started and finished with an ok.
now my alix works with RC3.
I used a 46MB CF - formatted it with FAT instead of FAT32
Thank you so much, Felixh!!
I succeeded in freedos booting and bios update with the first instruction, "Instructions for the FreeDOS direct boot method". I made a 16MB cf image to share it with everyone who has alix bios update problem.
http://210.109.84.3/download/freedos_alixupdate_16.img
You can download and write it to any cf card with 'physdiskwrite'. This image includs the 0.98g bios update files for Alix2. If you have Alix2, just execute 'sb.com' after freedos boot up. If you have others you can replace alix1.bin with alix0.bin or alix2.bin. You can get the bios update file from http://www.pcengines.ch/alix2.htm.
Pls note that you should chage CHS mode to LBA mode at alix bios setting if you face 'Error' message.
I tested this image with saveral cf cards. All they worked well. I think you can use any cf card that is bigger than 16MB.
-
I can verify Sbyoon's method for updating the ALIX bios does indeed work!
I just updated my ALIX2 board using his image on a 64-meg SanDisk CF card without any issues. I performed the second upgrade on a second board using a 128-meg SanDisk CF card.
The only thing, as is noted in sbyoon's post, is to make sure the bios setting for the cf card is set to LBA mode otherwise you will get an error.
While setting up the ALIX for PXE booting over the net is not too difficult (have done it too) I find having a CF card with the bios upgrades to be a much quicker way to upgrade the bios with a lot less hardware involved :)
Great work all!!
gm…
-
i second Sbyoon's recommended instructions. I just downloaded the file he put up online and it ran like a charm!
Remember to change your BIOS settings to LBA to be sure the freedos Bios update works. Afterwards, your serial port settings will go back to the 38400 speeds. At that point, go into the Bios and change it to 9600 and pop your CF card with pfsense on it and away you go.
-
confirmed, it works! ;D
thanks and respect to sbyoon for make this image public!!!!
-
Great work DoubleK!!
Was at this for HOURS. I think I may have gotten a DOS prompt once or twice but in my exhaustion and frustration, never thought to automate the bios update through a startup script. Regardless, thanks for bringing it all together!
-
sbyoon: You're a true hero!
Thanks to you I have managed to upgrade bios. But I'm sorry to say that upgrading didn't cure the core problem. pfSense still won't boot. But now the bootproblem is different though. ;-)
I have used RC3 and the latest snapshot, both with the same result: page fault at kernel level and panic.
I guess I should have grabed the 0.92 version while it was still available at pcengines.ch and downgraded…
/Roger
-
sbyoon: You're a true hero!
Thanks to you I have managed to upgrade bios. But I'm sorry to say that upgrading didn't cure the core problem. pfSense still won't boot. But now the bootproblem is different though. ;-)
I have used RC3 and the latest snapshot, both with the same result: page fault at kernel level and panic.
I guess I should have grabed the 0.92 version while it was still available at pcengines.ch and downgraded…
/Roger
Hi Roger,
Weird that you're still having an issue. In case you want the 0.92 bios, you can still downloaded it. It is located here:
http://www.pcengines.ch/file/alixb092.zip
Enjoy :)
-
Hi Roger,
Weird that you're still having an issue. In case you want the 0.92 bios, you can still downloaded it. It is located here:
http://www.pcengines.ch/file/alixb092.zip
Enjoy :)
Hi!
1. Confirm that the update image above works - really great job - now i am running 0.98g on alix2.c1
2. Confirm that pfsense still got hung while rebooting with the image from
http://snapshots.pfsense.com/FreeBSD6/RELENG_1_2/embedded/1024/pfSense-1024MB.img.gzRebooting…
Keyboard reset did not work, attempting CPU shutdownFatal double fault:
eip = 0xc083f643
esp = 0xc7d44c94
ebp = 0xc7d44c94
panic: double fault
Uptime: 20m8s
Cannot dump. No dump device defined.
Automatic reboot in 15 seconds - press a key on the console to abort
Rebooting...
Keyboard reset did not work, attempting CPU shutdown... and hangs forever. :-(
3. Confirm that pfsense boots (does not stop at DHCP message) and reboots with this image
http://pfsense.basis06.com/download//downloads/pfSense-1.2-RC3-Embedded.img.gz
but also gets in trouble during reboot:ukphy0: detached
miibus0: detached
ukphy1: detached
miibus1: detached
ukphy2: detached
miibus2: detached
Rebooting...
Keyboard reset did not work, attempting CPU shutdown
kernel trap 12 with interrupts disabledFatal trap 12: page fault while in kernel mode
fault virtual address = 0xc3fb0000
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc05ef0aa
stack pointer = 0x28:0xc7d44c04
frame pointer = 0x28:0xc7d44c0c
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 1 (init)
trap number = 12
panic: page fault
kernel trap 12 with interrupts disabledFatal trap 12: page fault while in kernel mode
fault virtual address = 0xc196ece8
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc061ab4a
stack pointer = 0x28:0xc7d44b1c
frame pointer = 0x28:0xc7d44b4c
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 1 (init)
trap number = 12
panic: page fault
kernel trap 12 with interrupts disabledFatal trap 12: page fault while in kernel mode
fault virtual address = 0xc196ece8
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc061ab4a
stack pointer = 0x28:0xc7d44a34
frame pointer = 0x28:0xc7d44a64
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 1 kkkk
Fatal double fault:
eip = 0xc0634fb1
esp = 0xc7d44008
ebp = 0xc7d4401c
panic: double fault
Uptime: 9m19s
Cannot dump. No dump device defined.
Automatic reboot in 15 seconds - press a key on the console to abort
PC Engines ALIX.2 v0.98g
640 KB Base Memory
130048 KB Extended MemoryLooks to me that the kernel or the bios still has a serious bug. Maybe I try tinyBIOS 0.92
Bye,
eweri -
Weird that you're still having an issue.
it is weird. mine works with 0.98g and latest 1.2rc3 release from Dec 02
i had kernel panic right after upgrade but it works now. -
sbyoon,
You da man! Others have said it before, but you are a true hero. Thanks!!!
My disappointment of not being able to put my newly acquired ALIX board in service is gone. Works like a charm now. :)
It would be good to write this up and put it on the Wiki. I'll try to do that in the next day or two so future users won't have to hunt and peck as much.
-
razor2000:
Thanks for the URL!eweri:
I haven't compared every bit and piece of your post with my experiences, but it seems that we have identical problems. I doubt that I will have time to continue with this today, but later on this week I will try bios 0.92.I will let you know…
/Roger
-
I can confirm no difficulties with :
-
pfSense 1.2 RC3 built on Mon Nov 26 11:20:37 EST 2007
-
Alix latest bios available (0.98g)
I'm using full version (with Microdrive) not the embedded image.
Regards
-
-
I can confirm no difficulties with :
-
pfSense 1.2 RC3 built on Mon Nov 26 11:20:37 EST 2007
-
Alix latest bios available (0.98g)
I'm using full version (with Microdrive) not the embedded image.
Regards
Hello luma!
You don't have any trouble with reboot?
How can I put a full version onto an 1GB CF with output to a seriell console port?Maybe I install pfsense into a VM on my MacBook Pro and after that copy it to the CF? Will this work?
Bye,
eweri -
-
Success with bios 0.92 and 1.2-RC3 embedded! :)
But, what I saw in the 0.92 ZIP made me suspicious:
There are several bin-files in there: alix0*.bin for alix1 boards, alix1*.bin for alix2 boards and alix2*.bin for alix3.
In the 0.98g ZIP there are only two bin-files: alix1.bin and alix2.bin, without any specific documentation. As I have alix2 boards I naturally asumed that I should use alix2.bin from the 0.98g ZIP. But following the logic from the 0.92 docs maybe I should have used alix1.bin???
Or have I misunderstood the whole thing? Perhaps I should have put all the bin files on the freeDOS CF and let SB.COM autodetect which one to use?
/Roger
-
Hello luma!
You don't have any trouble with reboot?
How can I put a full version onto an 1GB CF with output to a seriell console port?Maybe I install pfsense into a VM on my MacBook Pro and after that copy it to the CF? Will this work?
Bye,
eweriHello Eweri,
I have to investigate for reboot. It seems working, I can't serial connect at the moment.
Here is the solution for full install (I wrote the last part, Using VirtualBox) :
http://devwiki.pfsense.org/FullInstallOnWRAPBut it's not a good idea on CF! CF don't support too much write cycle! You are warn!
Bye
-
Or have I misunderstood the whole thing? Perhaps I should have put all the bin files on the freeDOS CF and let SB.COM autodetect which one to use?
/Roger
well I just typed "sb" and return and it started updating. I did not select any file.
Bye,
eweri