We, the Penguin Software group, provide software engineering services in the area of Linux-based and custom Embedded and Real-Time Systems. Among the services we offer to our customers: porting firmware and operating systems to custom hardware and writing device drivers. We have extended experience on Linux, under several architectures, like x86, ARM9/11 (s3c24xx, ixpxxx, arm11 mpcore, mx31), SH4 and PowerPC (8xx) and Freebsd. Our areas of interest cover: * System Integration * System Design * Porting and Development Application * Real-time Linux Problem Solving * Kernel Device Drivers * Writing firmware * Scheduling algorithms for cpu/disk/net We mostly work with Linux, either the mainline kernel or its modified versions that better suit real-time workloads and embedded architectures. However, we have some experience with Xenomai and FreeBSD, as well as with SHaRK and Minix -- research biased -- kernels. Recently, we started experimenting on the new and, to us, very promising Android framework. We are now able to offer support, feature enhancement and personalization, and porting to new architecture. We have strong theoretical background in the field of real-time systems, in particular on schedulability analysis for uni- and multiprocessor systems, protocols for accessing shared resources, resource reservation algorithms and reconfigurable devices. Our team regularly contributes to different projects: * Linux kernel * U-Boot * OpenMoko * Freerunner Android (committer and admistrator) * iBurst committer (maybe) android-on-freerunner - Project Hosting on Google Code Android on Freerunner - Gitorious Our consultants have cooperated with different companies, like Evidence (Evidence - Home), Intecs (INTECS SpA - Sistemi Software,ICT,Ingegneria del Software,Sistemi Safety Critical,Telecomunicazioni,Software Automotive,Navigazione Satellitare,Osservazione della terra, Satellite Ground Segment, Hard Real Time,CMMI), gizmo (Gizmo For You) and Redballinternet (Red Ball Internet | Enormously Wireless). We are a group of young hackers and researchers who likes continuously improving their know-how with on-the-field experiences. Android part We've started working on the NEO Freerunner 8 months ago (I am the one that did most of the work on the Freerunner and on Android), doing mostly kernel work. As it often happens when working with the kernel, one does not produce intependent pieces of code, but works fixing things, adding features to existing drivers and/or subsystems; we try to work in coordination with the official maintainers of the code we work on, so those are some things I submitted to the community: - integration of the android patches. - a lot of fixes in the openmoko kernel - libsensors - liblights - fix libvibrator - fix resume on neo - write multiplexer radio interface layer on freerunner and fix some radio interface problem - change the multiplexer to support the telit umts module in the gzimo FLOW device www.gizmoforyou.com As you may have noticed from our website, I've been quite active on Android in the last months; I've been releasing several versions of kernel + userspace. In this case, getting patches merged upstream has been more difficult and I decide to create a fork. You can find at git.moko.serdar-dere.net/cgi-bin, that was recently moved and merged with community tree at http://code.google.com/p/android-on-freerunner/. Now We are working on the glamo acceleration part for Android and try to reuse the work done by the glamo-drm projects and audio capture layer of Android. Linux activities we worked on various different things; for most of them we cannot share the sources, given the agreements with our partners (we prefer to work with the open source community and to share our results, but we accept also contracts that do not allow that). Anyway we have experience with the following hardware: + ARM9: we ported linux to several custom s3c24xx based boards, installed on naval equipment (the porting included writing support inside U-Boot, and drivers for keyboard, encoder, CF hotplugging; moreover we wrote a build system and gave support to the porting of an existing application). + ARM9: we realized a BSP for an at91sam9260-based board and fix some issue on this architecture related to the serial device, and we evaluated xenomai on it. + SH4: EBUS implementation, various bugfixes, dsp support enhancement, fast mutex support, and full support for a sbox2 + directfb + gtk distribution, qemu patch for nptl + IXP: ehci-core and ehci-ixp driver for u-boot + We did also minor works on platforms like mpc8xx and ARM MPCORE. + http://feanor.sssup.it/~fabio/linux/bfq/ Budget Fair Queueing I/O scheduler. A disk scheduler whose code was picked up by people from Google and RedHat for their proposal for an I/O controller in linux; the patches based on fabio's work were posted there: LKML: Vivek Goyal: [RFC] IO Controller LKML: Vivek Goyal: [RFC] IO scheduler based IO controller V4 + http://www.actors-project.eu SCHED_DEADLINE Here you can find the presentation on the Evidence web site Evidence - SCHED_DEADLINE An implementation of the popular Earliest Deadline First (EDF) scheduling algorithm for the Linux kernel. It is still experimental code, and it is still continuously being improved, but it already is a fully-working solution for supporting typical real-time applications in the GNU/Linux environments. SCHED_DEADLINE - Gitorious + SCHED_SPORADIC - POSIX SCHED_SPORADIC implementation for the Linux kernel: An implementation of another popular real-time scheduling algorithm, the Sporadic Server (SS). This is mainly developed for research purposes, but is anyway solution for providing temporal isolation to POSIX real-time Linux processes. http://feanor.sssup.it/~fabio/git/?p=sched-sporadic.git;a=summary + AQuoSA - Adaptive Quality of Service Architecture: AQuoSA: Adaptive Quality of Service Architecture An instrumentation of the Linux kernel process scheduler to enable real-time guarantees, most important temporal isolation, to user space applications. Quite the same objective of the SCHED_SPORADIC (and, partly, of SCHED_DEADLINE) but with different approach a features. Our personal homepages are: http://feanor.sssup.it/~***gioli/ http://feanor.sssup.it/~fabio/ http://feanor.sssup.it/~marko/ Our website is Panicking Linux software and embedded system Best Regards If you have some task or project on linux kernel \driver\android framework,just contact me ! my gtalk:firstname.lastname@example.org skype:hongjiujing Wish we have a good cooperation!Thanks!