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

      @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
                                          • E
                                            eweri
                                            last edited by

                                            @bjorktorp:

                                            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

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