[meta-freescale] minimal DT changes to start booting kernel on D/L board on ttymxc3?
Robert P. J. Day
rpjday at crashcourse.ca
Wed Oct 11 12:47:54 PDT 2017
On Wed, 11 Oct 2017, Otavio Salvador wrote:
> Hello Robert,
>
> On Wed, Oct 11, 2017 at 7:57 AM, Robert P. J. Day <rpjday at crashcourse.ca> wrote:
> >
> > this *should* be a simple question but i just want to make sure i'm
> > not overlooking anything, costing myself hours of aggravation.
> >
> > for a freescale MCIMX6Q-SDB reference board in front of me, i've
> > trivially built a "core-image-minimal" using MACHINE=imx6qdlsabresd,
> > dd'ed the wic image to SD card, and booted perfectly successfully. so
> > i now have a kernel that should cover a wide range of i.MX6 targets,
> > differing only in the .dtb file passed to the kernel at boot time.
> >
> > the only detail of interest is that this board clearly has its
> > console on UART1, as /proc/cmdline contains:
> >
> > # cat /proc/cmdline
> > console=ttymxc0,115200 root=PARTUUID=0b867308-02 rootwait rw
> > #
> >
> > where, as i read it, for i.MX6, the association is:
> >
> > UART1 -> ttymxc0
> > UART2 -> ttymxc1
> > UART3 -> ttymxc2
> > UART4 -> ttymxc3
> >
> > correct? and herein lies the issue.
> >
> > i have recently been handed a proprietary i.MX6-based board, built
> > around dual-lite but, as i've been told, trying to hang onto as much
> > of the MCIMX6Q-SDB design as possible to minimize the churn in the
> > device tree files. still, there's a ton of stuff that's been added to
> > the proprietary board, so certainly the DT files are going to be
> > different and will need major tweaking.
> >
> > what i want to do is start with a generic YP build as above, and
> > just boot using (i'm assuming) "imx6dl-sabresd.dtb" that was built as
> > above; in other words, i already have everything i need from the
> > current build, i just need to stop in u-boot and switch the .dtb file
> > being passed to the kernel.
> >
> > i'm prepared for all sorts of warnings and errors given that the DTB
> > file won't match the actual board, but the fundamental issue is that
> > the console port on this proprietary board was (apparently) moved from
> > UART1 to UART4, since (for this proprietary board and a working but
> > fairly old bootable image) u-boot sets "console=ttymxc3,115200". so my
> > plan is to simply define a new layer (meta-rday or whatever), which
> > defines a new MACHINE, and tweaks the meta-freescale kernel with a
> > single patch that defines UART4 as the console rather than UART1.
> >
> > does that make sense? as i said, the rest of the DT files will
> > certainly be out of whack and i'll start adjusting them as errors come
> > up and i add support for new subsystems, but just to start getting
> > kernel output, is it sufficient to just move the DT console definition
> > from UART1 to UART4? is there anything else that would need to change?
> >
> > oh, and while i'm about to dig into the device trees to see how to
> > do that, if anyone wants to just supply the kernel patch i would need
> > to apply, that would be just ducky. :-)
> >
> > does all this make sense?
>
> Not much ;-)
>
> Generally we do this kind of development using:
>
> - a toolchain and building the U-Boot and Linux kernel outside the OE
> build system as it is way faster, easier and more productive
> - when those are good, we integrate them in a customer layer
> - make a custom machine for the customer on this layer
> - enjoy ;-)
>
> This way you have more control and is not affected by changes on the
> other layers. It is safer and also keeps clear what are the specific
> components of your board.
i understand that, and in a perfect world, that is how i would work,
too but, as they say, that is not the hand i have been dealt. so as
what is basically a proof-of-concept that i can build a YP image that
runs on this board, the only thing i want to change is to move the
console port from UART1 (/dev/ttymxc0) to UART4 (/dev/ttymxc3).
i totally appreciate that lots of stuff won't work until i
methodically start fixing the device tree files but, at the moment, i
want to do nothing more than start booting a kernel and be able to see
the output, even if it crashes and burns partway through the boot, at
which point i'll start fixing stuff one thing at a time.
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
More information about the meta-freescale
mailing list