hey what's going on welcome to part two in ublue OS and what I'm going to show you today is how to create your own repo like I showed you in the previous video at high level but now show you from scratch how to do that how to generate your own image based on the config files and the template that's there and also how to rebase to that new image and also how to make a change so yeah basically this will be an in-depth video but as you can hopefully see at the end of the video it's not that complicated to do it. I have my desktop here what I'll do is I'll completely start from scratch so assume you have nothing so I'm also going to assume one other thing and that is that you already have a booted ublue OS variant and that can be any where you have the bootc in there so that is that is still a prerequisite so that you should bootc status if you do this of course provide your password that you at least have this if you don't have this then it doesn't have then it doesn't make sense for you to follow along maybe there's another way uh to have bootc but that's really out of the scope of this video and if you're at this moment wondering well what is this all about then make sure to check part one I'll have it popping up in the corner at this moment so make sure you have the bootc ready to go and you're booted from there and here's my repos or my variant is scaling octo meme uh uh just a random name so step one go to uh GitHub.com and then go to ublue OS that's step one and sign in I'll pause the video signed in let me uh move this here move out of the way so repositories and search for templates sorry template singular the image template that's the one you need to have and if you're signed in you'll see here uh in green use this template right so create a new repository based on that and you could generate a a name musical couscous why not and this is a a demo a repo for video to be removed later all right and just go ahead and click create repository and just in a few seconds you will have in your own account you will have it now what you need to do first is clone this repository and to do that you can use three options https SSH and GitHub CLI and for this video I have set up my keys and if you want to know how to do that I'll uh make a small side step if you're not interested in that and then skip to the marker I will have the time stamp here and I just go to there and then follow along so if you're interested in how to set this up using SSH Keys open up a terminal so on my machine I already have this and let's generate the commands so use commands the command is SSH keygen type RSA so for improved security if I hit enter now it will generate a key so two keys one uh private key and one public key hit enter here so it will ask you indeed where to save the key if you just hit enter Then will override my existing so I will not do that and will also ask you for whether or not you will want a password but just for the sake of this video let's um so ID RSA demo enter so here you have the passphrase enter for no same again that's it so if you now LS your key h we have a couple of keys here and also the demo one so you see two so one is the pop and that's the actually the one that will be adding so if you catch that out uh this so I'll will remove this key later so uh no problem in showing you this string for now so just copy this to your clipboard right click copy so this is the generated pub key and in your account you go click on your picture here and go to settings settings and then go to SSH and PGP keys let me zoom them in a little bit here you click here you'll see the existing ones and just add the new key in here uh just paste and then you also have that unique identifier you can add your own but yeah as you can see here so if I now add that SSH key in here it will be added and then I can follow along with the rest of the steps so I just added that and never used that's the one I just added I'll delete it from my account okay now you can follow along again all right so welcome back uh if you click here and then you can copy this URL to your clipboard and for me I Al uh in my home directory I have a git repo so then you can just do get clone paste it using the SSH keys will resolve it you can also use HTP but uh for now just use this hidden as as well so this is what you get out of the box and you don't have the keys here but that's the part we do next so let's scroll down and you will see here uh First Step install the cosine CI tool click that open and on my machine I have Brew meaning you could use Brew so Brew install code sign that's basically it there other ways just check it repository uh but this is a very important step I already have cosign so we'll just reinstall it done and it has installed it indeed here so you can just close this turbinol open up a new One console in my case and run cosine cosine to here we have it all right can if it's done installing you can close that window and in the directory so need to go back into get and then musical you run this command uh in the directory Co red Keir no password done so here you have these two entries pop and the key itself so don't be alarmed uh we have already a do get ignore file and where you have the cosign do key so to prevent to accidentally committing that uh for the whole world to see you will need to set that up uh later in the later step but for now is fine so we come to that step three add the private key to GitHub so this can also be done manually go to repository settings under secrets and variables actions you go here repository here settings scroll down and secrets and variables and actions because it's using GitHub actions okay new reposter secrets and then it's important to specify the right name for that I will open up a new tab and let's go back to my repository on step three and the name is signing secrets signing secret copy that paste in there all right and here you cut out the cosign do key so I remove the key after this video so uh no problem showing that to to you now so copy control shift C and then paste it in there okay add the secret done it's in there let's go back to can close this go back to repository and then commit to coign pop to the root of your get repository so it's already in there right get status you see that's the cosign pop is red so it's not included yet so do get at cosign poop get uh um commit with a message add cosign key up key get push get push and now it's in there all right and that's basically it so that has been done and and you see here actions you can see it running here in progress see for some reason I already have a pool request that's nice some automated pr request and it's running now so get up actions is running and let's leave that running and uh check back later after a couple of minutes it has been completed and she indeed uh all the stuff here push to get up container registry cosign sign in the container get container registry check out uh so you see everything uh coming past push this one and here you will see that is indeed done so this is the address and this by date today but you can also use latest you can also see here successfully pushed to latest grab that and the only thing you now need to do put up new console should the bootc switch and this one so if I had enter here I need to enter my password give it some time and then just reboot and then you will boot into your new operating system it's done just uh do a system CT Reboot system G and then you will boot into your new OS and for that we switch to the mobile phone to capture it so here you will have the two entries and the first one is the one we just created silver blue hit enter and uh go into there so for me it will have my users so I've have test and I have my own user I can just log in all right logged in to gome let's continue with the video capture all right I'm here let open up a terminal so let's validate to boot C status there you go and that's uh that's the update um so now we're booted and the cool thing about this that it takes your yeah your personal data along with you so you don't have to do reinstalls uh open up uh private [Music] window. um account and then uh stories this one this the one we created and here you have the container file let's say you're happy so let's say you're not happy all right P sudo bootc roll roll back just do roll back because this is the roll back image but warning you can only have two of these entries so that's a warning you can only have a booted and one roll back so and here you can change if you want uh also build.sh t-x you see t-x is installed t-x TX it's I'm not expert as tmox but I think just launched here you can see here green so meaning t-x have been launched terminal multiplexer example CR is a drawing program I use that a lot it's not installed here let's say you want to add it this one so you can add your programs here like this save it commit it and push it and then it will re rebuild the whole image and have that software in there uh I can show you that of course you might be wondering how to test this and for that you have tool box create a toolbox and create one for Fedora 41 tool box toolbox enter and you are now in toolbox root a toolbox and here you can test if you can install something for example CR that I just added to the file you can first test it if it does if it doesn't install then you need to do something else oops um so maybe this was not the uh smallest example but uh at least it works so here you go so you can launch the program and give it some time it opens in my other screen I see there's a k so that's one way of doing it so exit toolbox toolbox is very handy so let's say you have now validated that um stus mhm so here you have K uh entered it in here so callon X to save add more sare so if I push it now and go here and then we see here that it's indeed being picked up and let's just wait you see the change here now wait till done and then I'll show you the update and after a couple of minutes it should complete and then you sudo boot C update you see one layer one layer is needed and it makes sense because I just in the same layer I added a new piece of software and then uh just need to update that one this done you can see everything that has been done one uh layer removed one added the size was this and now it's this and just uh as normal reboot and just leave it like this and then you will have to new boot into new version and back L uh log back in and I see the newly added program here and you can just start using it yeah and that's it so uh if you're not happy then uh you can easily roll back using a Bootsy and U I would say have fun testing it and using it and uh that's it bye-bye
2025-02-14 22:34