 My name is Ben Schmouse and I'm a Field Product Manager at Red Hat. Today I'd like to demonstrate running Red Hat Enterprise Linux 9 on a VM on an Apple Macintosh PowerBook. The demo that I'm going to perform is on a MacBook Pro with an Apple M1 Max processor in it and 32 gigs of RAM. It's also running Ventura Beta 8. One of the reasons why I'm using Ventura Beta 8 is that there's been additional feature functionality added to the virtualization framework from Apple. Apple first introduced the virtualization framework back in Mac OS Big Sur, but as a Ventura they've added additional features which make it possible to do things like EFI bootloading, which allows me to boot my REL Enterprise Linux ISO into the system. So with that, let's go ahead and take a look at the demo. In order to access the Apple virtualization framework, I'm actually using another open source tool called UTM. UTM gives me the ability to create VMs without having to know how to actually code and Swift and access the virtualization framework. So let's begin by creating our virtual machine. I'll go ahead and click on the plus here. And we've got two options. One is virtualized and the other is emulate. In this case, we want to choose the virtualization one. Emulate allows you to do things like emulate x86 processors and whatnot. We're not interested in that. We want to actually run the native CPU architecture. Next, you get preconfigured operating systems. In my case, I'm going to choose Linux. And then on this screen, we want to pay close attention. We want to make sure that we've checked the box, use Apple virtualization. This ensures that we're actually using the Apple virtualization framework instead of using QEMU emulation, or as you can see further down, doing x86 or 64-bit emulation as well with Rosetta. Next, I want to scroll down to the bottom of this screen, and I want to select my boot ISO. In this case, I'm going to go ahead and choose the REL9 DVD ISO that I downloaded previously. And then I'll go ahead and click continue. At this point, I'm going to go ahead and put in my memory choice. I'm going to go ahead and put in eight gigs. This is just an arbitrary number that I chose to use. I could have left it at the four gigs that was there. I just want to go with eight. And I'm also going to set the number of cores to eight as well. I'm going to go ahead and click continue here. And I'm going to go ahead and leave the default storage or the default disk drive as 64 gigs. Again, you could increase this or decrease this. It all depends upon what you're trying to accomplish. But for this demo, we're just going to leave it at the default. And I'm also not going to go ahead and fill in any shared directory path. This particular feature is kind of interesting because it allows you to share files between the host Macintosh and the actual VM that you are going to be deploying. That might come in handy when you're trying to move files instead of having to SCP them in and out of the host. But in this case, we're not going to do anything with that. I'm going to go ahead and click continue. And then this just gives us a summary page of what we have for our current VM. I'm going to go ahead though and rename it to REL9 and click save. And now before we actually run the VM to do the installation of Red Hat Enterprise Linux 9, I'm going to go ahead and make a few more changes. So up in the upper right hand corner, I'm going to click on this little icon and it's going to bring up all the details about my VM. I'm going to show you the information, the system, which basically includes the CPU cores and memory. How is it booting? And you'll notice the boot loader is set to UEFI. And then some of the virtualization features that we can enable or disable under this screen. But the key thing that I wanted to do in here is I want to go to networking. In networking, I want to change from a shared network, which if you're familiar with virtualization on Linux, you would often associate that with doing netting and using just a shared network. In our case, I want to do bridging because I want this host to appear on my network of my home network environment. And I'm going to go ahead and set the interface to ENO0, which is the actual physical interface of the Mac that has internet connectivity to my home network. The other thing I need to do, and this is really just because it's a bug within UTM, is that I need to go ahead and remove the actual ISO image that we added when we went through the original wizard. And the reason I have to do that is because in order for me to turn on this VM, I actually have to have the installation disk listed first in the drives and my ISO listed second. If I have it in this order where the ISO is first and my boot disk is second, it won't actually turn on the VM. So we're going to go ahead and just delete that drive. And then I'm going to go ahead and click New and click Import so I can add that ISO back on. And so now I have them in the proper order. I have my boot disk and then I have my ISO image. And I'll go ahead and click Save. At this point, we're going to go ahead and fire up the virtual machine. And you can see we get the normal start screen for installing. I'm going to go ahead and choose to install Red Hat. I'm going to skip that media test. And now the system will boot with the initial kernel off the ISO. In a few moments, we'll see the Anaconda screen that you're used to seeing when you do an installation of REL9 or even REL8 or REL7 for that matter. But again, it's the familiar screen you're used to seeing. And we'll go ahead and click Continue here. And then we're going to go ahead and make a few changes here. First, we're going to go ahead and change the networking around. So the networking you can see is already working because it did pick up a DHCP address in my environment. But I want to go ahead and switch that to a static IP. So I'm going to click Configure and go under IPv4 Settings, change it from DHCP to manual, and go ahead and click Add. And I'm going to go ahead and put in my IP address and then my mask and my gateway. And then I'm going to go ahead and put in my DNS server and my search domain. I will click Save. Now you can see it has updated it to the 10.0.0.25 address. I'm also going to change the host name to M1 and click Apply. And now we are done setting the network information in this screen. So we're going to go back to the previous screen. And we're going to go ahead and select an installation disk. And it's automatically picked that 64 gig drive that I set. You'll notice the device shows up as VDA, a virtual device. I'm going to go ahead and leave the storage configuration to automatic. If you are interested in doing a custom partition, you obviously can do that here. We're all familiar with going through that kind of scenario. But for demonstration purposes, we'll just leave it to automatic. And I'll click Done. I'm going to go ahead and set a RIP password here. I'm just going to use the password as password just to keep it simple for the demo. And I'm also going to add a user and also set their password. And now we have everything that we wanted configured. Again, if there's other things you'd like to do like change the software selection or the date or the time, you can do that all through this screen. We're going to go ahead and click Begin Installation. And now you'll see that it's partitioning the disk. And now we've started to go ahead and install the actual packages to the disk. This will just take a few moments, but you'll notice it's going by fairly quickly. And that's one of the things I have noticed when using the virtualization framework on the macOS is that it seems like it's a lot quicker during the installation process. In fact, anything that's going on seems to be just a lot quicker. You can see we're already halfway through installing all the packages, all 1153 of them. And you can now see that we've finished installing all the packages and we've gone on to starting to configure things like Grubb in the kernel core. Now it's verifying all the packages. And now it's installing the bootloader. And now the installation is complete and we can go ahead and reboot the VM. And now we can see we've got the actual Grubb boot screen for Red Hat Enterprise Linux 9. I'm going to go ahead and just hit Enter so it boots. And now we're actually booting on the actual virtual machines disk that we had installed RHEL onto. And a moment or two, we're going to see the login screen. And there it is. So I'll go ahead and log in as my user Beeshmouse. And once you log in, you can see we've got a RHEL Enterprise Linux 9 desktop. And I'm just going to go ahead and open up a terminal screen. And now with the terminal screen open, I am going to go ahead and just show you a few things so you know that this VM is running using the Apple Virtualization Framework. So the first thing I'm going to show here is DMID code. And I'm going to pipe that into more. And the first few lines are what we're interested in. It talks about the system information. It says the manufacturer is Apple Incorporated. And notice that the product name does say Apple Virtualization Generic Platform. And the serial number also is listed as virtualization with some random numbers there. So again, this is showing that you're using the Apple Virtualization Framework. If you had done this using QEMU, you wouldn't get that same information listed. It would look like just a generic QEMU virtual machine. So that's one thing that's important to notice. So we'll go ahead and quit out of that. And then the next thing I want to show here is obviously a U name. And you can see that we're running a Red Hat kernel of 5.14. And this is also an ARM architecture kernel. And I can also show you that this is a Red Hat Enterprise Linux 9 release. If I do an LS block, we can see that we're using the VDA device that was given to this VM. And it's available. If we do an IPA, we can see the Ethernet interface is showing up as an EMP0S1. It's got my static IP address assigned to it. It's got a randomly generated MAC number that they generated. But again, this interface is bridged to the network interface that's on the Macintosh connected to my network. Now what I want to also show you is that this does have internet connectivity. So one of the things I'm going to do is I'm going to go ahead and do an NS lookup on... I'm going to spell it right here. And you'll notice that is returning from my DNS server at 192.160.0.10. It's returning the IP address of 10.0.0.25, which is on this host. The other thing I want to show is that we can get out to another host. So I am going to go ahead and log into another host on my network. And you can see now that we are on a different host because if I do a cat red hat release again, you can see that it's an 8.6 host. This is a rel Linux host system that's running. And so now let's go ahead and log back into my VM that's running on the Mac. And you can see now we're logged back into the actual M1 virtual machine that we created again. And again, if I wanted to just prove that, I could do cat at sea red hat release again and show you that. And so we're right back where we started. So again, this was just a basic demonstration showing that you can take a rel enterprise Linux 9 ARM architecture ISO and go ahead and deploy it on an M1 processor Mac as a VM. And you can use that Linux environment to your liking. I hope it was informational and we'll see you next time. Thank you. Bye-bye.