@GBr I'm talking with the DesignNews folks about that. I've got a lot of material from my in-class seminars and embedded systems conference/embedded Linux conference talks. So, I suspect there will be more stuff later.
@GBr Folks have tried to use portage in the past for embedded distros with somewhat mixed results. Building everything from scratch is a good idea (Yocto uses that concept with bitbake), but it can take several days to build a complete distro with portage. It just depends on what you're used to I guess. I know folks who love portage. I've not had enough time on it to give an opinion one way or the other.
@GBr look in the kernel source tree in <kernel>/drivers/char/mem.c to see an example of remap_pfn_range. You can embedd that code in your own driver's mmap() callback from the file operations table. Then use the user-space mmap() call to call the driver to do the mapping. It's pretty straightforward once you look at the mem.c code.
@adse True, Yocto has a Linaro layer. So, you could build Linaro using Yocto's bitbake interface. Canonical uses Linaro to produce Ubuntu for the ARM. But, that's not Linaro's sole purpose. The concern I have for Yocto is that WindRiver, Mentor, MontaVista and Intell all have their hands in the mix. Cooperation among such fierce competitors is always an intersting thing to watch. Hopefully, they can continue to set aside their differences for the betterment of the community.
I reviewed Linaro for a while. It seems to be targeted only at making Ubuntu flavors running on ARM. I am also reviewing Yocto. They claim to have a Linaro layer as well. So I believe Yocto will be beneficial to leanr then as you can take advantage of Linaro via its layers?
@GBr For debugfs, you'd need to allocate the maximum buffer size and leave it there. Then you could have a size variable and the actual buffer as two separate values to handle the variable buffer part. Or, you could use remap_pfn_range() in the kernel and mmap() from user-space to just map the buffer directly into the user's address space. Debugfs is probably less prone to errors though.
Ahh, yes... The Yocto Project. The goal of Yocto is to be able to create the smallest kernel possible (yocto is the smallest unit in the metric system). They have been working to modify the OpenEmbedded bitbake system to make it more usable. So, for that, I applaud their efforts. Bitbake is terribly convoluted IMHO. So, anything that simplifies it is a step in the right direction. For building small distros, I think Yocto is a good project. But, I also like Linaro for ARM platforms. Either way, I don't think you can go wrong. But, Linaro has more of an ARM focus whereas Yocto has more of an x86 focus (it does ARM too, but not as strong an ARM platform as Linaro IMHO).
@andyg54321 You are correct. You can hook anything as long as you can find the symbol to hook. That's why systemtap requires kallsyms support. Look in /proc/kallsyms to find the symbol.
I believe it was mentioned that stap is primarily only for system calls, but it appears to be capable of hooking kernel functions as well, which ups the usefulness considerably.
A busybox-based file system will still have most of the interfaces we're discussing this week. But, busybox is really a user-space thing and is orthogonal to the configuration of the kernel.
I've used SUSE in the past with great results. It tends to be KDE window manager centric. But, that's way better than Ubuntu's Ubiquity interface IMHO. The furture of SuSE is mirky at this point since the Attachmate acquisition. But, it's still a solid Distro.
Using /proc does not require the kernel to be compiled for debugging. Using debugfs does not require the debugging symbols either, but it's often not enabled in a mainline distro. Do the "mount" sequence from the charts and you'll find out quickly if debugfs was compiled in your kernel...
@LevitonDave I'd start with Linux Mint. It works well and there are very lightweight window managers available like XFCE. Great starting point for older machines.
@jamesdeutch Debugfs is used to simply export data. Procfs is used if you want to exercise a callback into the kernel code. So, debugfs is realtively passive whereas procfs is very active. Procfs is also limited to just 1 page in memory (4K on 32-bit) whereas debugfs has no such limitation.
@mkreich Those two calls were just names. You could have called them "fred" and "barney" as long as you referece them properly in the module_init() and module_ext() calls correctly. Also, you'll compile them against a particular kernel. This uses the makefile approach of a one-line makefile and the make -C <path to kernel source> $PWD module
I may have missed this, but for what scenarios would you choose to use ProcFS vs. DebugFS, and vice versa, as your chosen debugging technique? When is one stronger than the other as a technique?
Distros to learn from include Linux Mint, Ubuntu, Fedora and OpenSuSE. I use Linux Mint myself because it's based on Ubuntu, but closer to the Debian look and feel for things like kernel configuration. BTW, the Linux kernel configuration command I was using is "make xconfig" from withing the Linux kernel sources (available from kernel.org).
Do jprobe_init and jprobe_exit calls have to be linked with (built with) the kernel? Or can they be compiled eg under a running kernel and called in a user exectable to tap into a running kernel?
Also, how limiting is the reequirement to reporduce the var list?
Hi Michael - for learning how to create drivers and general Linux development on a PC platform, what distribution would you recommend (figure using an older single core PC with limited resources)?
IMO it's not a question of what's "easier". It depends on what you need. If you need to view something not exported to user space, then write a module. Else, write a SystemTap script.
Depends on what I'm trying to look at. If I'm working on a driver, then I'd use a kprobe/Jprobe. If I'm debugging an interface to the OS then I'd use systemtap.
@Chuck - depends on the requirements - many times pre-written utilties may contain more functionalilty than needed ... sometimes that is good ... sometimes that is bad or not needed
someone mentioned several docs/books yesterday - included one to IBM Redbook about System Tap: SystemTap: Instrumenting the Linux Kernel for Analyzing Performance and Functional Problems http://www.redbooks.ibm.com/abstracts/redp4469.html
AYE, x86, PowerPC, ARM (Openmoko, Beagleboard xM, iMX53). Using Openembedded as the Linux distribution (Angstrom & Poky), also Android (cupcake and Froyo on Openmoko, and the newest ones on the Freescale and TI boards). The PowerPC was on a Xilinx Virtex II FPGA
@john@bluesuncorporation.com: Your hyperlink to The PTR Group worked perfectly for me. I actually clicked the hyperlink you provided in this chat window and it immediately took me to the PTR Group website. Could your IT organization somehow be blocking it?
several Linux systems - other than unreachable (e.g. TV, Blueray/DVD players, printers, etc) - several dev systems (Ubuntu), mostly virtual machines, also router, Patriot Memory Box Office (media player), and several unRAID systems
I'm running linux @ home on routers (1 ap, 2 bridge routers), tablet (android), smartphone (android), and laptop (ubuntu). I think directv receivers also uses linux and Tivo too.
I assume that I have them in wireless router, cable devices, Blue Ray DVD. For now they are appliences not development tools or useable for general purpose computing work.
My laptop is Linux (Ubunto). I expect that my Netgear router is running Linux as well as my Roku box. Perhaps even my TV and AV receiver, BD player , etc.
@Charles, presentation text has been running into the slide footer last three days. Difficult to read. Slightly smaller font would not be a problem and would make the last line or two readable. Content is great, would just like to read it all. Thx.
@AlanJayWeiner - Looking for uses of older PCs at home that I can climb the learning curve on Linux independent of the delays of an old PC truing to run the behemuth form Readmond.
@LevitonDave - VirtualBox or VMware is a great way to play with this stuff (unless you need specific real hardware...) I use VMware Workstation extensively.
@Michael, Will we talk about kernel memory allocation during this week? Is it just malloc or is it fixed max size or is it maloc in userspace and a poiner or..? I'm thinking if iimplementing buffers that are allowed to vary alot in size.
By refining topologies and using new fluid technology, Moog's new peak sine drive controller increases available power without increasing controller volume.
Lantronix Inc. has expanded its line of controllers for sensor networks with the release of a rugged controller that improves management of automation systems used in a number of industries, including manufacturing, oil and gas, and chemicals.
Inspired by the hooks a parasitic worm uses to penetrate its host's intestines, the Karp Lab has invented a flexible adhesive patch covered with microneedles that adheres well to wet, soft tissues, but doesn't cause damage when removed.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 3
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
A quick look into the merger of two powerhouse 3D printing OEMs and the new leader in rapid prototyping solutions, Stratasys. The industrial revolution is now led by 3D printing and engineers are given the opportunity to fully maximize their design capabilities, reduce their time-to-market and functionally test prototypes cheaper, faster and easier. Bruce Bradshaw, Director of Marketing in North America, will explore the large product offering and variety of materials that will help CAD designers articulate their product design with actual, physical prototypes. This broadcast will dive deep into technical information including application specific stories from real world customers and their experiences with 3D printing. 3D Printing is
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.