Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    PCEngines alix2c3 (Substitute for WRAP) boot failes

    Scheduled Pinned Locked Moved Hardware
    158 Posts 44 Posters 121.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      DoubleK
      last edited by

      Cool :) I'll give it a try (CD is being burned right now).

      However, just two minutes ago I got my ALIX 2.3 booted via PXE into FreeDOS  ;D
      Only problem: no input possible (I see the "A:" prompt, but can't input anything). BIOS update via fdauto.bat should be possible though.
      I'll check this, and then post a short tutorial here. (have enough boards to be updated here)

      1 Reply Last reply Reply Quote 0
      • D
        DoubleK
        last edited by

        @fridaynoon:

        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> 
        
        1 Reply Last reply Reply Quote 0
        • L
          luma
          last edited by

          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!

          1 Reply Last reply Reply Quote 0
          • D
            DoubleK
            last edited by

            @luma:

            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.

            1 Reply Last reply Reply Quote 0
            • C
              covex
              last edited by

              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: /s

              You 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

              1 Reply Last reply Reply Quote 0
              • S
                sbyoon
                last edited by

                @felixh:

                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.

                1 Reply Last reply Reply Quote 0
                • G
                  gmckinney
                  last edited by

                  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…

                  1 Reply Last reply Reply Quote 0
                  • R
                    razor2000
                    last edited by

                    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.

                    1 Reply Last reply Reply Quote 0
                    • C
                      covex
                      last edited by

                      confirmed, it works!  ;D

                      thanks and respect to sbyoon for make this image public!!!!

                      1 Reply Last reply Reply Quote 0
                      • T
                        thx2000
                        last edited by

                        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!

                        1 Reply Last reply Reply Quote 0
                        • B
                          bjorktorp
                          last edited by

                          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

                          1 Reply Last reply Reply Quote 0
                          • R
                            razor2000
                            last edited by

                            @bjorktorp:

                            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 :)

                            1 Reply Last reply Reply Quote 0
                            • E
                              eweri
                              last edited by

                              @razor2000:

                              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.gz

                              Rebooting…
                              Keyboard reset did not work, attempting CPU shutdown

                              Fatal 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 disabled

                              Fatal 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 disabled

                              Fatal 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 disabled

                              Fatal 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 Memory

                              Looks to me that the kernel or the bios still has a serious bug. Maybe I try tinyBIOS 0.92

                              Bye,
                              eweri

                              1 Reply Last reply Reply Quote 0
                              • C
                                covex
                                last edited by

                                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.

                                1 Reply Last reply Reply Quote 0
                                • M
                                  mlanner
                                  last edited by

                                  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.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    bjorktorp
                                    last edited by

                                    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

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      luma
                                      last edited by

                                      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

                                      1 Reply Last reply Reply Quote 0
                                      • E
                                        eweri
                                        last edited by

                                        @luma:

                                        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

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          bjorktorp
                                          last edited by

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            luma
                                            last edited by

                                            @eweri:

                                            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

                                            Hello 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/FullInstallOnWRAP

                                            But it's not a good idea on CF! CF don't support too much write cycle! You are warn!

                                            Bye

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.