OpenEmbedded - хорошее место для начала работы. Многие встраиваемые продукты используют ARM и другие процессоры, поэтому кросс-компиляция является большой проблемой. Buildroot - еще один ресурс для создания пользовательских ядер Linux для небольших систем.
Вы также можете найти множество производителей с одноплатными компьютерами (SBC), у которых есть инструменты, чтобы делать то, что вы хотите - выполните поиск в Google для "SBC Linux", и у вас должен быть золотой рудник.
LinuxDevices держит руку на пульсе сообщества Linux, и вы должны найти там несколько хороших статей, которые приведут вас к продуктам или программному обеспечению, чтобы помочь вам.
Debian имеет встроенную сборку, но я не исследовал это.
Существует несколько книг по встроенному Linux , если вы хотите пойти по этому пути.
Приемник GPS просто подключается к последовательному порту или порту USB и представляет поток данных NMEA, который можно проанализировать с помощью GPSD, и несколько программ могут получить к нему доступ через GPSD. Это очень простой текстовый формат.
Я использовал обычные материнские платы для ПК и процессоры Atmel AT91 для встроенных систем (с GPS, сотовой связью и т. Д.). Там сейчас много информации, и в нее не так дорого входить. Если бы я начал новый проект, я бы посмотрел на процессоры AVR32 от Atmel - они очень дружелюбны и обеспечивают большую поддержку сообщества для Linux на архитектуре AVR32. Они предоставляют бесплатные компиляторы GCC, а также значительную инфраструктуру и примеры, если вы хотите пойти по пути без ОС, и на процессоре также работает одна программа.
Удачи!
-Adam