[U-Boot] bootm does not work if netconsole is enabled

Joe Hershberger joe.hershberger at gmail.com
Wed Apr 10 18:13:57 CEST 2013


Hi Michael,

On Wed, Apr 10, 2013 at 5:07 AM, Michael Walle <michael at walle.cc> wrote:
> On Wed, April 10, 2013 03:51, Joe Hershberger wrote:
>> Hi Michael,
>>
>> I just tested this on my Zynq target and it worked.  However, you make
>> a good point that it is possible for there to be more traces after the
>> eth_halt call.  I can't imagine the stack would like that in all
>> situations (since eth_init() will not be called again by netconsole).
>> I think the solution to this is probably to disable netconsole somehow
>> before the eth_halt command, so subsequent prints do not try to use
>> Ethernet again.  However, most of the things you might switch to are
>> conditional, such as a nulldev or silent.  Any thoughts on how you
>> would like to see it solved?
>
> Hi Joe,
>
> disabling the network console before control is handed over to an
> operating system sounds reasonable.
>
> If i understand you correctly, the network will only be halted once the
> bootloader starts an operating system. Then what do you think about making
> either the nc_send_packet() or nc_putc()/nc_puts() function a noop when
> the network is halted?

It's not quite that simple since the state does not really reflect the
hardware (I know... that's my fault).  I can try to fix this for next
release, but it is probably too risky to put into the April release.
In the mean time a simple work-around is to use silent or nulldev on
your target and turn off netconsole as part of your boot script
(before you bootm).

Cheers,
-Joe


More information about the U-Boot mailing list