Kernel vs rootfs dependencies, general guidence, newbie

Hi guys,

I’m just about to start up my second try at learning more embedded linux, and got myself a BBB. I’m somewhat unexperienced with embedded linux, but have done some stuff (and reading) earlier: building kernels, applied some patches, building Qt, tslib, gstreamer for angstrom. But I have some doubts now and hope that you may help me with some guidence with a few specific and some more general questions.

My longterm goals is to set up a system where I can run newest Qt, support for display, audio and be able to play with driver and application development.

Where I am:

  • I’ve done some research lately and it seems like I want a newer kernel (3.14 for example) with SGX fixes, (for Qt 5)
  • The only graphical application I want to run is my own custom one, so I feel that “non GUI” Angstrom distro fits better than the supplied Debian distro. But I’m a little clueless regarding the roofs.
  • Earlier I have relied on the distro provided with a development board, now I want better control and understanding.

Is there any dependencies between the beaglebone 3.14 kernel and rootfs?
Is it supposed to run with Debian rootfs only?
Can use the Angstrom build tool(or other method) to build a Angstrom rootfs and use the beaglebone 3.14 kernel “out of the box”?
Is there any version dependencies in the rootfs that I need to worry about?
Is there any benefit to look into yocto for me? It seems a bit overwhelming for me, at least now.

(With beaglebone 3.14 kernel i mean the kernel discussed in: BeagleBone Black switching to 3.14 kernel )

I dont understand all the details yet, but is all the beaglebone specific driver/cape/dts stuff provided with the kernel? Or is there some BSP stuff I need to provide in the rootfs? BSP is per definition a part of the kernel?

I have some books on device drivers and embedded linux from 2.6 kernel era. Is these books still relevant with 3.x kernels? Do you have some keywords regarding important topics that have changed? I guess Device tree is one.

Sorry for a little long and unfocused thread, but I need some direction before I can contribiute more specific.

Any help is very much appreciated!

Hi guys,

I'm just about to start up my second try at learning more embedded linux,
and got myself a BBB. I'm somewhat unexperienced with embedded linux, but
have done some stuff (and reading) earlier: building kernels, applied some
patches, building Qt, tslib, gstreamer for angstrom. But I have some doubts
now and hope that you may help me with some guidence with a few specific and
some more general questions.

My longterm goals is to set up a system where I can run newest Qt, support
for display, audio and be able to play with driver and application
development.

Where I am:
- I've done some research lately and it seems like I want a newer kernel
(3.14 for example) with SGX fixes, (for Qt 5)
- The only graphical application I want to run is my own custom one, so I
feel that "non GUI" Angstrom distro fits better than the supplied Debian
distro. But I'm a little clueless regarding the roofs.
- Earlier I have relied on the distro provided with a development board, now
I want better control and understanding.

Is there any dependencies between the beaglebone 3.14 kernel and rootfs?
Is it supposed to run with Debian rootfs only?

Really any current "rootfs" that can at-least run 2.6.32, will boot
fine with this 3.14. The kernel config already includes all the
dependices for systemd by default. (I do need to re-add the Android
configs). So, really, it should just work, if it doesn't just ping
this list and we will get that missing config enabled.

Can use the Angstrom build tool(or other method) to build a Angstrom rootfs
and use the beaglebone 3.14 kernel "out of the box"?
Is there any version dependencies in the rootfs that I need to worry about?
Is there any benefit to look into yocto for me? It seems a bit overwhelming
for me, at least now.

(With beaglebone 3.14 kernel i mean the kernel discussed in: BeagleBone
Black switching to 3.14 kernel )

I dont understand all the details yet, but is all the beaglebone specific
driver/cape/dts stuff provided with the kernel? Or is there some BSP stuff I
need to provide in the rootfs? BSP is per definition a part of the kernel?

Any tool not found in a current distro, can be found at:

https://github.com/beagleboard/

I have some books on device drivers and embedded linux from 2.6 kernel era.
Is these books still relevant with 3.x kernels? Do you have some keywords
regarding important topics that have changed? I guess Device tree is one.

Device Tree should be in the books from 2.6 kernel, back then it was
mostly a powerpc thing. It wasn't till late in the 2.6.xx/ early 3.x
series did device tree's become "bootable" and till 3.10.x when it
became "very*" useful. (* multarch became useful, imx+omap same
kernel)

Regards,

Thank you very much for your answer Robert!

That clarification and info was very needed to push me in the right direction.