Quick Tips for Avoiding New Development Kit Headaches Whether you are new to embedded Linux or just experimenting with a new platform, it can be a challenge to establish the best development workflow for your target and project. While our LinuxLink tools can make software challenges much simpler, sometimes there are teething issues with hardware. Over the years, we’ve helped hundreds of developers troubleshoot issues they’ve had with booting their target. Read on for tips on how to avoid some of the problems we and our customers have encountered. 1. Keep the problem simple — while you still can. It can be tempting to dive straight into building an image for your next custom device, but it’s a good idea to first establish a working development environment using an image that has been known to work. Timesys provides tested demos and starting points to get working results quickly. These free images — along with our Getting Started guides (available at https://linuxlink.timesys.com/docs/gsg) — can help you work through setting up the host environment without having to worry about the validity of your image or kernel. 2. Your board appears to be on, but there’s nothing coming out of the console. These days many targets provide a USB debug interface, but in some cases you may be using a USB-to-serial adapter. Whether you are using a built-in debug port, or you have your own USB -to-serial adapter with a 9-pin cable, when you connect the USB device to your host, a device such as /dev/ttyUSB0 should appear on your host. If the device does not appear, try to look for USB related kernel messages by using the ‘dmesg’ command. You may want to look at only the most recent messages by piping dmesg output to tail. Simply connect a USB device, then type ‘dmesg | tail’ to see only the end of the buffer. If you’re certain you have the right device for your USB serial adapter, but still aren’t seeing anything, check the manual for your embedded target to see if it requires a null modem adapter. 3. I see ‘Loading kernel’ ... and then nothing happens. While nothing may appear to be happening, the kernel may be running just fine and simply not printing output. The kernel uses a ‘console’ argument to know where to print messages, so you should check your kernel command line arguments to confirm that the bootloader is providing the correct device and baud rate. You can refer to the Timesys Getting Started Guide for your target to find the appropriate settings. Another common cause may be the omission of a device tree. Newer kernels use a device tree for hardware initialization, but if it is not loaded, don’t expect the bootloader to complain before kicking the kernel into nowhere land. To see if a device tree is required, refer to the Timesys Getting Started Guide for your target. 4. The kernel panics trying to mount the root file system (RFS). When mounting the RFS, the kernel initializes the machine and then it starts an init process in the RFS. To determine where the RFS resides, the kernel uses the command line arguments. Below are some basic questions to ask yourself when troubleshooting kernel panic:
While these tips may help you, we know that issues related to hardware are often more complex. If you’ve tried unsuccessfully to resolve problems booting your dev kit or custom hardware, help is available from Timesys. We offer project-based support, enabling you to get help with troubleshooting development issues — whenever they arise. If your development team is looking to expedite your custom product development, consider engaging with Timesys Professional Services. Our extensive services menu ranges from project design review and building your custom Linux platform, to integrating your application and remote upgrades. Request Timesys support pricing & information.
|
Additions and Updates in the Factory Recent Factory additions include: Version: 7.4.2-1 Version: 1.4-1 Version: 0.12.0-1 Version: 4.3.0-1 Recent Factory updates include: Version: 1.1.5-1 Version: 6.9p1-1 Version: 1.0.1p-1 Version: 1.7.0-1 Version: 1.7.0-1 View all available packages in the Timesys Repository » Training & Events 16 Sept. 2015 • Kista, Sweden Free Linux Seminar: Join the introduction to Yocto for the i.MX6 platform based on Arrow System On Module solution from SolidRun. Attendees will be introduced to the Yocto Project structure and build process. Topics include: Yocto structure, recipes, BitBake, layers, Poky, Yocto customizations, Yocto BSP, IDE integration, application development and more. Seminar attendees will receive a free CuBoxTV micro-computer. This seminar is being sponsored by Arrow, Freescale, SolidRun and Timesys. |
©2015 Timesys Corporation. 428 Forbes Avenue - Suite 2100, Pittsburgh, PA 15219 To subscribe to the LinuxLink Alert newsletter, click here. Timesys and the Timesys logo are registered trademarks of Timesys Corporation. ARM and Cortex are trademarks of ARM Limited. Linux is a registered trademark of Linus Torvalds in the United States and other countries. TI is a trademark of Texas Instruments. Yocto Project is a registered trademark of The Linux Foundation. All other company and product names mentioned are trademarks and/or registered trademarks of their respective owners. |