Skip to main content.

Embedded GNU/Linux System Architecture

YouTube? - Linus Torvalds on GNU/LinuxYouTube - The Origins of Linux - Linus TorvaldsLinus? vs. TanenbaumThe? Tanenbaum-Torvalds DebateLinux? is obsoleteMore Linux is obsoleteMonolithic vs. MicrokernelLinux? BlogKernel? portsLinux KernelLink? kernel developmentkernel historyfigures of recect Linux Kernels * Background Info artueverything is a filepremature optimizationKISSrule of silencedata dominatessmall is beautifulWhen in doubt, use brute force. architectureshellusers/groupsDetailed look at the Linux filesystem hierarchy devicesuser land-kernel interfacedaemonbootingquick look at /procpermissionshard and soft links three more permission bitsreal/effective uid/gidschedulerprocess/task/threadIPCsimpleshell redirectionshell out (blechen)tempfilesadvancedmessage passingpipesunnamednamedsignalsmessage queuesunnamednamesemaphoresunnamednamedshared memorya two step approachsocketsIPC techniques you should try to avoidHost Linux SetupInstalling? the ELDKWorking with the ELDKDULGTftp Server ConfigurationDULGSetup? of the NFS ServerDULGSetup? of the DHCP ServerDULGTerminal? Emulation SetupDULGTest? the host setup

Debuggingintrowhat is a bug?types of bugs?strategysimple toolslsofstraceproc/proc/pid/proc/topadvanced toolslocal debuggingon hosthello worldcore dumpnull pointeron targettarget gdbtarget gdbtuiremote debuggingtarget gdbserverhostgdbdddJTAG/BDI as gdbserveru-bootbefore relocationafter relocationfind offset addressadd debug info to U-boot to confirm findingsDULG: GDB startup and utility filessimple debugging with bdi u-boot only with JTAG/BDImore infoApplication DebuggingDULG?: Application debuggingDULG: Linux Kernel debuggingProfilingwhat is profiling?typestime profilingcoverage why?when?how?profiling vs. tracingtoolssystem timerstimegprofgcovoprofilemore infoDULG: Profiling techniquesOptimization Techniques

prerequisiteskernel-user spaceinterruptsreentrant codewhat is real-time?Real-time Linuxvanilla Linux vs. real-time Linuxreal-time performace/effort staircaseexplicit preemption pointsimplicit preemption pointreal-time preemption patchCan Linux handle real-time requirements?fully preemptive kernelhard real-time extensionsRTLinuxRTAIXenomaiXenomai vs. RTAIReal time with Adeos/Xenomai (Introduction)AdeosThe Xenomai real time frameworkXenomai ArchitectureInterrupt? shield (better RTDM)SW stackskinsroadmap - future outlookXenomai 3transition to itRTDMXenomai/SoloCase study: Migrating from RTOS (VRTXsa) to Xenomai-LinuxTry it outwhich kernel/adeos patch?get adeos patchget kernelget xenomaipatch kernelbuild kernel + fdtcopy over to tftpadjust symbolic linksbuild xenomai user space supportinstall xenomai user space supportcyclictestload the cputelnetdmore info:Appnote

Administrationversion controlbug trackingwikicentral build environment per platformhost Linux distrotarget Linux distrotoolchainlibrariesheaderspackages rootfskernelbootloadertransition from windozeDevelopmentbuild scripts/makefilescodinguser spacekernel spacedebugginguser spacekernel spacecode reviewscoding standardhow to reproduce a release?build environmenthost Linux distro snapshottarget Linux distro snapshotcodeversion control * errno

U-Boot and LinuxDULG? - U-Boot and LinuxThe? powerful U-Boot command line interfaceDULG - U-Boot Command Line InterfaceDULG? - Information CommandsDULG? - Memory CommandsDULG? - Flash Memory CommandsDULG? - Execution Control CommandsDULG? - Download CommandsDULG? - Environment Variables CommandsDULG? - Flattened Device Tree supportDULG - Special CommandsDULG? - Storage devicesDULG - Miscellaneous CommandsDULG? - U-Boot Environment VariablesDULG? - U-Boot Scripting CapabilitiesDULG? - U-Boot Standalone ApplicationsDULG? - U-Boot Image FormatsDULG? - U-Boot Advanced FeaturesBuilding? U-BootDULG U-BootU-Boot Tips and Tricks: preboot, update, etc.U-Boot Design Principles * uImage [kernel (tftp)] compressed ramdisk imagerootfs on a ramdiskcreaterunMTDrootfs on JFFS2createcaveat: does it fit?increase partitionmtd memory mapmtdpartsflat device treerunrootfs on cramfscreatecaveat: mkcramfsrunrootfs on read only ext2comparison flash file systemsfurther infoDULG: Flash file systems Using Flash filesystems