This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
We are building a custom HW platform (around an AM3359) that will run Linux, also custom-tailored for our needs. We're just starting with this, and we are using the latest version of the EZSDK for AM335X.
My experience with Linux (PC and embedded) is fair ... I fully understand the general steps that need to be taken to build the custom Linux environment that we want to get (board ports for U-boot, Kernel, writing kernel modules/drivers for out HW, building the rootfs from scratch, etc). (NOTE: The ready-made rootfs provided with the SDK is not an option for us at this point. I am aware of OE/bitbake/buildroot and other facilities to automate the whole process, but first I'd like to tackle the manual approach...)
For most of these steps, plenty of documentation, examples and sources are available to get a clear picture. However, here are some points which are not fully clear to me, and input from more experienced people would be of great help:
1) libc: as far as I can gather by looking at the opkg lists in the SDK toolchain directories, eglibc is used, a smaller but fully compatible variant of the standard GNU libc. This is not really documented anywhere?! This should be the very first package to install in the target rootfs, before coreutils/busybox and other userspace utilities correct?
All the guides/wiki pages suggest manually copying the *.so (and symlinks) involved, by a trial-and-error process. Is there a "clean(er)" way of managing the instalation of eglibc to the target rootfs?
2) debugging the target: ethernet and a gdb server running on the target will not be an option on our custom HW. As far as I understand, I'm left with debugging over JTAG using CCS5, which seems like a good option (myself being used to work with 8..32bit microcontrollers using various HW debuggers/emulators, this method looks "closer to the metal" to me...).
My question is: I know the PC Linux distributions provide *-dbg versions of the various packages, containing the debug symbols, etc. What would be the equivallent in my case, building the packages from source? Where would these files reside - on the host PC or on the target?
3) toolchain/rootfs: in the SDK, besides the toolchain, there is another directory that contains what looks like a rootfs ?! (I'm not refering to the archived rootfs's, but the one that sits besides the toolchain directory). What exactly is its role, how is it used in the development process?
Thank you in advance for your input. All the best ;)
Paul HARFAS