Kernel compiles, but doesn't _quite_ run.

Discussion in 'Kernels' started by andypugh, Jan 10, 2014.

  1. andypugh

    andypugh New Member

    Nov 28, 2013
    Likes Received:
    I have managed to successfully compile and launch the kernel from the git archive.
    There are a couple of quirks in the SSD Ubuntu image that make it slightly tricky to do a native-compile, for example u-boot-tools appears to be a broken install in the inage file, and I have found that I need to completely remove all the u-boot packages with the graphical package manager, then reinstall the uImage maker.

    However, compiling the standard kernel is not what I wanted to do, I wanted to compile a 3.0.15 kernel, downloaded from Freescale, as that is the one that the comment in the Xenomai kernel patches suggests.

    Initially I just downloaded the kernel files, and tried to compile without any patches. There was a strange quirk with a built-in video capture driver and some undeclared functions (even though the file had the right #includes) but eventually I got what looked like a complete compile of kernel, uImage and modules.
    make modules_install created a lib/modules/3.015 directory to match the existing 3.0.35. I copied the uImage to /boot, and restarted. The serial terminal output was:

    U-Boot 2013.10-rc3-svn109 (Nov 27 2013 - 17:36:22)

    CPU: Freescale i.MX6Q rev1.2 at 792 MHz

    Reset cause: POR

    Board: UDOO

    DRAM: 1 GiB

    MMC: FSL_SDHC: 0

    *** Warning - bad CRC, using default environment

    No panel detected: default to LDB-WVGA

    Display: LDB-WVGA (800x480)

    In: serial

    Out: serial

    Err: serial

    Net: using phy at 6


    Warning: failed to set MAC address

    Hit any key to stop autoboot: 5  4  3  2  1  0

    mmc0 is current device

    ** File not found boot.scr **

    4178944 bytes read in 374 ms (10.7 MiB/s)

    Booting from mmc ...

    ** File not found imx6q-udoo.dtb **

    ## Booting kernel from Legacy Image at 12000000 ...

    Image Name: Linux-3.0.15

    Image Type: ARM Linux Kernel Image (uncompressed)

    Data Size: 4178880 Bytes = 4 MiB

    Load Address: 10008000

    Entry Point: 10008000

    Verifying Checksum ... OK

    Loading Kernel Image ... OK

    Starting kernel ...

    This all looks completely normal, right up to Kernel boot, then nothing else happens.

    I am wondering if I have missed out a step? The arch/arm/boot folder contains a script that seems to do a little more than plonk the new uImage in /boot. It seems to do something with a file, for example.

    I would be interested in any suggestions of things to fiddle with.
  2. dewy721

    dewy721 New Member

    Nov 28, 2014
    Likes Received:
    I know it sounds kinda odd Andy; but rather than all the trouble and potential hair loss just to get a real-time kernel going, would a "LinuxCNC Pure Simulator" build work instead?
    Since the Udoo doesn't have an LPT port to drive with all the realtime constraints, and the Sam3X shares a boatload of pins, why not offload the motion control over to the arduino side and use SPI to communicate.

    That way you could make a py script to dump whatever variables over the fence so to speak.

    I'd be happy to help on the Arduino-side if you'd like.

Share This Page