What is embedded Linux? Part I | Ubuntu
文章推薦指數: 80 %
Intuitively, an embedded Linux system simply denotes an embedded system running on the Linux kernel. Let us focus on the remaining two pieces. Blog Overview InternetofThings Desktop CloudandServer Topics Design Juju MAAS Robotics Snapcraft Presscentre Design Juju MAAS Robotics Snapcraft Yoursubmissionwassentsuccessfully!Close “Helloeverybodyoutthereusingminix– I’mdoinga(free)operatingsystem(justahobby,won’tbebigandprofessionallikegnu)for386(486)ATclones. […]ItisNOTportable(uses386taskswitchingetc),anditprobablyneverwillsupportanythingotherthanAT-harddisks,asthat’sallIhave:-(.”[1] TheaboveisanexcerptfromLinusTorvalds’originalannouncementofwhatcametobeknownworldwideastheLinuxoperatingsystem(OS),datedAugust1991.Inhindsight,itisinconceivablymodestnowthatweareinamuchbetterpositiontoappreciatethefullrevolutionaryextentofhispost.Today,morethan96.4%ofthetop1millionserverapplicationsrunonLinux[2].Acrosspublicclouds,90%oftheworkloadsuseLinuxastheirOS,withUbuntubeingthemostpopularLinuxdistro[3],[4].Despitedebutingasageneral-purposeoperatingsystem(GPOS)forx86-basedhardware,Linuxmovedbeyondwebserversandhasseenwidespreadadoptionforembeddedsystemseversince. Thistwo-partblogseriesaimstoprovidethereaderwithabroadoverviewoftopicsspanningtheworldofLinux,embeddedsystemsandtheInternetofThings(IoT)ingeneral.InpartIofthisblogseries,we’llstartbytakingalookattheembeddedecosystem,followedbyanexplanationofLinux’sroleinit,andwillconcludebyexplainingtherationalebehindtheOSgrowingpopularityinembeddedsystems.InpartII,we’llfocusonthemostpressingchallengesfacingenterprisestodaywithintheembeddedspace.Let’sgetstarted. Theembeddedlandscape Althoughappearinginmultipleshapesandforms,anembeddedsystemtypicallyperformsadedicatedfunction,isresource-constrainedandcomprisesaprocessingengine.Attheriskofover-simplifyingmatters,wecandelineatethreebroadcategoriesregardingthesizeofanembeddedLinuxsystem:[5] Small-sizedsystems,comprisingalow-poweredCPUwithatleast2MBofread-onlymemory(ROM)and4MBofrandom-accessmemory(RAM).Medium-sizedsystems,witharound32MBofROM,64MBofRAMandamedium-poweredCPU.Large-sizedembeddedsystems,withpowerfulCPUsandalargermemoryfootprint. Spanningvirtuallyallcategoriesofconsumerspending—fromautomotivetohomeenergymanagement—Linux’spresenceinembeddedsystemsisubiquitous. [6] This,however,hasnotalwaysbeenthecase,asprogressinsemiconductortechnologyhassubstantiallyhelpedspurLinux’sadoptionintheembeddedworld.Severalreasonsaccountforsuchgrowth.Amongthose,flashmemorypriceshavedecreasedovertime,providingthenecessarymassstoragefortheLinuxfilesystem[7].Similarly,low-powersmall-footprintSystemonaChip(SoC)hardwareisincreasinglybecomingthedeveloper’spremierprocessorchoice.Asaconsequence,virtuallyeveryembeddedsystemiscapableofrunningLinux–anddoes! WhatisembeddedLinux? We’renowinabetterpositiontolookattheopeningquestion,“WhatisembeddedLinux?” Therearethreelevelsatwhichwecanattemptananswer: ThesystemThekernel(i.e.,thecoreoftheOS)Thedistro Thesystem Intuitively,anembeddedLinuxsystemsimplydenotesanembeddedsystemrunningontheLinuxkernel.Letusfocusontheremainingtwopieces. TheLinuxkernel Linusnevershippedan“embeddedversion”oftheLinuxkernel.Asanembeddeddeveloper,youmaynotrequireatailoredkernelforyoursystemandmightrelyonanofficialreleaseinstead.However,itisoftenthecasethatyoumayneedakernelconfiguredtosupportyourcustomhardware,asthekernelbuildconfigurationfoundinanembeddeddeviceusuallyvariesfromtheoneinaserverorworkstation. Thedistro(ordistribution) Thethirdperspectivetoconsideristhatofadistribution.Here,“distribution”isanumbrellatermusuallycomprisingsoftwarepackages,servicesandadevelopmentframeworkontopoftheOSitself.UbuntuCore,theflavourofUbuntuforembeddeddevices,isanexampleofanembeddedLinuxdistro. EmbeddedLinuxvsRTOS WhyuseembeddedLinux? Thenextquestionthatarisesis,whatmakesLinuxtheperfectcandidateforanembeddedsystem?Fromscalabilitytodevelopersupportandtooling,therearemyriadreasonswhythisistrue.Anin-depthdiscussionforeachrequiresitsownbook.Here,we’lllimitourselvestomentioningafewprominentones: HardwaresupportNetworkingModularityCommercialsupport Hardwaresupport Linuxrunson32and64-bitARM,x86,MIPS,andPowerPCarchitectures.Whereasa32-bitprocessoriscapableofstoring232(onebitiseithera0ora1,hencethereare2possiblecombinations)values,a64-bitprocessorcanstoremorememoryaddresses.Processorsbelow32-bitaren’tcapableofrunningLinux,rulingouttraditionalembeddedsystems.Foramorein-depthdiscussiononhardwaresupport,youcanchecktherichecosystemofplatformsforUbuntuCorehere. Networking We’reallwellawarethatnetworkingcapabilitiesareexpectedout-of-the-boxinmostconsumerproducts.Fortunately,Linuxsupportsarichstackofnetworkingprotocols.WhetheryourembeddedLinuxprojectrequiresWiFi,mobilebroadband(WWAN)orEthernetconnectivity,systemnetworkserviceslikeNetworkManageraresupportedonLinux.YoucaneasilyinstallNetworkManageronUbuntuCorebyfollowingthisguide. Modularity ThethirdreasonbehindLinux’sprevalenceinembeddedsystemsisitsmodularity.WithseveralsoftwarepackagescomingtogethertoformaLinuxOSstack,developerscancustomizeitforanypurpose.Forinstance,customisationoptionsforUbuntuCoreincludeconfigurationforbothhardwareandsoftware,andspecifickernels. Commercialsupport AnothercrucialbutsometimesoverlookedconsiderationforchoosingLinuxforyourembeddedsystemsistheavailabilityofcommercialsupport. Freelyavailable,community-maintainedbuildsystemssuchasYoctoandBuildrootenabledeveloperstocreatecustomLinuxdistrosformosthardwarearchitectures.Unfortunately,thevariouschallengesthatcommunityprojectsdonotaddressareboundtosurfacewhenshippingembeddedLinuxinproduction.Thisgapis,however,readilyfilledbyembeddedLinuxvendorswhoprovideenterprise-gradesupportandexpertise,substantiallyreducingtimetomarket. It’snotonlyexpensiveforanenterprisetoprovideitsownsetoffixes,securitypatches,andhardwaretesting–it’salsodistractingfromitscorebusiness.Luckily,thekernelexpertsatCanonical,thecommercialsponsorofUbuntu,areheretohelp.Canonical’steambuilds,patchesandmaintainsUbuntuCoreforembeddeddevices. Ifyou’reinterested,afocusseddiscussiononthebenefitsanddisadvantagesawaitingembeddeddeveloperswhenrollingtheirownLinuxdistroversusrelyingonacommerciallysupportedsolutionisavailableinthiswebinarorthiswhitepaper. Conclusion Bynow,thereadersshouldfeelfamiliarwiththeroleplayedbyLinuxwithintheembeddedlandscape.InpartIofthistwo-partblogserieswesawhowLinux,withitswell-establishedpresenceamongserversandclouds,israpidlybecomingthede-factoOSfortheembeddedworld.ThereareobviousreasonstochooseLinuxforanembeddedsystem,fromhardwareandnetworkingprotocolsupporttoitsextensiveconfigurabilityandmodularity. YoucangainanappreciationofhowUbuntuCore,theembeddedflavourofthemostwidelydeployedserveroperatingsystemontheInternet[8],issettingnewstandardsforembeddedLinuxbybrowsingthroughitsdatasheet. InpartIIofthisblogseries,we’llarguehowdevelopersmustpaycloseattentiontotheissuesofsecurityandupdatabilityiftheyaretoreapthebenefitsoftheexplosiveIoTgrowth.Seeyouthere. IoTasaservice BringanIoTdevicetomarketfast.Focusonyourapps,wehandletherest.Canonicaloffershardwarebringup, appintegration,knowledgetransferandengineeringsupporttogetyourfirstdevicetomarket.Appstoreand securityupdatesguaranteed. GetyourIoTdevicetomarketfast › IoTappstore Buildaplatformecosystemforconnecteddevicestounlocknewavenuesforrevenuegeneration. Getasecure,hostedandmanagedmulti-tenantappstoreforyourIoTdevices. BuildyourIoTappecosystem › Selecttopicsyou'reinterestedin CloudandServer Desktop InternetofThings Robotics Tutorials Website: Name: Workemail:* IagreetoreceiveinformationaboutCanonical'sproductsandservices. Insubmittingthisform,IconfirmthatIhavereadandagreetoCanonical'sPrivacyNoticeandPrivacyPolicy. Subscribenow Relatedposts Embeddedsystems:theadventoftheInternetofThings–PartII Thisisthesecondpartofthetwo-partblogseriescoveringembeddedLinuxsystemsandthechallengesbroughtaboutbytheproliferationofInternetof... InternetofThingsandUbuntu:2021highlights Withrisingunitshipmentsandhardwarespending,2021willgointotherecordbooksasacriticalyearintheever-increasingadoptionofconnecteddevices.... CanonicalkeynoteatEmbeddedWorld2021:BoschRexrothachievescompleteIoTautomationwithUbuntuCore Thisyear,we’reexcitedtobesponsoringEmbeddedWorldonceagain.We’reparticularlythrilledtoinviteyoutothespeakerforumtomorrow,Fridaythe5th,...
延伸文章資訊
- 1How to entry in Embedded Linux System.
有許多人大概跟我一樣, 剛開始玩ARM Base 的Embedded Linux , 在一開始一定面臨到, 不知從何下手的困擾. 看著許多坊間許多套件商開發出的開法板, ...
- 2艾鍗學院- 嵌入式Linux開發實務| 軟硬兼具
嵌入式Linux BSP 建立: 安裝Toolchain 與專案編譯環境設定; Boot loader 簡介與U-boot 編譯與使用; Linux Kernel 配置 ...
- 3給想從事Embedded Linux 開發工作的新手一個方向~
1. PC硬體零組件取得容易(除非真的要開發ARM driver or porting AP 再考慮買特定的實驗板) · 2. 可以藉此瞭解Linux開機流程(想做embedded system...
- 4嵌入式Linux - 維基百科,自由的百科全書
嵌入式Linux(英語:Embedded Linux)是一類嵌入式作業系統的概稱,這類型的作業系統皆以Linux核心為基礎,被設計來使用於嵌入式裝置。這類作業系統被廣泛地使用在行動 ...
- 5Linux Embedded System · Buildroot架構解析 - hugh712
Linux Embedded System ... 一個簡單的Linux系統架構,如下圖,主要分為4個部份: ... 除了Hardware以外,Buildroot專案建制過程中其他的3個部份都會...