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

    Can't load kernel: Fit-PC

    Problems Installing or Upgrading pfSense Software
    4
    28
    15.7k
    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.
    • S
      sustech
      last edited by

      I am trying to install pfSense on a Fit PC, but have come accross the "can't load Kernel" error that I have seen reported before.
      I have downloaded the latest iso and burned using Nero at different speeds with no difference.
      I popped my Smoothwall cd in and it wanted to install without a problem, but I had settled on using pfsense.
      I am a complete novice with linux so if there is any tweeking of files, please explain carefully.
      I have looked at the http://devwiki.pfsense.org/wikka.php?wakka=BootTroubleShooting page and it doesn't help me much.

      Thanks.

      1 Reply Last reply Reply Quote 0
      • W
        wallabybob
        last edited by

        I presume you mean a "Fit PC" as described on http://www.fit-pc.com/new/specifications.html

        I presume you have been attempting to boot off a USB connected CD ROM.

        What version of pfSense are you trying to install? If I recall correctly there was some problem with booting off USB devices in pfSense 1.2. If you haven't already done so it would be worth trying one of the recent 1.2.1 RC kits. I have successfully booted these from a USB connected CD ROM and installed to a USB connected notebook drive.

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

          Yes, Fit PC as specs.

          I have the latest version off the pfsense web site. I am using a USB connected CD ROM.

          How do I utilise the RC kits? There doesn't seem to be any iso images that I can use, only iso.gz, what ever they are.

          Thanks.

          1 Reply Last reply Reply Quote 0
          • dotdashD
            dotdash
            last edited by

            That's a gzipped iso. You could use Winzip or similar to unzip it to a burnable iso.

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

              OK, downloaded rc kit, extracted to disc. It now gets past the previous kernel error but now has a hard time with something else, the cd I think.

              cam status: SCSI status error.

              I get the above, with lots of other stuff over and over for about 5 or six times then stops at a command prompt asking for the full pathname for the shell.

              What?

              Placed Smoothwall 3.0 into the cd and installed without a hitch, so it can't be the cd drive. It must be how freebsd drives it. Any ideas?

              1 Reply Last reply Reply Quote 0
              • W
                wallabybob
                last edited by

                It may help if you gave a bit more detail. The surrounding error messages might add some necessary context to the message you quoted.

                I presume FreeBSD actually booted and started. If so, the whole output from the start of FreeBSD could be useful. It sounds as if you are probably getting the operating system booted and then it encounters trouble when it tries to mount the root file system on the CD. I suspect the BIOS is involved in getting the OS into memory but once the OS is loaded it starts to use its own drivers. Perhaps this box has a "new" chipset or there is some nuance FreeBSD hasn't enountered before.

                USB attached mass storage devices in FreeBSD use the SCSI CAM (Common Access Method) layer.

                1 Reply Last reply Reply Quote 0
                • W
                  wallabybob
                  last edited by

                  Just thought of another possibility. A few weeks ago I bought a few USB adapters for notebook 2.5inch drives. They all worked on Windows 2000 and Linux 2.6.20+something. Some worked on FreeBSD 7.0 (Initio chipset) and some didn't (Super Top chipset). While looking through the Linux software supporting USB attached mass storage I noticed a considerable number of devices listed as having some "quirk" requiring software fixup. The comparable FreeBSD sources have a considerably shorter list. Its possible your USB CD has a "quirk" Linux works around but FreeBSD doesn't.

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

                    cam status: SCSI status error.

                    I get the above, with lots of other stuff over and over for about 5 or six times then stops at a command prompt asking for the full pathname for the shell.

                    What?

                    This is classic sh1tty CD, I've seen it many times when trying to breath life into an old heap - re-burn the CD or use a better drive that can recover from the miss-read eg DVD-Writer IMHO  ;)

                    Author of pfSense themes:

                    DARK-ORANGE

                    CODE-RED

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

                      I have burned the cd more than once, using different speeds. The reading usb drive is a brand new liteon dvd/cd writer/rewriter.

                      1 Reply Last reply Reply Quote 0
                      • W
                        wallabybob
                        last edited by

                        A FreeBSD system disk can generally be taken from one system and used in another. It won't necessarily be useful immediately, for example with pfSense the interface names may change because the systems have different NICs but that can be fairly easily resolved by doing a reconfiguration.

                        I suggest you install to a "hard drive" on another computer, then put that "hard drive" into your Fit PC, boot, reconfigure the LAN and WAN interfaces then do any subsequent configuration from the web GUI.

                        Do you have access to another PC which either doesn't have a hard drive or has a hard drive you are prepared to temporarily disconnect or has a hard drive for which you are prepared to run the risk that a typing error might result in loss of all files on that drive? If you can't answer yes to at least one of these alternatives don't act on this suggestion. This PC also probably needs at least one network interface.

                        Do you have a USB flash drive (or flash media card with appropriate reader) of at least 1GB capacity. pfSense is going to be installed to this drive so if it has any files you want to preserve you must backup those files before starting this procedure.

                        Plug in the USB flash drive to the "non Fit" PC. Being a cautious person you have probably disconnected the hard drives from this system. If not, consider carefully whether you want to proceed. Configure this PC to boot from the CD, and boot the pfSense CD. When prompted select the option to install to hard disk and make sure the installation is going to a da drive (most likely da0). (FreeBSD calls SCSI disks and USB mass storage disks da followed by a unit number, eg da0, da1, da4 etc).

                        When installation is complete shutdown the "non Fit" PC, remove the USB drive and plug it into the "Fit PC". Start this PC and configure the BIOS to boot off USB hard drives. pfSense should then startup and will probably want you to configure the interfaces. Complete your configuration to the point where you can access pfSense through the web GUI. You will then use the web GUI to copy from the USB drive to the hard drive of the Fit PC and edit a system file so you will then be able to boot of the Fit PC's hard drive.

                        I have glossed over some of the details. If you want to go ahead with this I'll step through it myself so I can flesh out some of the details for you. If you have questions about any of this please ask.

                        I'm assuming you won't run into any quirks with USB flash drives or USB memory card reader of the sort I mentioned in an earlier reply. My experience has been 100% success with USB flash drives and memory card readers on FreeBSD 6.3 and 7.0 but only 67% for USB adapters for notebook drives - but both figures are  a very small sample of what is available.

                        I used Smoothwall up until a few months ago. I think its great for beginners but I appreciate the wireless support in pfSense, its single configuration file, more up to date hardware support and greater range of capabilities. Hope I can welcome you to pfSense within a few days.

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

                          Thanks wallabybob.

                          I will get myself a USB flash drive as soon as I can. I have a spare PC that I can use to do the work you have outlined. I will let you know when I have it.

                          1 Reply Last reply Reply Quote 0
                          • W
                            wallabybob
                            last edited by

                            I have some time now so I'll make some notes on the first part of the process: installation of pfSense to a USB drive.

                            I went through this on a couple of different systems: An old desktop with a 450MHz Pentium II and a Laptop with a 1.6GHz P4 or later (I don't recall exactly).

                            You will need at least one network interface supported by pfSense. I did the installation to a 1GB Compact Flash card I had and used a USB card reader device that supports multiple types of memory cards. A USB flash drive should be just as suitable.

                            Most of this description applies to the installation on the PII. On pfSense boot it reported "Network interface mismatch", reported the interfaces (in my case fxp0 and plip0) then asked:

                            Do you want to setup VLANs first?

                            Answer "Y". (This is just so we can proceed to the real installation, you'll fix this up when you boot from the USB drive.)

                            Then it asks:

                            Do you wan to set up VLANs now?

                            Answer "Y"

                            Then it will report VLAN capable interfaces (in my case fxp0) and ask:

                            Enter the parent interface name for the new VLAN (or nothing if finished):

                            I answered "fxp0".

                            Then it asks:

                            Enter the VLAN tag (1-4094):

                            I entered "1" (it doesn't matter what in-range number you give).

                            Then the parent interface name question is repeated (I answered "fxp0" again) and the VLAN tag (I answered "2".)

                            Then the third time i just tapped the "enter" key to indicate I had finished entering VLAN information.

                            Then I was asked:

                            Enter the LAN interface name or 'a' for auto-detection:

                            I typed "vlan0".

                            Then I was asked:

                            Enter the WAN interface name or 'a' for auto-detection:

                            I typed "vlan1".

                            Then I was asked

                            Enter the Optional 1 interface name or 'a' for auto-detection (or nothing if finished):

                            to which I just tapped the enter key

                            then

                            Do you want to proceed [y|n]?

                            to which I typed "y" (alsotype a "y" or an "n" to this sort of question otherwise you will go back in the dialogue) then a few minutes later after a number of lines of configuration reporting and starting various components the pfSense console setup menu appeared. If your USB drive is not yet plugged in, plug it in.
                            Then I typed "99" to "install pfSense to a hard drive/memory drive, etc."

                            Then you will enter a different installer where you will need to use the arrow keys to navigate and enabled options are marked by "X" and the space bar is used to toggle between "enabled" and "disabled". In the installer you will be show a number of progress bars. These generally do not advance smoothly (more on this later).

                            Use the arrow keys to accept the defaults then the enter key to get to the next screen. Select Cancel for configuring network, then select Install pfSense and then you should see a "Select a Disk" box. This box should include a "Removable Direct Access SCSI-2 device" named da0 (likely if using a USB flash drive) or da1 or da2 or … (possible if you are using a USB memory card like SD or CF with a multi-standard memory card reader). DO NOT SELECT an "AD" device - this is likely to be the hard drive of the computer which, to prevent painful accidents, you should have disconnected earlier.

                            Then Format this disk, Use the suggested geometry, Format da0 (or whatever device you selected earlier), the Partition disk, accept and create the suggested partition (single partition to cover the whole disk) then Select partition 1, and confirm you are sure.

                            The next thing to be specified is the sub-partitions. The "swap" "mountpoint" will default to size of memory - this should be reduced to the size of the Fit PC memory (256MB?) the select "Accept and Create". Then the box "Executing Commands" appears and the progress bar moved fairly quickly to 37% and 43% but stayed on 43% for six minutes then quickly jumped to 68%. Then The Install Kernel(s) box appears, select the Uniprocessor kernel, then "Install Bootblocks". Use the arrow keys to move over to any box with an X in it (except for a "da" drive. You want to install bootblocks only on a "da" drive. (But you had previously disconnected the ad drive(s), right?). Select Accept and Install Bootblocks, confirm the OK box, wait for the remaining install commands to complete then select Reboot and disconnect your USB drive from the system.

                            You should now be able to boot this drive on the Fit PC Tomorrow night I should be able to add the commands to copy the files from the USB drive to the Fit PC's hard drive.

                            1 Reply Last reply Reply Quote 0
                            • W
                              wallabybob
                              last edited by

                              Sorry to have taken so long to get back to this. This section boots off the USB drive to which pfSense was previously installed.

                              Plug that USB drive into the Fit PC. If necessary adjust the BIOS to boot from the USB drive. Boot the Fit PC. At the pfSense Console Setup menu select option 1 to setup the FitPC interfaces the way you want them, select option 2 to set a LAN address then, if you haven't already done so, connect your Fit PC to the LAN and record the details of how to connect to the pfSense web server as described in the console output which appers after you setup the LAN address.

                              Back at the pfSense Console Setup menus select option 8 (Shell command).

                              Type

                              lmount

                              and you should see something like

                              mount

                              /dev/da0s1a on / (ufs, local)
                              devfs on /dev (devfs, local)
                              /dev/md0 on /var/run (ufs, local)
                              devfs on /var/dhcpd/dev (devfs, local)

                              which confirms the boot device is /dev/da0. This will be the source device for the copy onto the hard drive.

                              Type

                              ls /dev/ad*

                              and you should see something like

                              $ ls /dev/ad*
                              /dev/ad0

                              Depending on what was done to the hard drive (such as what OS was put there)  you may see additional lines like

                              /dev/ad0s1
                              /dev/ad0s2
                              /dev/ad0s3

                              This confirms the hard drive is /dev/ad0. This will be the destination device for the copy of the pfSense installation onto the hard drive.

                              Type

                              dd if=/dev/da0 of=/dev/ad0

                              where if= specifies the source file (USB drive) for the copy and of= specifies the destination file (hard drive) for the copy. This command will do a sector by sector copy from the USB drive to the hard drive copying the disk partition table, boot loader, file system data and files to the hard drive. This will take a few minutes (depending on the size and speed of the USB drive and speed of hard drive) to report back. When it completes you should see something like:

                              dd if-/dev/da1 of=/dev/ad0

                              1981728+0 records in
                              1981728+0 records out
                              1014644736 bytes transferred in 2079.044532 secs (488034 bytes/sec)

                              You can (optionally) considerably speed up the transfer by copying multipe sectors at a time by appending bs=16384 to the dd command above.

                              The last remaining thing to do is to edit a system file so that FreeBSD knows the swap area and file systems are now on the hard drive (ad0) rather than the the USB drive (da0). But you want to change the file on the hard drive, not the file on the USB stick so give the command

                              mount /dev/ad0s1a /mnt

                              which will make the hard drive's file system visible at /mnt in the directory tree. The easiest way to edit the file is through the web GUI so follow the previously recorded instructions for connecting to the pfSense box. The configuration wizard will start. You can follow that through (though it will configure to your USB stick, not the hard drive) then from the Diagnostics menu click on Edit File. In the Save/Load from Path: box type /mnt/etc/fstab, click the Load button and you should see something like

                              Device                Mountpoint      FStype  Options       Dump    Pass#

                              /dev/da0s1a          /                ufs    rw             1          1
                              /dev/da0s1b          none              swap    sw              0          0

                              On the second and third lines change da0 to ad0 then click the Save button.

                              On the Diagnostics menu click on Halt system. When the system has halted, remove the USB drive, restart, (if necessary) adjust the BIOS to boot from the hard drive and boot.

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

                                Thanks wallabybob,

                                I got my usb drive today and will attempt your method over the weekend.

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

                                  Tried it. First section OK, loaded onto usb stick.
                                  Can't get fit-pc to boot off it though, error 170 lba0.

                                  I will try the first section again, but it don't look good if I can't boot off the usb port.

                                  Should I be trying the 1.2 or the rc 1.2.1?

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

                                    Sorted out the first problem, don't use a pc who's power supply is on the way out.
                                    Finally made bootable usb stick.
                                    Fit-pc boots off it, but runs into problems while it is going through the starting bits.

                                    ad0: FAILURE - READ_DMA timed out LBA=117210223
                                    ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=117210223

                                    It does this for the above LBA for a couple more times then changes that value to 128, then 16, 0, 512, 64 then I gave up.

                                    Any ideas?

                                    Using RC 1.2.1.

                                    Smoothwall is looking fairly good at the moment.

                                    1 Reply Last reply Reply Quote 0
                                    • W
                                      wallabybob
                                      last edited by

                                      Try booting in "safe mode" (option 3). This is an easy way to boot without DMA enabled on the hard drive. If you can get past that then a system file can get tweaked to routinely disable DMA on boot.

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

                                        I don't get any options to choose from. Only F1 FreeBSD.

                                        How do you get the options. I have tried googling but have come up with nothing.

                                        1 Reply Last reply Reply Quote 0
                                        • W
                                          wallabybob
                                          last edited by

                                          OK, forget option 3 for now.

                                          In the startup you should see

                                          FreeBSD/i386 bootstrap loader, revision 1.1

                                          then a few more lines then

                                          Hit [Enter] to boot immediately, or any other key for command prompt

                                          then hit a key (other than enter) to get the command prompt. You'll see a couple more lines of output then

                                          Type ? for a list of commands, 'help' for more detailed help
                                          OK

                                          then type

                                          set hw.ata.ata_dma="0"

                                          which will tell the ATA driver to not use DMA mode then type the command

                                          boot

                                          to boot the default kernel.

                                          If this gets the default kernel started and you complete configuration then you should edit /boot/loader.conf to include the line

                                          hw.ata.ata_dma="0"

                                          so you don't have to keep typing that at boot time.

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

                                            Naaaaaaa, not this time.

                                            panic no init
                                            cpuid=0
                                            Uptime=6s
                                            Cannot dump no dump device defined.

                                            Then reboots.

                                            It also gives a couple of GEOM errors for ad0, something about boundries???

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