ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Ltib] Ltib - Unable to open an initial console


From: Kevin Wells
Subject: RE: [Ltib] Ltib - Unable to open an initial console
Date: Fri, 30 Apr 2010 23:53:38 +0200

Hi Henry,

 

There is a patch (update7) up there now that handles both machines IDs. You might need to update your

CVS tree to get the kernel spec update that downloads it. It will add both the LPC3XXX and the PHY3250

machines IDs to the board files.

 

thanks,

Kevin

 

From: address@hidden [mailto:address@hidden On Behalf Of Li Yuan-Lung
Sent: Friday, April 30, 2010 1:10 AM
To: Kevin Wells
Cc: Péter; address@hidden
Subject: Re: [Ltib] Ltib - Unable to open an initial console

 

Dear Kevin,

Yes, I used the LPC32xx board.

As your suggestion, I reviewed the deployment.txt and enable CONFIG_DEBUG_LL option.

 

Then I got these messages:

Starting kernel ...

Uncompressing Linux............................................................................. done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x000009cf).

Available machine support:

ID (hex)        NAME

000002e0        Phytec 3250 board with the LPC3250 Microcontroller

Please check your kernel config and/or bootloader.

 

I decided to upgrade the machine ID to be PHY3250

After checking the source code, I found 2 steps to work around.

 

(1) /arch/arm/mach-lpc32xx/board-phy3250.c

     Change

          MACHINE_START (LPC3XXX, "Phytec 3250 board with the LPC3250 Microcontroller")

     To

          MACHINE_START (PHY3250, "Phytec 3250 board with the LPC3250 Microcontroller")

 

(2)/include/asm-arm/mach-types.h

    Add

        #define MACH_TYPE_PHY3250              2511

    Change

        #ifdef CONFIG_MACH_LPC3XXX

        # ifdef machine_arch_type

        #  undef machine_arch_type

        #  define machine_arch_type     __machine_arch_type

        # else

        #  define machine_arch_type     MACH_TYPE_LPC3XXX

        # endif

        # define machine_is_lpc3xxx()   (machine_arch_type == MACH_TYPE_LPC3XXX)

        #else

        # define machine_is_lpc3xxx()   (0)

        #endif

    To

        #ifdef CONFIG_MACH_LPC3XXX

        # ifdef machine_arch_type

        #  undef machine_arch_type

        #  define machine_arch_type     __machine_arch_type

        # else

        #  define machine_arch_type     MACH_TYPE_PHY3250

        # endif

        # define machine_is_lpc3xxx()   (machine_arch_type == MACH_TYPE_PHY3250)

        #else

        # define machine_is_lpc3xxx()   (0)

        #endif

 

Am I correct?

Thank you for your advising!

 

Henry

2010/4/29 Kevin Wells <address@hidden>

 

Hi Henry,

 

Is this with the 31xx or 32xx board? Or is it the a404 board?

Also, is the kernel running when you lose the console?

 

If it's the LPC32xx…then please keep reading.

 

If the kernel is uncompressing and seems to start, but there is no console output, it's possible the machine

IDs used in u-boot and the kernel are different. You can enable the CONFIG_DEBUG_LL option in the

kernel and then try booting the kernel. If the machine IDs are the issue, you'll see a message stating the

difference and the kernel will stop running.

 

The 32x0 kernels recently changed the machine ID from the generic 'LPC3XXX' used for all boards to

PHY3250, EA3250, and FDI3250 depending on which board you use. u-boot was also updated with this

change, so depending on which board's version of u-boot you use, you will get a corresponding

'non-LPC3XXX' machine ID passed via the ATAG list.

 

To allow for some backward compatability, the LPC3XXX is also supported in the kernel here along with the

new machine IDs, so older builds of u-boot with the LPC3XXX machine ID should work fine with the new

kernel builds (as long as the kernel is built via LTIB, the 2.6.34 patches do not have this support!). Note

2.6.34 support is not in LTIB yet.

 

Older build kernels with just the LPC3XXX machine ID support will no longer work with the new version

of u-boot.

 

Just to clear things up, 'older' and 'newer' builds simply refer to u-boot and kernel builds before the machine

ID patch and after the machine ID patch, respectively. The patch that changes these IDs was posted about a

month ago.

 

It’s a bit messy, but it needed to be done, I couldn't release all board variants to mainline with the same

machine IDs. There should be some information about this in the deployment.txt file, but I can understand

that existing users probably wouldn't look at this.

 

Here are the build machine IDs:

                old u-boot.bin -> LPC3XXX for Phytec, Embedded Artist, and FDI boards

                new u-boot.bin -> Either PHY3250, EA3250, or FDI3250 based on the LTIB platform selected

                old uImage -> LPC3XXX for Phytec, Embedded Artist, and FDI boards

                new uImage (2.6.27.8) -> LPC3XXX + one of PHY3250, EA3250, or FDI3250 based on the LTIB platform selected

                new uImage (2.6.34) -> Only one of PHY3250, EA3250, or FDI3250

 

Here are the working combinations

                new u-boot.bin (PHY3250, EA3250, or FDI3250 machine IDs) -> Will not boot older kernel with LPC3XXX machines IDs

                new u-boot.bin (PHY3250 machine ID) -> Only boots newer kernel builds with PHY3250 machine ID

                new u-boot.bin (EA3250 machine ID) -> Only boots newer kernel builds with EA3250 machine ID

                new u-boot.bin (FDI3250 machine ID) -> Only boots newer kernel builds with FDI3250 machine ID

                old u-boot.bin (LPC3XXX machine ID, all boards) -> boots older and newer kernel builds

 

This will probably sting a few people in the short term, but it needed to be done.

 

thanks,

Kevin

 

 

From: henry.li@wonselor.com [mailto:address@hidden] On Behalf Of Li Yuan-Lung
Sent: Wednesday, April 28, 2010 11:13 PM
To: Kevin Wells
Cc: Péter; address@hidden


Subject: Re: [Ltib] Ltib - Unable to open an initial console

 

Dear Kevin,

I have similar problem. Below is the situation:

1. I have ltib image build in early March.(old-uImage, old-rootfs, old-uboot.bin)

2. This week I built a new image from ltib(new-uImage, new-rootfs, new-uboot.bin)

The boot parameter is the same as below:

"console=ttyS0,115200n81 root=/dev/mtdblock3 rw rootfstype=jffs2 init=/sbin/init"

 

The symptom is, after uboot uncompress the linux kernel, I lose my console forever. So I take some combination test as below:

 

(1)new-uboot.bin  (133KB)

     new-uImage-->new-rootfs   (X, not work)

     old-uImage-->old-rootfs      (X, not work)

     new-uImage-->oldrootfs     (X, not work)

     old-uImage-->oldrootfs        (X, not work)

(2)old-uboot.bin (144KB)

     new-uImage-->new-rootfs   (O, work!)

     old-uImage-->old-rootfs      (O, work!)

 

The "not work" condition is the same as the symptom.

 

My conclusion is that maybe there is some modification in u-boot source to affect the boot parameter pass to kernel. But I haven't check that yet. Do you have any comment?

 

Henry

2010/4/29 Kevin Wells <address@hidden>

Hi Peter,

Can you paste the output of the kernel with the error and the cmdline
so we can see what's happening?

thanks,
Kevin



> -----Original Message-----
> From: ltib-bounces+kevin.wells=nxp.com@nongnu.org [mailto:ltib-
> bounces+kevin.wells=nxp.com@nongnu.org] On Behalf Of Stuart Hughes
> Sent: Wednesday, April 28, 2010 12:42 AM
> To: Péter
> Cc: address@hidden
> Subject: Re: [Ltib] Ltib - Unable to open an initial console
>
> Hi Peter,
>
> Make sure you have a /dev/console on your target filesystem similar to
> (i.e 5,1):
>
> crw------- 1 root root 5, 1 2010-04-03 11:38 /dev/console
>
> Make sure you pass (or have as a default) some console device in the
> kernel boot arguments, e.g for the first serial port:
>
> console=/dev/ttyS0
>
> There are many more possibilities, but presumably that BSP should work
> in the default configuration? maybe someone with that board can confirm
> this.
>
> Regards, Stuart
>
> Péter wrote:
> > Hi all,
> >
> > I need some help. I have a NXP board with LH7a404 processor.
> > I build the kernel and root file system. After im booting the kernel,
> always I have
> > a warning message.WARNING: Unable to open an initial console.
> >
> > I looked for any help in web but I dont find the good solution.
> >
> > The kernel is running! I can do all command in etc/inittab. (for
> example:
> > ::sysinit:/bin/ls > example.txt)But I cant runnig my programs (for
> example:
> > hello.out <- this program must create a
> > file and write to the file Hello world!)
> > Can anybody help me? :(
> >
> > Péter
> >
>
>
> _______________________________________________
> LTIB home page: http://ltib.org
>
> Ltib mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/ltib


_______________________________________________
LTIB home page: http://ltib.org

Ltib mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/ltib




--
Best Regards,

Henry Li
SW Engineer of Climax Co.
TEL: +886-2-2794-0001 ext.231
FAX: +886-2-2792-6618




--
Best Regards,

Henry Li
SW Engineer of Climax Co.
TEL: +886-2-2794-0001 ext.231
FAX: +886-2-2792-6618


reply via email to

[Prev in Thread] Current Thread [Next in Thread]