Yocto Linux Primer 2017Jun 10, 2021
- really guys who help us hosts pack our backpack here. I can take us somewhere else so I can get wet, you really appreciate that. I meet a very attentive team once again, so how do we do it? I will be any cleaning task. I think we are going to nominate them. like I think June June depends on when Brian shows up you'll find it well we'll find out what, but ten uses we've been doing this Wow, very good so we're going to celebrate it in May. or in June we can be sociable, I mean, maybe we'll be sociable later, you might know that maybe we'll do barbecues with a lot of the website, but I'm excited, I think about the ten years I've been doing it, I think it started. helping the 111 branch, but he did, you know, the eyes from before and it's cool to be like that, gay tourists, so look for you to have ideas on where to go and what to do, that was appreciated, so next month still We don't have a theme. wants a we have I think we have something for June we have Jack coming with a 3D printer and he's actually going to start calibrating show people yeah anyone see how it works if you don't show that produce the June button . we remain, we don't have any, but until someone has a product that they would like to share with me later, I can always have an open queue and also for people, for my family and other people to say that Andy was Kenya, ha, beep.
I'm here yeah so I'll be ready and I'll meet very well so I understood that he came and introduced the analogist for a few days and I liked shows with cool lasers and yeah so I think we were in the bubble building that day . so we're a little tight, we have a little more space, but we have one person and it's really cool. I really appreciate all the work you do and what you are going to show us today. Decision, this is where Again, I would say that innovation for Linux is really happening, it's not, so it's just dead ends there, Angus, but you can see a lot of the divergences here coming from Linux, where server placement professionals in the market of that pocket.
It's kind of encouraging to see those things happen, but you also see a lot of departures from that where you feel hot, specify the team event and yes, I'm excited that you can show it, so offer to do it anyway. Andy is going to show some capital, yes. Sir, talk to Lulu, great, thank you all for inviting me. My name is Andy Katelyn. I've been working on Linux for probably less time than this meetup group has existed, we haven't been together for ten years and I don't even know I've been doing that. for ten years, really cool stuff, but I've learned a lot over the years and I'm really excited to tell you about dr.
Linux. I'm going to try to go on for about an hour and a half and if you have any questions while we're here, please keep asking questions, so who knows what Yocto Linux is and who's tried it before, yeah. Couple very well, well, who has heard of it, but has never tried it. It has a lot of curvature, so yeah: well, those whole presentations on dr. Linux and it's another form of Linux, we're going to tell you basically all the details of how it works and walk you through getting started, so if you want to go home and try this on the Raspberry Pi or whatever. you will be able to do it so in the background we will talk about the motivations for your Octave Linux, after that we will talk about what exactly it is, how you use it, we talk about the supported platforms in case you want to try it yourself. now we're going to talk a lot about bitbake, which is kind of the core, we think the octo just thinks this and breaks down, they make a handful of topics that we're going to talk about creating layer recipes and implementing them in the SDK .
For your purposes, we are going to talk a little about licensing, which is always a very delicate topic in Yocto Linux, although the motivation of Opera Linux is to make it less delicate so that it can reliably tell you Saturday's work. you could use the octo lennox for competitors you wouldn't have to pay people money for operating systems so we're talking a little bit about how the octo helps with licensing your apples own support you can probably skip the conversations about gifts, although it's pretty good with the octo, you want to take a moment to know how many people you're okay, so your products are given away in your car.
I gave a gift in this presentation and I tried to give it in this mini demo and I got really frustrated saying my new laptop that I'm very happy because it only has one HDMI output and they didn't have an HDMI connector in the conference room. It was GJ who basically couldn't make this presentation, so this will be a much better, much more revised version and then who knows about QT? So we know about QT Primer. She's really great at embedded systems. We're going to talk about that and obviously incredible questions, so my experience and then creating integrated systems in Saigon, our university, which was in 2010, so less than less.
I got into latex over 10 years ago and they love those guys in the latex industry that have really cool laser systems and name a lot of Linux for their laser controller and now I work at Miniature Onyx which is a medical device company. in the same old stadium and there I do mainly C++ and believe it or not, we are using Yocto Linux in medical devices, very exciting time, so what is octo Linux? You're probably all familiar with big distributions getting art. or news or glue - it's not a distro and they like the tagline as part of the tagline - make a custom one for yourself and usually you get Debian for the blue tooth and then they basically package it.
To get a good fit and run on tons of Yakko Linux hardware, you basically download a tool to set up your own Linux tree or a vetted target. Now the big motivator for doing that is that with distribution you end up with a lot of components and a lot of weight that you don't really want in an embedded system, you're supposed to have something very specific, very specific to the application, so the need It was basically, hey, we have all this really cool open source software, it may totally need an embedded system, why would they put space for the system?
So we need to configure Linux in a very lightweight way and put it on an embedded system. I'm sure you've all heard of other smaller distros, like I think there's a pinko analytic Linux well, I don't even remember all the names, but basically a lot of Yocto, if you know, a lot of times the conversation is like 10 to the highest to minus fifth, so it's a really small way that's like the main one is not a pretty boy, sorry, so the last point is 24, the boy is going very badly, that's very little, thanks for correcting. I have an old man who should know, so you chose backed by large corporations.
It's become a really growing community in the embedded space. The documentation is fantastic, very, very good, it's better than any software documentation. I think I've seen it once. Is incredible. The other important point is that when you use Jack the Linux, you have a very repeatable build system so that your operating system meets your goal. It's very important because you're trying to set up an embedded device to go to market and you really want to be able to reliably reproduce it five years from now, ten years from now, and that's what Octolings helps you do, helps you manage.
The complexities of SOC are enormous and here's why modern chip devices are like an arm. Let's talk about a couple of them. They will have multi-core networking support. They will have graphic support. They will have all the standard hardware drivers. normally you would have a huge mspi and see PWM like that, except now they are even adding FPGAs, which is the latest word of mouth anyway, it gets very, very complicated, very quickly and silicon manufacturers basically have to provide you a ton of software support out of the box because no one will be able to pull out the imx6 datasheet and start writing their own imx6. you're a controller, it's just not going to happen, it's not even reasonable to do that because it's a three-scale salt problem. rmgx semiconductor gives you that software and since that software is very generic you just know how to talk to the right registers on an imx6 and for example art?
So the question is: well, how do I give this to someone who wants it? you are anion x6 and really the best way to do this is with an embedded Linux operating system. I have six processors, for example, which is what we're going to talk about in depth today, their application processors and communications processors, so they're very good. graphics support and very good network stack support, they have wireless and they also find Bluetooth, so basically the silicon manufacturers have to give you some level of support for those things because it is not an initial reason and they sell the hardware base, so they give you This open source software and basically this Yocto project helps you incorporate those bodies of code elegantly and incorporate them into your target operating system for your embedded system, so it helps manage the complexity of the modern SOC greatly and also helps. of Licensing, which is an important point, you know that everyone opens our software, you know it forever, this constant discussion about copyleft and what can I pass on, what can I change, and to help with that in an integrated system, the project Yocto provides you with it is really good and the reviews are rated on tons and tons of platforms which is another really exciting one, so why would I use 8th?
A good question because there are others that build roots. I mean, I know some of the older people in the audience who probably built it with core files like back in the day, when you knew Linux version 2.5 or whatever was available, you literally have to go and get the documentation and figuring out how to do branding from our employer, who did it the other way around. OMG how complicated with that it could take all weekend and then it didn't even work all weekend look I did it it took all week and then it didn't even work well yeah I can feel your pain because ultimately , Linux is huge. days in the past, the poisonous Manson, how the hell will he do it?
Because a person is going to download, you know, half a million lines of code from the Internet in the past and build it yourself well today, it's like you can download 14 million 18 million lines of code from the Internet which is the body of Linux Mint and put it into something and if you're just a guy, it's not a peaceful path if you just do it by hand in a panic box, so Yakko solves that problem too because it's a very automated build process, so there are a few other locations here, so like I said, people have been making customizations for years, a uniform solution needs to be created.
Embedded systems are complicated and microcontrollers are not enough today, especially with the advent of IOT. you just need an operating system, you need to be able to do SSL certificates and I have 32 bit microcontrollers, I'm really missing both drums, a lot of times you're on a vetted system that needs to do graphics in an easy way and that's a big limitation of 32 microcontrollers bits and basically there are all these different complicated ones that will help you do almost anything with them. We were able to customize the octo invoice for a project and the neutron was spent like a year. ago and we basically had a customer requirement that said it had to be on the touch screen booted up ready to go in eight seconds and it's like a sacred copy never seen before when it expires in eight seconds, that's jumping, calling right, but if you get on your car and you start the engine and the reversing camera appears in about 10 seconds or less, so how do they do it right?
It takes a lot of special sauce and when you use the motif car many times a day and QX, which can also be very customized with something standard and then they will do it with a camera that they have as a standard standard package mechanism to do that in tunics, but on Linux it's a little harder, you actually need to skip the new tits. and reject is called hawk mode, so I guess the point of this statement is that you can customize your Linux distribution very, very closely to your exact application and voila, you won't end up rewriting things that don't exist.
Internet connectivity. Many platforms supported. and it's free, you guys heard about it, okay, it's fun, the part that Yocto runs on and some of them pass this on. I go to the next slide, this is called digital connection core and I have a whole segment dedicated to it. it's new as of 2016 it's a brand new technology this big silver guy was just a deaf kid actually it's the product it's just this guy builder in the middle with a cap if you look closely there's a little UFL Wi-Fi Connector for so I can connect our radio antenna underneath.
Here is a gigabyte of ramimx6. We have a supporting microcontroller so we can eat some really interesting weather things in terms of security, so this is like the latest. and the best this can get on the Internet, including encrypted data to add, you're in a day, the reason you have to learn, know what you're doing, so we've been experimenting with this at Medtronic and we've tried all kinds . from a different system in the module, so why do we just pass it on? Try to try not to be SD, kill me here, we drink, at least it's raining a little, so oh man, Raspberry Pi, you'll run a Raspberry Pi, you know, Raspberry Pi.
Pi if you are in this room and then based on the requirement on the door it allows you to move it very far so graduate to bike normally. you just get raspbian or some variants or some that you know you can put on a light copy it beats you there, but you can also run yok the Linux and if you do, you can customize exactly which packages you're drawing to the target. you can't wear black, very similar to resurrect. I didn't even put a newer one in this picture. I just found out recently from less than negative presentations when it occurred to us why you put the old man up their nose like this. the more one it is, it's the old name and now you were one with better specs and you'll notice there's a pattern here, this is a cortex a8 so it's an arm, a lot of the embedded things are arms these days because they're a lot more effective than most of Intel's offerings and that's why Intel has this problem on its arm, even in its phones, and we use Snapdragon processors like Qualcomm or Ti, so everything will run a very advanced ARM processor because simply more occasions for power and things like that and arms have come a long way in getting your distribution network to do things like Embedded Linux Bianca Linux totally easy to run on a unit without a processor here is the connection court for the card to go to gigs flash a Giga RAM of 500 megahertz and has Wi-Fi Bluetooth.
You know, it's really interesting about this guy in particular, it's his roadmap through the end of the year. Can I have Bluetooth instead of Wi-Fi? You'll have a cellular radio right there. You can skip the nonsense and just put a SIM card in it or with that. I'm not sure if it will be GSM or if it will be a CDMA technology, but you will be able to set up an account right there and then that thing. It's just going to move and just send data to where we want the cellular network to be and our prices for cellular data are going down.
They realize that there's going to be a big influx of IOT hardware, so this company Digi International, which is based in Minnetonka, they think it's or where it's clean, yeah, they see, they see something common, they were talking about their potential that a cellular radio computer chip like this would be disposable one day, is like putting it in something that is literally intended to be the close connection between us. We're talking less than eight dollars, not that you can argue what I want or whether I have that's a good thing, but if prices go down very quickly that bar is 129 dollars on a beautiful digital day, okay, so this is a really fun project.
I've talked a lot in the last talk about what's called a snickerdoodle and this runs with a dial-up zinc processor link and that's on the center arm and it has FPGA fabric around it, so this thing is really a Swiss Army knife embedded. On systems you can disable arbitrary digital signage because the fpga has Linux, it will boot a touch screen and you know you can have Wi-Fi out of the box on that type of platform, so zinc processors will be very popular in the future for embedded systems. You can buy this online for earning 100 dollars and they have a lot of breaking orders for these connectors.
You can raise or lower the connectors. Yes, this is very, very impressive, so do other platforms, so don't let this fool you. In this on the desktop, you can move a super lightweight Linux to your desktop and on a Linux i7 it appears pretty quickly when you're doing an adaptive Linux, it will run on Andy, it will run on the most popular part of the target hardware, however, If you make desktop versions of Yocto Limits, you'll have to jump through a lot more hoops to get the right driver support for the most advanced peripherals your desktop computer may have, for example the graphics card will be some kind of Es need to install it properly on React or Linux and you know, the graphics driver that comes with an nvidia card these days is the installer which is like 219, the whole root file system of your Yakko LS could take like 40 minutes and then we got this like I need a controller that is 200; will work fine, so don't count on a lot of unique graphics with octo Linux if you're going to use Intel-specific hardware, unless you know for sure that it's some kind of supporting element. and we're going to talk more about how to determine whether or not your hardware supports a large object.
Okay, let's get into the topic of meat. You guys want to talk about the details. Ok, this is a really important slide. We'll probably come back to this. a couple of times and I hope you can see it well, this is basically the world of Yocto in a really effective block diagram, so it affects the top, everything that is in blue is considered the fifth date, that is the system build and bitbake is basically a huge Python stack that Linux Foundation people got together and basically morphed from some of the older invented projects, so the open invented project existed to create embedded systems for Linux a lot before Yocto started as sfm haha lan report but basically they took open embedded concepts and then kind of expanded it into a much larger scope project and so baking it is like the engine that makes everything this happen, it's an incredibly sophisticated build automation tool, so that's the blue area and then Yocto, the project consists of a little bit. date, but it also consists of the metadata that makes the face look good, so metadata is basically anything that has a dark gray color, so it's metadata and an input, so at the top you have mirrors of origin and then on the side here we have Have music, laugh, can you read that, factorization or just different metadata?
Phoebe and VD patches are the recipes or layers that represent the economics for BSC machine configuration and policy settings like user accounts and things like that to be fed into the build system and then when the build system has finished building, now you get a bunch of package feeds, that's really no different than when you do sudo apt-get install in Buju and just enter mini-com for example, that's what package feed is, except that now these package feeds will be on the build system, not on the internet, but the package feeds that come out of this on this little arrow are prepared in an image build step and in an SDK build step, and The images are what you actually boot your hardware with.
It's usually done on a micro SD card in case it's really effective and then the SDK generation is basically when you try one, so once you have an embedded system you need to have an SDK to be able to have novel software to run so that Yakko I'll also reply if anyone ever had a problem where their GCP had that version and we make many people know about it but then some package depends on a different version of GCC and it's like some of the visualizers were cool this is a nightmare so yeah kyle sanity check all that stuff for you priest so coming to the middle here the first step of the build system is to use the source so you got all this input data that we're going to talk about, you go and grab the right one. sources for what you're trying to do and patch the sources and configure the resources and then check the relationships.
This block here is incredibly sophisticated and then produces your RPM desert ID case, which is basically the package feeds and then populates it to put in the big gray box of the Middlebury output analysis for patch package splitting plus the package relations. This is the magic. This is really critical because at any time I could bring up some fragment of metadata that says I really want to build LD op or mini-. The disadvantages will be today's example, except the version of the code that I just downloaded based on the Debian server and if that expects GCC this version and depends on Live Lipsy this version and that's not what we have here and it fills up. the Bill, so there are actually a lot of very sophisticated checks going on and I am not going to sit here as if I know how all that works.
I think Richard Purdy alone is the guy who created almost all of these compromises to set all this up. I think he's the only one who really knows how it works, but maybe I'm wrong on that, but it's a long process to understand how it works, but anyway, that's the top workflow they're going to do. If you have any questions, this basically does it, you're going to get this great build tool that you feed with metadata and it's going to generate an image that actually moves your target and you can already configure all the controllers and all the iOS and we can actually access the tree items. of devices and I guess in the focus in blue is that local virtual machine as local to you or together to the cloud, would you do that?
Yeah, so that's a great build system question that you'd normally just want. to use the recommended Bluetooth build environment, that's fine, it can certainly work in other environments, if you want to try it on Scent OS in the cloud, you know, on your network server, you can go ahead, but you'll get better results if you just do the recommended marketing spread of three to fourteen so here I am running a group of fourteen because I normally run into 1604 and I couldn't get it to build below 1604 after trying for a day it felt good. It's people, you should follow the direction to work enthusiastically for years if you want to use the moocher 1404 and then as soon as I did to compile, for example, the SDK, the Yocto project for that main connection product that is coming, built the first truck and just to configure the things that they have done, the instructions can select the entire network drive, so you want to go here and yeah, in this case of the local Ubuntu virtual machine and when you do this, I mean , you must realize that it is working.
To really remove a lot of Linux, you don't remove everything. I'll do this in tons of corners on the internet where you can get special Linux stuff, but when they removed this metadata, it compiles all these packages and ends up consuming about 100. It takes up a lot of hard drive space and is out of the box, so it doesn't you're going to want to have an abuti virtual machine with a bag of terabytes, guys, if you can help it, any of these are fine, so that's what I have here. I am very important. yeah you would be and whatever I think maybe even qualifying this way is a local system job that will necessarily be a good idea now if you had an ec2 instance that has room 214 joining me a good program yeah just It has to be a good pipe that works on board because it pays for many versions of many tools, so if I do sudo apt-get install build essential, that is one of the dependency team members who will get a specific version of GDP, i.e. designed for a blue 214, if your arms reach 16, you'll get boom: you'll get GPT version 6, but Rockville, based on this particular district version of Yocto, expects GCC as 5.3, so naturally the unit started. is running the problems are the packages that the Kanako project depends on are connected correctly in 1404 16 point oh four it's going to be officially supported sometime this year we'll have another version of the yacht built up to a little bit more of you in 16 as well You could do it in class because you didn't want to have a local virtual machine, that's a great way to do it.
Turn it on and on Amazon, and you're probably feeling a lot faster than I might need, so the metadata is this. very good sauce that contains what metadata with those gray boxes where does the source come from that people of course are not going to build and how can I get it contains that it is basically set up in recipes, there are two levels of logic, its layers its system is filled with layers and one layer contains a list of recipes and that's basically it, and the recipes are usually individual packages, so we had a layer called, so what you're seeing here on the chart, they're all called metal layers .
There are data layers necessary to build your entire system and they all follow a naming convention and they are all categorized based on the actual natural scope of the baggage in the layers, so let's talk about what we have here, the top metal navigator. You're dead, I'm web skating really off the FSL goal arm,you can guess, this is what you did, you are going to build your core PAC project right now, who has any idea what I am FSL? What would you do well? Yes, and FSL Freetail, which is now MPX semiconductor, but I don't want you to do the process there with these things.
There's an imx6 that can dive into retail, that's what we just showed you and that support advisor, so CFSL means The Free Field produces that meta layer. This is what I was talking about before, basically, there is all this setup and technology needed to run these simple drivers. The job of human graphics and free scales is to give you the source code that sets all that up correctly for a particular part and implemented that and the way that Freescale does it has a FSL meta arm and that's called the octo prairie layer and it's maintained at free scale on github accounts, so each of these folders is basically just a git repository and within that case is appropriate or has all the recipes for that layer, the recipes are packaged in software that you can put together exactly like that, so basically the metadata also tells you how to build the fact and where the RPM is built with the debt bottle in the id caves. the actual health prosign areas that will be located in the file system, everything is defined in that metadata, it would be similar to comparing it to a box of hammers, a Hamburger Helper and that is the gate repository and then the instructions are in the box sets and metadata. so you're getting like someone sings the metadata and the only thing is it's a really great big question and it sounds like you're saying let me clarify that's not our words, these metadata snippets don't contain any source code for them packages themselves, it only contains instructions based on how to get the source and how to compile it, how to package it in time, employee, okay, so meta F SLR is just metadata, it does not contain packages that do not contain package sources plus an SSL arm. a horrible package to look at as a result, kind of package of man, but each package deals with the metadata and not the actual source, the way your question is so subtle, I love them well, I got you, this is what the big one looks like fake when it runs, you pull in a console, you have the source and the environment so it knows where everything is and then as you watch it pass through, it checks all those layers as you defined them and then it says oh, any cat statement to use these components outside of This layer you better build and this is a four process executable right here, so it runs on four threads.
Here you can see QT Bay's native 5.3 at r0. It has been a build step, configures and has process identification numbers. Linux parasite. This is the kernel itself. version 3.14 that 28 is 0 and then bills the set of packages, so that whatever builds them, when they say it goes and looks at the list of layers, it finds all the interested recipes and then when it runs into the build of one recipe, there are like five or six. which technically you can define any set, but this egg natively knows a five or six F course, you can bet that's how it accesses the Internet, you can access the actual code and download it to leave the search step.
Duplex is shown here and also we've been really cool if I hug it and capture it, just pointing to show you the festival, but none of these are doing a new patch once it has the recovery, you have to code it. yes set and set me extract the package of many times all the pets come to the park or it is or for rent or it is just a clone cause of the deposit so once you clone the code as cash you actually enter set which means extract and when there's actually another step there, there may be a list of patches and so the patches and you applied your Bishop coding appropriately, that's the setup step and then you basically have to compile, which is obvious , that's what makes it all GCC or or whatever, there's a tool and it's for that package and then how it's packaged and then I think there's actually an implementation of do that I like the core, so this Linux parasitizes in the middle of the do package between that process and that piece of code. it is actually begging in RPM, it is created and needed.
I hope this doesn't confuse anyone, but it seems to me that I use slack, there are a lot of us, it was just a bunch of tar files, but there is a good website called slack builds where you download the slack build file and then put the tarball on that billet and then the billet is like the message on how to work on the build, yeah, and it might be a little bit parts of a PC, yeah, yeah, I'm talking about workflows for Linux. all kinds of similar things, basically, you, the workflows for building software and deploying software are constantly, you need to get the source, you have knowledge of how to build the source and then you need to know how to package it and know how. put it somewhere so that if someone can use it, that's critical for this day, feeling like you accept that this brand gives it to you in a very structured way, and then once you do the time, okay, cool tentacle, is that really.
Great, if I like it, go ahead, continue with this. I mean, if I want to go down and learn in more detail, let me give you three specific heavy American models of like a video camera for communion, okay, so when I do. Now that you have Yocto, so you created your goal and achieved it, let's say you have completed it. Okay, great, actually there's another thing I want to point out. You'll notice this line at the top. Currently running forecast 2567 out of 2600. Okay. This means that there are 2,600 individual packages that need to be built, so there are 2,600 URL targets when you deploy these packages and then I build them all and the interesting thing is that you almost never use all the packages that you can specify in the metadata, of course.
You can download this package, but you know that I don't need a lawyer many times. I don't need to unzip it, they just need Busybox and other products. Well, that's what it says, so it's the first time you've found it. It can take like four hours. I mean, I had to start and I left it overnight, so once it's built, what is Linux fundamentally about? Well, this has been an evolving topic and, as you know, ten years ago, this slide might look like a little bit different, but when we talk about
2017, we talk about six ionic processors, an embedded system, these are fundamental Oxford components, What does it really offer you to move your goal?
This is something I didn't know. until recently and I started to understand it a lot better and it helps me troubleshoot and understand what is really happening so on an imx6 there is something called a primary bootloader and that is burned into the chip and that primary bootloader is a little mana code so that when the chip turns on, Rita, the program counter jumps to that little bit of code and immediately starts executing it. Now that small amount of code is read-only and will basically check the power of the chip, the secondary bootloader is usually on an SD. card or some other non-volatile memory or it could be in the chip itself how does the ecology work so that the secondary good water is even a little more functional?
The accepted school knows nothing about how to move a prop. What is a secondary preparation letter? loaded by the main engine, so the main bootloader needs to direct, this is where the transfer sex records that once seemed a little accused, where there is a jumper and you put a jumper between, as you know, the pin 1 and 2, and that means it's going to move. from the internal storage or its jumper to the next it will grow from the external storage sd card back what's happening I'm here boo engine knows how to read the pen and it says oh I have to jump to my EMC subsystem on my imx6 and it reads the SD card on the SD card in the early 8k they have something called SPL so the SPL is kind of a subcomponent if you know the cutest thing well you've been around for a while and it's like the number one way that people that use Food Food Linux basically has the part for tons of more difficult architectures and it comes in kind of a couple of things from the same gift repository of your boot and then you have SPL to be your secondary slot on top of your secondary bootloader and it is locates in the first 8k of an SD card, so when the program counter jumps, reads the first values from the SD card and the memory clinics run, that load back is a program called SPL, so SPL it's a bit more feature-rich at the top level you can do things like essentially free from a car versus a micro SD card or maybe you know how to run some SQL, sometimes you know about networking or maybe an i2c, but that's a bit exaggerated, it's usually STL. it will just immediately jump to the correct location of you, my Clarisonic is actually because you plugged in the cable and once it starts running the program counters run, it boots now, it has a lot more features although it is very tall in comparison with Linux.
You don't know about a network stack, you know about GPIO they can do, you can do Stata, that's how Linux loads, but you know the hard drive in a SATA header, so it's just a standard respect with a lot more features , but still. very low level and your main job is to find the BTB device tree binary, who knows what that's for, spin up the device tree binary, okay, that time your computer's limiting drivers like hardware drivers , we'll talk a lot about that a little later, but what? What it does is it takes the DVD file and it takes the kernel image, which is another address, it's a static address on that SD card, it's the entry point of that kernel coating, you may have seen it, it's like a new image or newly compressed DNA. that's the current one and that also says on the SD card so the device tree is how the drivers are set up and then the kernel gets heavily internationalized and then the final root filesystem component and that's usually the inside of a microSD. card, the m8 gig microSD card, the first megabyte for example would be everything else, while the core is usually 16 to 18 megabytes, so the first 30 megabytes of the SD card are everything else, but the root filesystem starts at some location very shortly after that, the rest of my birth slows down, but what you move finds out where all that stuff is and there's actually a blue command prompt for you, you can set it to look at this location instead of that location, but like that and you start.
It will put those three things together and then call them to the kernel, which is the entry point to the kernel when you start the kernel and pass it a couple of arguments. The first argument is where is my device tree. The second binary argument is where the kernel is. the image itself and then the third argument is the command line and NIT arguments. Has anyone ever had to play with the look of X and then had to change the command line arguments to start the Linux kernel, that's what you're trying to move? to provide the current questions, well you guys weren't into something okay, okay, and I'm in class, okay, that's basically what ends up on your micro SD card once Occulus is built, so at this point I was going Let's sit down and Let's go over setting up the octo Ville for the Digi Connect cable and since it takes like four hours to build, I already did that part, but basically we're going to show you how to set it up. pretty simple with some simple instructions and then press build and to show you a little bit of a fake look and then on the next slide I'm going to talk about some useful things if you sort a busy slide, but we'll get to that and then now I'll talk a little bit about the setup of the kernel and how to implement it, that's cool, let me sit down right, no, this is where we can use it like 32 massive fonts in my terminal, here I show you how this actually works, so I'm under a blue: no 6 1404 here and I have let's go Let's look at this screen, which is my old browser, can everyone read it?
Okay, so we're going to look at the touch screen, which is the command prompt, which is where we're going to run, press bake, and now we're going to look at the screen, which is the address, so if you look up the setup guide for the connection core, You will manage to forget to connect to the Internet and then you won't be able to. reach the main sales address for a single woman. I was into that and then I made you imagine, well, which is really interesting. I wanted to install mini-com on a blue tube. You saw it before anyone got here, except in it. it beats Wi-Fi and it turns out that Veritas uses a lot of Linux stuff, that's why we're here and interestingly I tried to do sudo apt-get install Income and couldn't find the repositories and who works is a very popular career advancement. that because you block accidental access to those types of progressive courts because you can better control where it's okay, needless to say it didn't work and then I got on my cell phone's Wi-Fi and they're not a goodwork and that's really interesting. to me so we'll go back and see if I can come back better with brio top skaters here in a moment I already authenticated yeah okay this should work so the digital documentation is really super good and I wish I had downloaded the PDF. of this first, will market in a time that clients are just many more pieces of Firefox, refresh button after having started, TNN worked in Malaysia together, stop trying to ruin my good, no more communication from Disney, better, oh , it's just me, young man, check it out. um you know we're not even muscle guys the demo has gangsters once that's okay we're going to try Wi-Fi to turn it on so make a quick aside here you want to do it no wait you're dizzy cut thirty days, it's very positive that the Internet is done throwing curve balls at me, okay, and we're in, so check out this super good documentation, so you can basically talk to me and show you how the hardware shows you additional resources when you click on this Yakka button now.
Let's get started, but what are the requirements? I will help myself. Honestly, I'm going to need some hardware and then development is fine, so they start with the FTP setup because what they want you to do is a very common workflow when you're trying to change the kernel, chances are you're changing the kernel a lot. root file system, it is very cumbersome to have to keep recording images to the SD card every time you view a new image, so what they allow you to do is install TFTP. This is Damon L. he's burning up Linux and letting you poop on the network, we're going to skip that depth because we only have nine and we're out, so they say, well, let's install GG integrated octo, so the first step is to do this pause curl mega curl and it's I'm going to go to google.com and it's going to pull in this thing called the repository tool and the repository tool is used quite commonly with Linux because, as I showed you before, that slide with all the meta layers, each one of those meta layers .
It's your own git repository, so this repository tool helps you create an issue for the repositories you're really interested in and then deploy it back to your system. The first step is to install the repository tool. I'm going to skip this because the Varni gun and then when you install the repository tool you have to set up a folder for what you're going to do with it and then we're going to switch to that folder so here they're talking about the local Y user 2.0. to operate from a different folder called ah like out of what okay, let's have this what is your favorite type of opposite to your favorite group Isis, raise your hand if the accusers, oh come on, take it in a glass that can be done in Syria , okay, who likes the home directory?
Okay, very polarizing topic I've been working on lately, like all kinds of fun and fun stuff. Alright, I have a main Kinect folder here. We can see? My head knows it now. Emma Kinect Home Folder. There are two folders. There is no DC imx6 UL, so the actual target is called imx6 ultralight for a lower power consumption version, so it's like 500. megahertz and consumes only a handful. They have a quad imx6 which is like a quad core gigahertz model and that thing is a lot more rugged so the ultralights have the same computing function it's just not as fast.
So that's a reorientation here and then dhy means digital integrated Yocto and basically every time you set up your folders you're going to end up with the fundamentals, you're going to end up with these two components, the CC imx6 folder is where everything is. of the job is actually compiled and downloaded to the source, if the metadata drops, the metadata is under Duy 2.0 and then the actual built area where the entire system is located where bitbake has run out of that is under the CC ims 50 welcome look below it's 102 gasser it needs a hundred entries yeah so the why folder is just the metadata source and that's just a couple you know dozens of Meg is not that many but then the cpi-m x6 is Where are you going to stay. booting 100 gigs the first time you do it, so if we change the directory to the Duy folder, there is a create project in sh and sources, so create project in SH is a pretty important script that you provided when you cloned 4th, the instructions and I will show you what step that is, so here we have made a repository.
They told me to go to the B Y folder and the last step and then they said let's make a repository using this github. com okay and then we're going to point out that Jethro branch, so if you look, Yocto has a succession of major releases and Jethro is three releases ago and the most recent is CRO which it got in mid 2016. Morty just came out in early
2017and usually these integrated devices will be two or three levels behind the last ones, so right now they launched the Yocto project which targets the Jethro bridge and that's the version you can use, so you call three ships sink and your maps will download all the code based on this manifest file and again the code I'm talking about is the sources these are the metadata it will download and it will download the actual bitbake Python staff should do this so once you have called repository sync that way you'll end up with this folder maybe we go into man lines here you'll end up with Y 2.0 and then in here you'll have a script and a sources folder if we go to the sources folder here are your layers of metadata that looks a lot like the image I showed you earlier, so poki is the main metadata for common Linux things, including build tools and doing things like that and that a software update is such an important repository designed to make it easy for you to perform over-the-air firmware updates of your Linux OS which is quite nifty, so there is a lot of technology in the meta soft update meta qt5 is the complete key framework, so if you want to run the Qt framework on your target, which we'll talk about a little bit later, this is how you're going to get that end of another QT 5 meta that Holden embedded in other pieces of the system.
The FSL demos are just Freescale demo code, probably not required. The SSL arm will be the actual corn driver level configuration on the target and all the metadata provided by the free scale and then through Digi are actually sort of the main product release layers going into the BSP. , basically for that exact prototype kit, now there's a lot to know here, but basically, when you build bitbake, you look at all these players and then you find all the recipes and then the recipes have individual names and we're interested. the way the business works is like an onion you can add actions to recipes, slice it indefinitely and the recipes have what is called a build priority so let's say there is a particular package in QT five sales in the that you can queue the serial port and let's say an icon that shows an error.
I can make my own meta later, call it meta - useful and then I can call. I can add a file and I can override the T serial port behavior, that's how it basically fits the oven, it's like an onion that builds everything up. this metadata and then it analyzes it and knows who has priorities over who and runs your stuff at the end and then you can modify things exactly how you want and that's how it works. I'm going to create my own. better later, that takes all these other layers of metadata and just modifies them, half of the facts have given me what I want, so if we go back to D to point D AND to point O, this creation project is a really important strip which only calls once when you first download it, so we go back to the instructions and it will say ok, now that you're all set up, let them create and build a project, so here they will say "hey" if you call the source. in this project script with an L, it will list the goal and kind of one in a hundred course, yeah, I'll get there, I'll get there, trust me, I'm Thomas, yeah, but why do we follow the direction?
It's actually a good point, so this lift list function tells me, hey, this octo instant knows how to target the imx6 starter kit or the single board computer, which is a much larger imx6 product or this other larger one until it is xx, not the ultralight like the four. team, I'm an existing on-board computer, so this is all me, this is all that the international Digi repositories brought. Okay, so when you call this script, it's going to set the build environment variables that you need on your target and what that ends up doing is it sucks at some very important stuff.
Romanus sees that you guys are talking about this so I'm going to call this eventually and I'm going to point out that I'm going to say that I'm going to choose with a P I I want to shoot the starter kit, okay, and then what that gives you is this BD layer composition and this local calm and then the question is, where are they? those? Let's go back to the folder explorer and just rack our brains, here we go. to shutdown, so when you call that script, it will be created for you in this CC imx6 UL home folder again, this is where the actual build and compile will take place, it will give you a temporary SS status cache download and then a very important script from a large configuration environment and into the build cache and a lock file and we're going to talk about what each of these are, but first we'll go to the cops folder and this is the build file BB layers and this says bitbake, okay, here are the metadata layers that you are going to analyze when you run them, so if I open them with G you will see that it is complete with my correct folder because that is what the scripts do, points out let's go to use meta what we need is meta Yocto, we're going to use this dolphin, but that's it, we're going to bring in gt5, we're going to bring in these digi metal layers and then that's basically these DD layers environment variables, so now this is a build file there are basically three categories of files that you should care about a cop file and there are only two we will show you both this is a delay or a place where there are three this DB layers file is the macro view for bitbake What layers do I really include?
So if I were to create my own mental layer to customize things, I would add it to this list and then bitbake will parse it and try to find recipes, so that's the first configuration file. The second configuration file is local.com. and if you're familiar with creating code from eclipse or from QT Creator or whatever, a lot of times when you're creating code, you're going to have or even Visual Studio, you're going to have a user dot file that's local and that contains a user-centric configuration. . for a particular environment, you can think of that as the local dot file which I'll show you in a second if I click on extract local file, the local dot file pinned to the VB layers file in the local comp mount folder and it has all kinds of configuration for the build and you can even keep track of what version it is with this little variable that pops up and does bitbake so we can do things like, except the EULA okay, this is a pretty long file at the bottom of RDS .
Back to top These are things like selecting machines and a machine is an environment variable that guides much of the build process. In this case, we have the machine configured called CC imx6 UL starter and again I didn't create this file, that script. we were talking about producing this file, the defaults are all good. I used Digi international git repositories, where to put the downloads, where to put the S state cache, which I'll show you in a minute what it is and basically all of this is just the configuration for your local built in, the defaults are good and ready to go. use and you can do things like here's a nice long additional image feature that the keyword and we're going to turn on debug settings so this local medical file can be used to tweet your bills with these keywords and I'm not going to go into depth. all the keywords because it's like a long manual that you can refer to every time you see these uppercase words with underscores that are a little bit of a big centered variable and when you start based on the bid, it will add or remove content from these, if there are eccentric versions , there are some important ones and that's what basically tells you what to do with specific changes, for example, if I activated the additional image functions tool, Eclipse debugging ad. remote debugging support, so there you go, man, if I wanted to use Eclipse for my IDE in my environment, my host environment, I'm probably going to want to turn on an eclipse debug so I can get the TFC agents where anyone uses the TSD agent. your target and this is how you can debug remotely especially in your target debug settings it gives you gdb so the other gdb based workflow debugging settings are used in a production run when you are creating this for real implementation in the real world.
Obviously I would disable debug settings because you don't want to have the room password to be root. Thingslike so, so we could go through this all day, but basically you just need to know that there's a local calm and then there's a database. compositions layers and those are located under the build folder of the actual compiled area, so if the other thing the script creates is a configuration environment script and this sets all the terminal environment variables that are required to for Diffic to run correctly and we have to get This before running bitbake, the Downloads folder is where all the actual package repositories are placed before pulling and compiling them, so the Downloads folder ends up being very large and with a lot of data , but usually they're all compressed, so you'll see. these are 1593 items currently, it looks like it's a couple of gigs and when I go in here each one of these goes to patches and that file done and you'll access larger items that are actual folders full of code so here it is Team of you who know the community with the simulator, the Linux simulator is great, I love it, okay, okay, so here is the Python 2.7 tar file, so if you want all of Python 2009 to live in this power pot, come back here. the Downloads folder, you have the common folder, don't worry about the cache folder, when I am going to talk about it, the S state cache is an important folder, so while it is running it keeps track of its progress very closely, he knows exactly. what steps are followed for all the packages and the ones that are kept in this S state cache folder, so for example, let's say I told you the first time you run if you get a hundred gigs of download and it takes four hours, let's say that your computer crashed.
In the middle of that hole, historically that can be a disaster, you might have to start over, but because this tape keeps the F state cache folder, you'll always be able to pick up right where you left off, it's actually super effective , so if I kill the halfway, it knows that all these packages are finished and it knows that I have another 2200 packages to publish and it will keep them for you, so the temp folder is where the actual build happens and the temp folder is essentially the one that ends it's getting to be like 100 gigs or 90 days, so if you go to the sent folder we'll get there in a second, but first we're going to do some discussion calls here just to show you a point, so Go back to my terminal.
I told you I can neglect the instructions. I told you what I can do. I can call sources here in this build project and I do it once and it will set up that folder with the BB layers and the local calm. and it's going to create instead your environment for the build once you've done that you basically have to get the environment with the setup script and then you basically call the bitbake frame and now for the image base there's a recipe and contains a top level tree of dependencies that need to be built in order for you to create an image that will actually be your target and again the main image base is an arbitrary name that Digi International set up.
You can create an image called "Know my image" and then you can specify exactly. what's built into that, as an example, is that it gives you a central image base out of the box and that's going to allow you to boot to that digital board that I showed you and it's going to be something like 80 gigs for the entire root file system. light for the tool so to do it let's go back it will be an honor sorry it was 80 megs yeah yeah and if you want to get really atrocious you can keep removing things and making them smaller into a bigger one I just feel like was on the boot processor, hereby check the root filesystem because x11 embedded ends up being like 708, but you can pull packages there if you want, so if I'm in my dy 2.0 folder, I'll upload a folder to the build area real, which is going to be this PC folder and then I'm going to call the source, what the heck is that sounding and it's literally the documentation for that actual product, yeah, and it's nice, you can print the entire PDF of this entire document, these documents They really are kind. crazy, who knows what, like secure boot, never heard of secure boot, well, if you're trying to make an IOT device and you're trying to, for example, oh no, send HIPAA compliant encrypted data to a storage encrypted addresses.
I'm really going to want to make sure that your goal on the field isn't compromised and that's a really good way to do it. I'm x6 and have Linux secure boot support. Which of the projects that has been around for a while and uses hard encryption technology to secure the movement of your operating system, so that the only image we expect the hardware to boot is an encrypted and digitally signed image and then your system root files is encrypted so that if you store the patient client there, you can be safe. that there is no possible way to get that data out and it's crazy if you actually go to this trust fund, this is a feature set of this on this dashboard, you go into secure boot and they start showing you these amazing graphs.
This was a worthwhile read. just because the graphics are so amazing like this you wish it could roll forget where you are absolutely yeah and that's the easy way to do it with Bluetooth but there are workarounds for that and then if you read this documentation you'll learn that there are Much bigger picture, they'll talk about how to get traffic there, so I'll just walk you through it. I mean, it took me like half an hour to read this and not feel like I know more about these are your boots, so I've understood in the past, it's pretty crazy, those are the job, whereas we've seen, they just explain to you how they hold up. really the teeth and stuff like that that's under the trust fence section of the Yocto documentation.
For this board, going back to the instructions to run here, we come to the end here and we're basically about to call the central image base and I got a little distracted, what were we talking about there? Yes, thank you, okay, then the name. from the stack is a DUI configuration environment, let's get this and then it tells you, hey, now you can run bitbake and you can point a target, so if I were to do this eight or image 8/5 X going to spit and it analyzes all the cache of both, there are call dependencies, open the task queue.
I'm going to press an arrow on the first tracker to give you a little bit of information about your Meadowlake data layers. They're coming in and actually the get version they're on is quite interesting and tells them about their goal. The hardware target floating point unit is Neon VP and, again, this is all configured by Digi; you had to do it yourself so it was complicated. but Jesus handed this to you in a box for hours? Are you going to take the GPB product? I see that the pieces of equipment require some are now going to grab the native friend that the company comes with the package or is building a new person. "Yes, the notes are good, both, yes, it's crazy, so building code for your target from a Bluetooth, the targets, an ARM arm, a seven, okay, so that's a specific set of instructions and in Telugu for example is a totally different set of instructions so you actually got a download from the internet the appropriate cross compiler that runs on a Bluetooth and then build that cross compiler so you can then make different clips and compile code to your target.
The other thing it does is when you build a cross compiler it's based on the actual knowledge about which library you have and which ones you don't, so for example, let's say I was building and I wanted to compile against you, but wait a minute, my docs haven't defined it to see that it actually takes care of. That way, it's great, yeah, it's a very good place, so a lot of things will be done, so right now it's a summary of tasks that 4162 attempts were made to pass, of which 4162 did not need to be rerun and all were successful in a super verbose manner and that's basically it. because I ran it yesterday and it was successful, so bitbake with that s-stay cache keeps track of what worked and what didn't work, so let's say I wanted to clean up a package and rebuild it so all these defenses are there.
I'm going. I go back to my slideshow and we're going to talk, so now we've talked through the local communicator, we've talked through the BB layers calmly and there's a layer composition that I should talk about real quick before we move on to each one. of this. layers in the metadata under DUI two sources here is the metadata, each of these layers has its own communication file, this is how it works, so if I go into the FSL or metadigitizer arm and look here at the DG meta arm, there will be a The cop folder is fine for this particular layer and on this particular console - there's a quiet layer, so if we open it up you'll see more fake centered configuration stuff and again you're given this so you don't necessarily need to change. this, but the point is that each layer has its own composition and its specific configuration for that layer and when you see this kind of syntax like this plus an equal couple of environment variables, the VB files are the actual recipes themselves, so Minicon or you would see though they will have their own mini comm DB file and then if you want to add it or change things after the fact, use a dot b b.appendchild and this says, hey, on this layer, these are the pv files that We're going to look in the layers directory, we're going to look in the recipes folder and we're going to start searching for stars, stars, stars and grab all the BBB, so all the VV files, so they go back up to the folder and to that file. come close to something the closest we came back here this is what my DSD recipes go there oh also say who knows everything says you guys have an audio subsystem write everything in Linux Audio love also says so you know imx6 has a audio output pin where you can plug your right into some little op amps and play music and that will also come from this also from the state so look where we are precise we are on meta digi so digi is customized out of the state. but you'll notice it's a dot b b.appendchild which is because freescale gave you the original version because the imx6 hardware audio codecs are set by freescale but then BG said oh let's put let's add that setting.
We are going to make more changes to it and that is what also has the State v V file appended because somewhere else in the SSL arm folder there is also the State v V file and that is the original definition of the recipe, and here we are adding, so if we look at this, it will bring some source file, some URI file, so it will bring from state. I don't know what the O state files are, like the audio levels of the awesome mixer, and then If you look deeper there will probably be some patches, it looks like they're just state files, so basically it's about setting the controls volume and the microphone input and things like that, so that's what you added to that specific recipe, what if we look?
In another, starting is going to be a bit complicated. April's firmware, so why do you think the throats firmware is on the digital metal layer? Any time you see these terms, I mean, you can just Google them and find out what the heck they're talking about. This is going to be the firmware setup for the Therus chipset that's next to the imx6 so everything can connect to Wi-Fi and we have Bluetooth, so if we go in here we have a firmware that April stops powering, you can see how that setup and then these folders right next to the BB files contain source files and custom patches and things like that a lot of times.
You'll see an actual dot patch file or you'll see something here. This container is probably some kind of binary firmware. I mean, this gets pretty complicated pretty quickly, but the important thing is that they set it up for you, so that's what the topology looks like going back to the tree here, going back to the sources and all of that is right under the meta layer digi . You know, we can add our own layer and make even more changes to those that we wanted and so the build file goes back to the original point is under each layer, it has its own layer communication, so in big fake it goes into a layer and it will build all of this constantly, so if we go back to the slideshow, those are the three build files and that's it. like all you really need to know, you're not going to change the dotcom layer files unless you're creating your own layer, which will allow you to read the manual and learn how to make a layer icon file.
BB layers are really a simple one that just tells you what layers of metal you're actually going to use and then the local doc creates specific settings for you as you search and there's tons of documentation even on the local dot com file that shows you what you're actually in. interested so we just talk about base metal layers plus target metal layers so layer base is like i talked before with example also freescale gives you base VV fileand that will compile and work. but because Digi wants to set a mic gain and things like that, they add them so you add to that layer and then those rules are built in after the fact, so let's back up a little bit now, I'll show you a couple.
Things aren't a good place, so what if I did it with a seed command, which is a specific command like a handful? You can consult the Bitbake documentation. There are all these switches that you can use. It is a very common one and we are. We're going to say clear all and we're going to say all, so let's just press the name that we electronically present quickly, so one that we were looking at was under the sources and then its digital and the offer thread and it was VSP. and then there's also: the state is the name of a recipe, so let's clean up that recipe, so first I'm going to spell it wrong and also stack, ah, so it will check the cash and you can say that nothing provides also things because None of your layers has a recipe called all this and it's even as good as saying you know what, but there's also a state that maybe that's what you're interested in in the pickle figure that Israel is trying, which is quite sweet, it also says, like this let's go to clean the state and everything, now historically you have to navigate the folder, get to the may file or the autocon file and then call clean and that would take you forever, but you can do it all from on, you can just point a recipe and call clear it and then if I were to do this again, I could build instead of building the entire image, which is the core of this name base keyword, it was the hostess minute I could go, just also say , let's do that. so look, you're checking and see how there are 735 packages, that's the Dependency Treaty to build.
It's also crazy, you can literally see what's happening here, so it was saying 735 packages of which 722 didn't need to be run again because those packages were already clean and already built. correctly and everything was successful, so we managed to re-crawl the source code, attach it, compile it, package it and I already developed it, I also packaged it, it's great, it's also great, so let's go over a couple more of these baked flags that fit . learn a lot more about those big words, so we talk about recipes and packages, kernel configurations. We'll show you that in a second and then the results and then the implementation, so if we come back here's one more slide, so here's a set. of the date commands which are super useful we'll go through a couple of these so the one I just did was the fake package see tasks so one of the tasks available for each package like I said there's a set of five ish is a queen and I set gradual recovery, you can force those routes to run.
The See Dead Shell switch gives you a command line call that basically allows you to access the environment of that package, so if you want to call, do it yourself or do some configuration. making that package Sealift Tasks is quite useful if you don't make it so big - and above Monica - the package would not have asked for any and also space, so can you tell me which half exists in terms of build steps or out of key state with is he helpless? There you have it, well, it turns out there are actually quite a few more steps.
I narrowed it down to symbol one, there's the check URI, there's a clean build, so you can run any of these individually, so it's a good way to check what steps are involved. When building this specific package, here's a fun name for a kernel recipe. This will really strike a chord with these people who have done this by hand and in the past. If you do, kernel recipe name: key men using Big Watch, remember how hard it is. to get a dam, then you can do your job properly, so I just want to turn it on and then you could say, "Okay, did they do it?" See the big menu and I think the name of the package that is actually provided by the kernel in this case is called and I haven't done this yet so it might be on Linux: quick and if I'm wrong could you tell me how close to the hands of Bui Bui you want little more.
Yes, and they say that is the name of the kernel package to get Linux for a kernel from the Internet and compile it, so now we are doing a cross step to compile, this might take a moment. let it go and then it will exit the menu today, which, if you're younger, maybe you've never seen them in a long time, if it doesn't feel like the real UI, you can use to set the kernel that you want to turn off the USB. Drivers just turn them off, you want to turn on Wi-Fi, and you want to make it so you can't plug in an HIV keyboard.
Enter money, you can get millions, exchange them on the terms that result if Get Rizzo and spend some time reviewing that he can choose his legs. Learn a lot. There is a lot to learn about what Linux can and cannot do. More drivers in the system. System support. Player vs. system is in red, yes, yes, you could say that we. could turn on and grant us you can turn on I mean there are so many switches it's cool you can turn on specific drivers for freescale so there's a neon BTU hardware floating point accelerator on an ionic 6 so if you turn on those I'll look at those guys and you'll find yourself diving into the drivers and finding out where Freescale actually put the configuration settings in Linux.
One you can fix, you can turn hardware floating points on or turn them off completely, there's a bit of health. information for each option when you set up like 9 out of 10 times to go to numbers, they're busy, you throw people overboard, so if Congress ever runs this before you come here, you might need a couple mentally, so back to this, it's not like that. amazing result that we can call hit bake show layers that will show which layers are taken into account, you can show recipes, you can search through the recipe like star in each star, it will just show me your eyes of these attributes, an output image that De done, we can move the target.
We can print environment variables for a single package that you can clean up. I showed you that one that you can activate to get the most results and let me tell you it's really for both crazy turbos if they just scream at you at all. details if you want to dive into that heart, I mean the last thing I want to show you before we go back to the furthest line, it's really cool on the call, exported gu depth and what that does is it actually gives you a Walker dependency for a package. So a lot of times within you the build will be valued, oh I don't know, because this other piece of software is not the correct version, one that even calls the package, think about all the dependency on that specific package and then you can say , Oh look.
Also the state depends on the whiskey or maybe it lasts, but we can also call a reverse dependent. You can see what other packages I don't mention are also very powerful and coming back. They compile something good for super customization. do a lot of customization, you're actually oh yeah, yeah, I mean the average experimenter, you know, yeah, it's nice, build everything you need, yeah, so you do the digital connection of our workflow that I just showed you in this build . the menu can fit them, they are going to work perfectly, it will have all the hardware functions of the imx6 activated correctly, so I don't know, come on, I'm lucky I'm recording the screen.
I'll do it, okay, so now. we're out of what we do ourselves, this is going to make sure that you basically have a package. Everything I'm going to do fills this room, so actually that step is where they put it in the final image from which boochi boochi board when bit. I haven't shown you this yet, but when they completed it, you literally have SD card images that you can literally copy to your SD card until you speed up your perfect menu, so this is something you used to have to do from the command. line, it's complicated, I know they were actually hour long parties, professor, oh man, we should have a full presentation, so here you didn't say, well, I want floating point imposition, there's my BFP point of view, the half of the things we are. in math, so yeah, you can come through here, you can turn on any of these things, you can just play and shoot me now, but like I would do it and I like everything, I want to archive everything and then I figure it out. to consider that no, you don't like it, it's like you've added an option or a policy.
I didn't like it, it had compiled, yeah, that's where I want to see some reverse dependency errors or both cities. Yes, what did I select? That's cheating the colonel. yes, yes, the bank will help you a lot with that because when the visit fails, I will show you what it really looks like, it will show what I know, it will not tell you how the Colonel's dependency went, unfortunately, that alone I just need to be a guru to understand how Linux software stacks work, but what's good for them if you make it simple? Well, not continuing with the training, but I'll answer that, but the workflow can be a little simpler and use less, I say. change the menu setting option.
I can go back to the command line in buffet and do VIP, they clean up the Linux DUI and it will clean up the kernel and then I can just bait compile it and it will rebuild the kernel and if it fails, I know, oh, I just flipped a switch, not now is built, now I know what happened, usually, what you're doing, colonel, when you can fix, change one thing, the file I put my drive to work for, change another finger, you can find device drivers. it has everything, there is something invisible, almost like a work of art, which is like the size of the wall that shows the flown and silent delivery options, um, yes, use the printer, chose a text, they could only save the method of text, yeah, so this is the current menu settings folded alfetta chocolate silky ends up creating a dot settings file and that's a plain text file that has all the modifiers that you know, yeah, so you can forget about it, yeah, we actually control it, although with the metadata that we produce you can save it in Subversion, very useful because or give because then when you change the curl configuration, the point configuration file changes and then you say, oh, I turn on the switch on my hardware , it doesn't boot anymore, okay, revert the dot config file and you don't have to remember how to change. the source control configuration menu applies to the masters, keeps track of what happened and then here's a really interesting Walker dependency.
Let's try this big G U image and export the source inside, like I know what your question is on the last one and you said potentially okay, so let's go. to do this command here called on the second from the bottom, big, big. Oh, Apple, the version control part, yes, yes, no, but it's great, it's a good point to understand. I'll understand very quickly, when you do this. end up doing was like the pro workflow: if you go to this metadata, you'll notice that there's a Disney meta, well those are all the new recipes that gitche made to customize Linux binocular for that board, but if you had your own dad, we took that imx6 and me.
Put it on my own printed circuit board. You could have ten outputs that are a little different. I might need to change some things, so what I would do is make a meta of my project, oh okay, and that then contains metadata for your particular target and in that metadata would contain those configuration kernels as fun, but then what What you do is commit everything that's in your custom metal layer into a gift so that if you're changing things and then you break your build, you can go look at it and see what files have changed and how they've changed, you can revert them, it makes it your safety net and then as you configure more things and it works correctly, you test it, push that negative to your git server for that metalhead. plays a big role yeah hi literally I would like the retina bro architecture for which they open as a cross compiler you just cross compile Colonel you just waste your time if all your hard work yeah that's exactly what we are doing here when you shoot, then you configure, you change things based on rebuilding the colonel with those changes, okay and it's really a string line because I can press compile the frame, it will detect that the colonel for a big change it will rebuild the colonel and they will produce a fully optimized SD Card in Detroit, so all the status G udesky XD, this is really cool.
I was blown away when I thought about it the first time. Wow it just appears, but this is written in Python, it's actually split, it comes with bitbake and now I have a huge tree showing this Meneses of a particle that actually isn't somehow. I corrected it and corrected it, these are all the packages, no, no, and this is not just for the device, so if I click on the details, all the states of the line that I ran. at runtime depends on the development state, also the states of theutilities, also CTL, those are other packages and then for other people to build this is what is called the opposite, it depends down here, there is no reverse effect, but what happens if I click on a different package like something a little ? a little more low level find a good one g lib 2.0 okay well Julia 2.0 has a flip side that depends on your death so Angela herself from Mexico title only has dependencies from our cognitive gchat get text and these They are all the dependencies to build you. on that, yeah, and what a deal it takes virtual, get me one, it'll go to Google and I'll package it up, but it's a pretty awesome tool that you can click on.
You know any of these packages that you have used to try to get the Windows subsystem. fuse library fuse I don't think it's currently not listed, but I could say that I can create a BB file that tells Giotto to go find you and compile it, so yeah, what the rest you can't. no, no, like making a pun, so if you enter a recipe and that recipe depends on some of the recipes that you don't have, it's a problem not to compile, that's why you use the Walker dependency on your elbows. okay, pretty slick, and then the last thing is to make the image look filling the SDK, this is an important step, it actually gives you the SDK installer, sorry, 11:48, so let's get to the end of this year, the SDK installer is what you actually extract. in its glue to VM to compile the software against the target, okay, so let's see the physics result, the bit bake runs, digs, vaguely successful, all the code is in this folder, this temporary folder has half a million of files, maybe a million final files.
Check it and in this temporary folder are all the results of the objectives document. There are a lot of folders that work. It's where the actual recipes are created, but if I go into one of these categories here, you'll see that it also connects everything to the utility. these folders are where the actual source was built, so d-bus, which is an interprocess communication stack for Linux, looks at how Linux and the death of Aaron know that when you plug in the USB device, you should monitor the USB and the impulsivity bus message and say the rest of the deaf pop environment, a USB kitchen, let's go as a distributor if there is the version number that you created and then, here, in the images of the output of the actual root file system, some of the phone files go to EGC folders.
I'm going to stop users from going crazy because image retention is what really goes under the file system. You enter the deployment RDM. Here is a complete ebook RPM set with Candide to install manually if you want and then. if I go into temporary, this is the action log output of each build step. Well, right there it makes our game files load with two things in these, you already have to compose, yes, sir, yes, so if you look at this folder here we have the build folder. which is where the actual new files and things are, we'll have box D 182, this will be the actual git repository, in fact if I sort this and then turn on fetch rocks, we'll see the actual fetch repository shown in the model. be it like dakis night it seems like dizzy is really trying to play nice with the whole distro they are trying to play nice with everyone our game is abandoned yes in fact as a bitbake feature you can specify that i want support rpms, but the FTP or opk, it's fine, so you can argue life if you do support for all evangelists, so it's not necessary digi that did it, it's the Yocto workflow that made that decision.
It's okay, generally they all fill the entire package size. Here is the split file, if you know. how the elf files are built, you split them anyway here somewhere, if I look closer it will be the actual source code and Inca Tears ebooks, but there should be a dot gif file and if it wasn't extracted from the freebie, it won't have a unimodel, but if you kept it on hold, forget you'll see a dot git flatten repository built for the commit history, so we're back to work again. This is a list of available package categories, not all of these packages actually reach the root file system. is there a special rule in those local compilers or you specify what packages you want in the twenty, you can't even just be like an image in the store append and then name a package and then it will quickly put it in there, that's more documentation you have to go look, but the bottom line is that the job has all the actual build stuff.
The shared work is where the Linux kernel is built, it just happens to be in a different folder. The log will be macro logs. Each package you enter has a folder called. temp and this is where your build log is placed, this to keep the package pretty robust, you can see why for every build, for every package you end up getting a lot of help, that's why you look at a hundred flags, one is done, what It's interesting. This guy implements, this is where your result goes, yeah, going to the results folder and we have licenses and RPM images.
Well, rpm will be a big list of all the actual usable rpm. It's pretty crazy, you can go straight through the GT based boxes. here DejaVu I wonder if I have, you know, cheeky pods that support the other digits right there, so you can cycle through this set of folders, you can allow which one I built and pretty soon, you're the only result made rpm, now there's no way we're getting there faster, so we are in the deployment folder. in that life it shows you the RPM to go to the images, let's go to the machine name, this is a UPI FS root file system, a format that you can extract directly to an SD card, connect an x max cable and turn it on.
So that's the set of components built into a single boot image and a lot of times if you get a variscite like this, it has a big key card, it's a little bit easier, but the instructions on the Digi website will tell you. they say. how to get into the contents of this folder and put it on the SD card to change its course, come back and here the images implement this folder is willing to say that my boss is like any man, we can't have GPL version two in our products. I say, well, that's no problem, but I can go to this life and folder and it will tell me all the licenses for each package, so if I go into the busy box, it will also say GPL full or if going into d-bus is GPL to go figure, fitting is difficult, what if I went for this great weapon, a powerful one, so it's very very good, I'm not looking for any problems, so it's probably your thinking man to have them all deployed and feel pain ? actually there's a little call, I don't remember what it is, you can be like a little bit big export license manifest and you'll spit it out as a comma separated values file that they just have, so that's pretty fancy and then if Return to the slideshow, there's a note here that's a little big and in View Complete SDK we haven't run it yet and it would take like half an hour so I won't do it, but if I did it in the deployed directory.
There will be a file called SDK in there, there will be a single point H file which is the script you use to extract the SDK onto your Bluetooth route bus so that you can then point it and which contains all the compiled tools needed. that QT or eclipse creator would need to set up a sequel subcontract build to run on the target, so we don't have that folder, but if I actually ran the SDK, it will have an SDK folder and that's how you get your toolchain , cross compilation will serve two in your doctor's goal, so it's quite useful, excellent, okay, now it's not about big paper, review the rest of these slides until the end of lunch, it's fun, so There are a lot of tools that we recommend.
I recommend having the mega manual, it's a really fun file that's huge, but if you move on to accepting their documentation now and just in case of news, if you're the BSP guy, they'll all be SP for your canvas. for your Crocs there is a whole time for that, you are a software developer who simply develops code for the goal, a visible guide for that, if your kernel expert is a guide for kernel configuration, so if you look for the mega manual from Yocto, it combines all of us and it's very useful because a lot of times you say, well, I don't know where this twist really is, but I'm probably not going to be in the group. t-mobile, this is a huge document, so I look as you know, I look in a recipe file and there is a term, I mean, I don't understand it, the underscore in the image, installation Outlook, it appears here and, if you really looked for a job at the congressman, hit the link to the actual definition and then here. is the description exactly what that variable does for the visitor okay so the ocular documentation is really amazing and the octo itself has a quick step guide and you could be the quick start without any hardware because they will create a Yocto image and then It will allow you to run akka women, you can achieve that when it's an emulator, so it's a pretty elegant way to do it, so the yakko documentation allows you to do everything and experiment without even having the target hardware.
You can build an engine and run it under teaching. under a virtual machine inside Moose, so I think it's necessary to be quick, but let's add a couple of other related concepts and then that's all I have, who is the person you call platform. You would like, oh, like a desk. Actually it's me. It had to be in VirtualBox, okay, Oracle VirtualBox only for every time I downloaded Dumbo VI suribabu to 1404 that had a keyboard like a virtual clock, the virtual machine came out, glimpse well, yes, Cuttino, going through the image file, a new group will be run within the Bluetooth. inside the campus virtual machine, so I find that things come back to your question no, it's not QV that a few years ago that emulator and I pressed configure to run a kb m two new vertical nations your online barbarian is well related, it is well one of my virtual boxes, yes you run VirtualBox to meet them, so in a more advanced concept, let's say I have our x6, there are for you our channels, but I want you to be one beyond the pins like 34 and 35 , well, that will be a controller configuration. and then what you have to do there is go into the Linux device tree.
Now, by default, the DG has already configured everything for that target hardware based on that NFL market analyst's documentation. It can tell you where the LVDS header is for graphics. where the Wi-Fi is and all that, so they set up that if you need to change it yourself, there are these files called device tree sources and you'll be able to go get them. I won't take the time to delve into them. that detail, but they look like this and man, they are complicated, this is complicated as things get in Linux because it is basically a structured scrap file that defines the device drivers and you will notice right away that I don't have a expert in this where exactly the interesting thing is that each node represents a controller and there are sets of many ways nested and they reference addresses, there are all these magical things ourselves 32 the values one two three four a cell property who knows who is nobody because he knows, but the important thing is how you find out what the hell is allowed in one two three four five I have no idea maybe other numbers are allowed maybe maybe it has to be one two three four I'm not sure, so what have?
What you need to do is understand what controller they are talking about, in this case the masternode and this is not even a real example, so there would be a keyword somewhere that says something like "do you know Vpu" and that would be the unit floating point that you could set for example, or maybe it's some GPU or IPC turnip in the term, what you'll find then is that it's an eye to see, let's say then you need to understand what driver you're actually talking about and once so you know which controller is often talked about, I'll just go into the controller folder and just search and you'll make a graph for a cell property, you'll find where it's actually used in the controller by name and so you can look at the code of the controller and say: Oh, I see where you are loading the device tree binary configuration.
I see where 1 2 3 4 is actually going to be used and this is how you can change this file to have different settings for that particular one. The controller is fine, because he says hello to Wayland Easton, who needed to leave, but this is how you would do it and then basically the DTS 5 volume, the DTS files that are compiled into a DTD file and if you remember, it goes back to the beginning of this presentation when you move on. to the kernel, it points out that a kernel itself conforms to the kernel binary, the debounce system, and a DTD build device tree binary, which is the source code version, but when compiled it became a binary implementation.
I'm glad they canrun on one engine at the same time yes they are, they are little kids, you guys vote them dynamically at runtime, so it's interesting like this dev kit, there are a couple of flavors and variscite has a set of starter mods in the youtube source code so that when boot kicks in it actually knows how to detect what hardware on the board and then based on which board it detects it loads the difference of the I Street binary to load for that actual board, that's why Wi-Fi works magically with the same thumb on three different ones.
The development boards are specifically fine, so the licenses haven't talked about this for a long time, but this is a common theme since your quote if you end up doing better than the additional products, it's really where you want to be very, very clean at the moment. regard. To the right of this line, gplv2 is now a little more restrictive. GPL, three tips may annoy, but everything from here was overkill like Lydell and you never have to publish a source code, you can change it normally if you change the mode I have to provide the change, close the Internet that way, but you talked about it during a long time.
There's a lot of buyer beware mentality around embedded Linux legato that's helping to create that wonderful problem and then another cool thing about Yocto is that you can learn a lot. on how it works if you just look at the commit history in the source, check out what people are committing and you'll notice that there's actually a huge community of people behind this, everything you're going to get out of the Qt framework is really cool, so in our example, that's artboard or sorry, the connect core supports the Qt framework and to bring it in, let's find that click on connect core, let's go back to the root, let's go to the communications file in the root of the directory compilation, helpless directory, there is a local calm energy. go to the end.
I have set up these additional image functions. If you look at the main connection documentation, they say this to your hand and say, "hey, you could put things like DUI QT or DUI dentist and then that will trigger the build." system to get the Qt framework and then configure it for this target and then you can run the Qt framework on Atari. The QT framework is basically like this giant copper stack to be the kind of thing you have to do on a desktop. very, the file that talks to a serial port is simply abstracted into the following classes q serial port, you know the QT bus exists, you want to be bus, there are like two audio outputs, so you don't need to know anything about how it actually works the audio in the system, you just call a reference audio output, say: I want the sine wave at 350 and then gtk takes care of the rest.
Some QT is an open source stack if you change it and you'll probably have to get a professional license which costs some money. Acute license testing is very, very popular for embedded systems that primarily use qts. You probably already know this. The UI space is actually a CGI stack, but it also gives you a lot of similar real classes that have nothing to do with you. Snowing tonight, so Cutie has this new framework called QML. It's great too, we're doing a lot of that event these days, but it's the quickest way to get a better system.
I'm going to do it, it's pretty powerful and it's like OpenGL. It accelerates automatically from the get-go and things like that, so it has great performance. I'm going to move on to the slideshow. I think I've reached the end. Hey, look up a Linux cartoon, thanks everyone, that's my dog, if you have any questions or anything, yeah. go feed him interesting graphs that showed concurrency, are there crooked lines of them and Kevin, which one is the truck? If you just Google, I connect, you put down six, twelve, they're abandoned products and then in the official documentation for those products, there's the website that I looked at and there it's called the trust fund section, which has really cool graphics that they show how encrypted the Bluebirds are.
Some people do, in fact, the top is really smart and vijaya. I really thought I wouldn't do it. It basically surrounds. an encrypted key there is a key that is burned into each imx6 out of the box and cannot be changed and then basically there is a workflow to use that key and your company's own certificate to produce encrypted binaries that just that imx6 knows how to decrypt and run, yeah, so you can't move the kernel without that, without that key sign and without the certificate and the private key, you can even create visible binaries, so the workflow is very, very sure and you can promise people that there is no The way a virus takes over the system and puts fine areas that are not allowed in the image of your food, but like a file system lock, there is simply no way that a virus gets in there and they're running things that aren't good. it's pretty good, so you can make your file system read-only and make it even better, so yeah, there's a lot of PHP-like security technology that went into this ionic 6 from a network, right?
Forest Grove Institute. I'm sorry, son. The corporate trilogy is great so what you have to do is there is a build step and help you with that in the documentation that takes the certificate for your company and use the Republic key information to produce the encrypted binary and then the private key signatures. they are placed on the target in an encrypted way and that's how they don't target money, but at no point do you really believe that your company's privacy is very slick and the charts that I showed you will guide you through the whole thing; actually the recommendation is a bit of making the whole product for demo, you can go deeper, yes if you just want to create an account you can go to a certificate authority and issue yourself a certificate and then yes I don't even think you need a certification authority technically.
You can just do the invoice tomorrow, but that way professionally use the certificate authority, but you can authenticate that the public is valid before moving the system.
If you have any copyright issue, please Contact