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.4k 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

      @Issacsim:

      OK, got it working with "File Copy" Option from http://www.pcengines.ch/freedos.htm on a 2GB SanDisk

      Good to hear that, but how did you manage it? Can you please give a hint?
      I tried it yesterday night (for >6 hours…) with all kind of cards (1GB SanDisk ExtremeIII, 2GB SanDisk normal, 1 GB no-name) - without any results.
      Using the syslinux method (http://ben.franske.com/blogs/bensbits.php/2007/08/21/booting_dos_from_a_usb_flash_drive) I got a boot prompt and a "Loading FreeDOS" - but that's it.

      To anyone who already booted FreeDOS: can I expect any FreeDOS output at the serial console? Or will there just be nothing? Would I have to update the BIOS using autoexec.bat/fdauto.bat?

      @thx2000:

      Has anyone had any success (or know if it's possible) to create a netboot image for freedos?  I tried dozens of times in a variety of different configurations to make it work all to no avail.  However, I think if there was a way to pull it off it might lend itself better to people who don't have a compatible CF card.

      After throwing my CF cards at the wall ;) I also tried the PXELINUX way. I already have DHCP and TFTP running here, so this wasn't too much action. But I don't get very far this way - my ALIX gets an IP address via DHCP, loads the pxelinux.0, then the pxelinux.cfg/default, and that's it. Some PXELINUX prompt appears, but nothing more - no more TFTP requests (not even for the memdisk image). Here's my default config file for PXELINUX:

      
      SERIAL 0 38400 0
      timeout 50
      default fdos
      prompt 1
      say PXE_2
      
      label fdos
        kernel memdisk
        append initrd=fdboot.img
      
      

      Leaving the SERIAL option away doesn't help; the 'say' command was used just for debugging, but I don't even see that at the console. :(
      A minimalistic config file (containing only the last three lines) showed no different behaviour.  ???

      My board is an ALIX2.3 with Bios 0.98b. This afternoon I'll have a look at a computer store around the corner if they have some 128 meg CFs.
      UPDATE: no-one here still has that small CF cards… I'll have to buy one at eBay. Must be patient...  :-\

      1 Reply Last reply Reply Quote 0
      • V
        vangual
        last edited by

        @DoubleK:

        To anyone who already booted FreeDOS: can I expect any FreeDOS output at the serial console? Or will there just be nothing? Would I have to update the BIOS using autoexec.bat/fdauto.bat?

        The freedos cf supplied from pcengines boots with some lines serial output and ends in a command line prompt (forgot if it was A:> or C:>). After which you can manually execute the sb binary via the serial command prompt.

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

          I have had the same experiences as most of you:

          • tried "all" methods
          • tried several types of cards
          • no success (hangs at loading FreeDOS)

          The most interesting observation is that I found a 128MB card with the right C/H/S geometry. Not even that one worked.

          Now I have surrendered and ordered a preinstalled CF.

          /Roger

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

            @bjorktorp:

            The most interesting observation is that I found a 128MB card with the right C/H/S geometry. Not even that one worked.

            Now I have surrendered and ordered a preinstalled CF.

            Did you use physdiskwrite as for the pfsense? In the bios settings LBA needs to be disabled so in CHS mode!
            C CHS mode (L) LBA mode (W) HDD wait (V) HDD slave (U) UDMA enable

            OK, my card was from pcengines, but without the dos…

            1 Reply Last reply Reply Quote 0
            • F
              fridaynoon
              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

              1 Reply Last reply Reply Quote 0
              • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.