{"id":259,"date":"2019-01-22T23:33:56","date_gmt":"2019-01-23T07:33:56","guid":{"rendered":"https:\/\/angrysysadmins.tech\/?p=259"},"modified":"2019-01-22T23:34:08","modified_gmt":"2019-01-23T07:34:08","slug":"arch-install-the-oracle-uek","status":"publish","type":"post","link":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/","title":{"rendered":"Arch: How to Install the Oracle Unbreakable Enterprise Kernel"},"content":{"rendered":"\n<p>Despite not really knowing what is so &#8220;unbreakable&#8221; about <a href=\"https:\/\/www.oracle.com\/technetwork\/server-storage\/linux\/technologies\/uek-overview-2043074.html\">Oracle&#8217;s UEK<\/a>, I find myself strangely fascinated by it. So I have taken it upon myself to figure how to compile and boot other flavor of Linux on it, which is simultaneously easier and harder than one might expect.<br><br>As I write this article, I am running through the process on an Arch VM. I&#8217;ll be going from booting the Live CD to rebooting on to the UEK.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Standard Install Part<\/h2>\n\n\n\n<p>As the heading suggests, this part is just follows a standard Arch install, and since this process is decently we documented on the <a href=\"https:\/\/wiki.archlinux.org\/index.php\/installation_guide\">Arch Wiki<\/a>, I won&#8217;t be explaining it too in-depth. For partition layout, I roughly follow what is suggested in the <a href=\"https:\/\/wiki.gentoo.org\/wiki\/Handbook:AMD64\/Installation\/Disks#Default:_Using_parted_to_partition_the_disk\">Gentoo handbook<\/a>. Because I made the partition scheme GPT, I also had to set the boot flag on the boot partition:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">parted -a optimal \/dev\/sda<br>mklabel gpt<br>unit mib<br><br>mkpart primary 1 3<br>name 1 grub<br>set 1 bios_grub on<br><br>mkpart primary 3 259<br>name 2 boot<br>set 2 boot on<br><br>mkpart primary 259 771<br>name 3 swap<br><br>mkpart primary 771 -1<br>name 4 rootfs<br><br>print<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"532\" height=\"229\" src=\"https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output.png\" alt=\"Output from running &quot;print&quot; in parted.\" class=\"wp-image-261\" srcset=\"https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output.png 532w, https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output-300x129.png 300w\" sizes=\"auto, (max-width: 532px) 100vw, 532px\" \/><figcaption>Output from running &#8220;print&#8221; in parted.<br><br><\/figcaption><\/figure><\/div>\n\n\n\n<p>Next is making each partition the correct format and mounting them. For an EFI system, this usually means having the boot partition be FAT32. For a BIOS system, you can also use ext2.<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkfs.vfat -F32 \/dev\/sda2<br>mkfs.xfs \/dev\/sda4<br>mkswap \/dev\/sda3<br>swapon \/dev\/sda3<br><br>mount \/dev\/sda4 \/mnt<br>mkdir \/mnt\/boot<br>mount \/dev\/sda2 \/mnt\/boot<\/pre>\n\n\n\n<p><br>Now that out filesystem is functional and mounted, we must pacstrap it. You can select the mirror closest to you by making it the highest uncommented URL in \/etc\/pacman.d\/mirrorlist. When done with that, run:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pacstrap \/mnt base base-devel<\/pre>\n\n\n\n<p><br>Finally, I&#8217;m just going to blitz through the rest of the commands up until installing GRUB. For me, this means:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">genfstab -U \/mnt &gt;&gt; \/mnt\/etc\/fstab<br>arch-chroot \/mnt<br><br>ln -sf \/usr\/share\/zoneinfo\/America\/Los_Angeles \/etc\/localtime<br>hwlock --systohc<br><br>echo \"en_US.UTF-8 UTF-8\" &gt; \/etc\/locale.gen<br>locale-gen<br>echo \"LANG=en_US.UTF-8\" &gt; \/etc\/locale.conf<br><br>echo \"archuek\" &gt; \/etc\/hostname<br><br>passwd<\/pre>\n\n\n\n<p><br>Now then, on to installing the GRand Unified Bootloader.<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pacman -S grub<br>grub-install --target=i386-pc \/dev\/sda<br>grub-mkconfig -o \/boot\/grub\/grub.cfg<br><br>exit<br>umount -R \/mnt<br>reboot<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">The UEK Dependencies Part<\/h2>\n\n\n\n<p>When the reboot completes, we should now have a functional, if barebones, Arch install. But it&#8217;s on the wrong kernel, the boring vanilla-y Arch-y kernel, not the exciting UEK. Let&#8217;s start fixing this. In addition to the normal kernel build dependencies, we also need some UEK-specific ones such as DTrace.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">libdtrace-ctf<\/h3>\n\n\n\n<p>The first dependency to install is libdtrace-ctf. The sources are <a href=\"https:\/\/github.com\/oracle\/libdtrace-ctf\">available on Github<\/a>, and also as an <a href=\"https:\/\/aur.archlinux.org\/packages\/libdtrace-ctf\/\">AUR package<\/a>. The installation method is a matter of preference, but this article will detail installing it manually from source. First, I want to make a folder to hold the sources as we download them.<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir ~\/sources<br>cd ~\/sources<\/pre>\n\n\n\n<p><br>And now with that done, we can install the build dependencies for libdtrace-ctf and compile\/install it.<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pacman -S git zlib elfutils<br>git clone https:\/\/github.com\/oracle\/libdtrace-ctf<br>cd libdtrace-ctf<br>make<br>make install<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">dtrace-utils<\/h3>\n\n\n\n<p>We now hit an interesting conundrum of dtrace-utils needing a kernel with dtrace enabled, which the standard Arch one does not have. There are a few ways to solve this, but I will only detail what I feel to be the easiest one. Here is how to handle the kernel problem and get the Pacman-able dependencies that are still missing:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd ~\/sources<br>git clone --single-branch --branch uek5\/master https:\/\/github.com\/oracle\/linux-uek<br>mkdir ~\/sources\/kernel\/linux<br>cp -r ~\/sources\/linux-uek\/include\/uapi\/linux\/dtrace ~\/sources\/kernel\/linux<br>pacman -S linux-headers linux-api-headers<\/pre>\n\n\n\n<p><br>This will allow us to have dtrace build using the sources from the UEK as a reference instead of the kernel that we&#8217;re currently running. With that done, let&#8217;s get the sources for and build dtrace-utils:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd ~\/sources<br>git clone https:\/\/github.com\/oracle\/dtrace-utils<br>cd dtrace-utils<br>make HDRPREFIX=\"~\/sources\/kernel\"<br>make install<\/pre>\n\n\n\n<p><br>If you get a compilation error that mentions &#8220;undefined reference to makedev&#8221;, you can fix that by adding the following include to libproc\/Psymtab.c:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">@@ -23,6 +23,7 @@<br>  #include &lt;sys\/types.h&gt;<br>  #include &lt;sys\/stat.h&gt;<br>  #include &lt;sys\/ptrace.h&gt;<br> +#include &lt;sys\/sysmacros.h&gt;<br>  #include &lt;port.h&gt;<br>  #include &lt;setjmp.h&gt;<\/pre>\n\n\n\n<p><br>Only the line with the + (don&#8217;t include the +), the rest is just for context on where it should go. After adding the include, try running make again and it should work. Like with libdtrace-ctf, there is also an <a href=\"https:\/\/aur.archlinux.org\/packages\/dtrace-utils\/\">AUR package<\/a> that can be used instead of building manually.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">dtrace-utils-devel<\/h3>\n\n\n\n<p>There&#8217;s a few needed parts from the dtrace-utils-devel RPM that don&#8217;t get installed by the libdtrace-ctf or dtrace-utils. The easiest way to get this is with an AUR package I&#8217;ve made. To install:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd ~\/sources<br>git clone https:\/\/aur.archlinux.org\/dtrace-utils-devel.git<br>pacman -S rpmextract rsync<br>cd dtrace-utils-devel<br><br>makepkg -si<\/pre>\n\n\n\n<p><br>It may complain about being run as root. If that is the case, make a user with sudo privileges and install the package as that user. It also may complain about the existence of two files from when we installed dtrace-utils. It is safe to delete them and have dtrace-utils-devel replace them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Actual UEK Part<\/h2>\n\n\n\n<p>This is where things can potentially get weird, but don&#8217;t worry if you manage this, then installing Gentoo will feel like a (very long) walk in the park. Theoretically, it should be as easy as running the following commands:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd ~\/sources\/linux-uek<br>make olddefconfig<br>make menuconfig<\/pre>\n\n\n\n<p><br>Once in the menu, make sure that ftrace is enabled. Also, I&#8217;ve found that compiling tends to fail when sunrpc is enabled, which unfortunately means no NFS. Finally, XFS support may not be enabled by default, so make sure it is:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">| Kernel hacking<br>|-| Tracers<br>|-|-| [*] Kernel Function Tracer<br><br>| File Systems<br>|-| &lt;*&gt; XFS filesystem support<br>|-|-| [*] XFS Quota support<br>|-|-| [*] XFS POSIX ACL support<br>|-|-| [*] XFS Realtime subvolume support<br>|-|-| [*] XFS online metadata check support<br>|-| [ ] Network File Systems ----<\/pre>\n\n\n\n<p><br>And then make any other changes you want\/need, save and exit the menu, and run make. The config that was automatically created may not necessarily be bootable, so double check the settings related to processors. I suggest not using the -j flag to speed up the process, as that can potentially hide errors. When compilation finishes, all that should be left is to run:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">make ctf<br>make modules_install<br>cp -iv arch\/x86_64\/boot\/bzImage \/boot\/vmlinuz-uek<br>cp -iv System.map \/boot\/System.map-uek<br>cp -iv .config \/boot\/config-uek<br>install -d \/usr\/share\/doc\/linux-uek<br>cp -r Documentation\/* \/usr\/share\/doc\/linux-uek<br>grub-mkconfig -o \/boot\/grub\/grub.cfg<br><\/pre>\n\n\n\n<p><br>The UEK only successfully runs &#8216;make install&#8217; correctly if LILO is installed instead of GRUB, hence the cp commands which do basically the same thing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Closing Notes<br><\/h2>\n\n\n\n<p>If you configured the kernel and installed it correctly, you should now be able to reboot and select the UEK as your kernel. You may have to go into &#8220;Advanced options for Arch Linux&#8221; in the GRUB menu, as it will likely default to the standard Arch kernel.<br><br>There are several reasons I leave the standard kernel installed. One, it&#8217;s a known good fallback in case something goes wrong with the UEK. Two, Pacman will make it very clear that it advises against removing the linux package because of how many other packages are dependent on it. And three, there are just enough differences with the UEK that things that work with the standard kernel may not work with the UEK (think MariaDB vs. MySQL).<br><br>I hoped this helped! If you have any questions or suggestions, comment below and I will try my best to help you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Despite not really knowing what is so &#8220;unbreakable&#8221; about Oracle&#8217;s UEK, I find myself strangely fascinated by it. So I have taken it upon myself to figure how to compile and boot other flavor of Linux on it, which is simultaneously easier and harder than one might expect. As I write this article, I am <br \/><a class=\"read-more-button\" href=\"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/\">Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[73,10,8],"tags":[74,48,13,6,77,75,76],"coauthors":[37],"class_list":["post-259","post","type-post","status-publish","format-standard","hentry","category-arch","category-kernel","category-linux","tag-arch","tag-grub","tag-kernel","tag-linux","tag-oracle","tag-pacman","tag-uek"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Arch: How to Install the Oracle Unbreakable Enterprise Kernel - Angry Sysadmins<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arch: How to Install the Oracle Unbreakable Enterprise Kernel - Angry Sysadmins\" \/>\n<meta property=\"og:description\" content=\"Despite not really knowing what is so &#8220;unbreakable&#8221; about Oracle&#8217;s UEK, I find myself strangely fascinated by it. So I have taken it upon myself to figure how to compile and boot other flavor of Linux on it, which is simultaneously easier and harder than one might expect. As I write this article, I am Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/\" \/>\n<meta property=\"og:site_name\" content=\"Angry Sysadmins\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-23T07:33:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-23T07:34:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output.png\" \/>\n<meta name=\"author\" content=\"Cat Kasin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cat Kasin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/\"},\"author\":{\"name\":\"Cat Kasin\",\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/#\\\/schema\\\/person\\\/151b2d23439b55b970060836f317a14d\"},\"headline\":\"Arch: How to Install the Oracle Unbreakable Enterprise Kernel\",\"datePublished\":\"2019-01-23T07:33:56+00:00\",\"dateModified\":\"2019-01-23T07:34:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/\"},\"wordCount\":977,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/angrysysadmins.tech\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/parted_output.png\",\"keywords\":[\"Arch\",\"GRUB\",\"Kernel\",\"Linux\",\"Oracle\",\"Pacman\",\"UEK\"],\"articleSection\":[\"Arch\",\"Kernel\",\"Linux\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/\",\"url\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/\",\"name\":\"Arch: How to Install the Oracle Unbreakable Enterprise Kernel - Angry Sysadmins\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/angrysysadmins.tech\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/parted_output.png\",\"datePublished\":\"2019-01-23T07:33:56+00:00\",\"dateModified\":\"2019-01-23T07:34:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/#\\\/schema\\\/person\\\/151b2d23439b55b970060836f317a14d\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/#primaryimage\",\"url\":\"https:\\\/\\\/angrysysadmins.tech\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/parted_output.png\",\"contentUrl\":\"https:\\\/\\\/angrysysadmins.tech\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/parted_output.png\",\"width\":532,\"height\":229,\"caption\":\"Output from running \\\"print\\\" in parted.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/2019\\\/01\\\/bailey\\\/arch-install-the-oracle-uek\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/angrysysadmins.tech\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Arch: How to Install the Oracle Unbreakable Enterprise Kernel\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/#website\",\"url\":\"https:\\\/\\\/angrysysadmins.tech\\\/\",\"name\":\"Angry Sysadmins\",\"description\":\"A site full of angry sysadmins here to vent and help\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/angrysysadmins.tech\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/angrysysadmins.tech\\\/#\\\/schema\\\/person\\\/151b2d23439b55b970060836f317a14d\",\"name\":\"Cat Kasin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e83bfa1b7d9ce082bd6b68938f580039db8d5571ad6c5d012e6a5243a189309e?s=96&d=mm&r=g23b0ffb86dd6c08514a66a6a50f7a0a9\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e83bfa1b7d9ce082bd6b68938f580039db8d5571ad6c5d012e6a5243a189309e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e83bfa1b7d9ce082bd6b68938f580039db8d5571ad6c5d012e6a5243a189309e?s=96&d=mm&r=g\",\"caption\":\"Cat Kasin\"},\"description\":\"I build virtual environments and challenges for Cybersecurity students to complete as a way to gain experience before graduating and entering the workforce.\",\"url\":\"https:\\\/\\\/angrysysadmins.tech\\\/index.php\\\/author\\\/bailey\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arch: How to Install the Oracle Unbreakable Enterprise Kernel - Angry Sysadmins","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/","og_locale":"en_US","og_type":"article","og_title":"Arch: How to Install the Oracle Unbreakable Enterprise Kernel - Angry Sysadmins","og_description":"Despite not really knowing what is so &#8220;unbreakable&#8221; about Oracle&#8217;s UEK, I find myself strangely fascinated by it. So I have taken it upon myself to figure how to compile and boot other flavor of Linux on it, which is simultaneously easier and harder than one might expect. As I write this article, I am Read More &raquo;","og_url":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/","og_site_name":"Angry Sysadmins","article_published_time":"2019-01-23T07:33:56+00:00","article_modified_time":"2019-01-23T07:34:08+00:00","og_image":[{"url":"https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output.png","type":"","width":"","height":""}],"author":"Cat Kasin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Cat Kasin","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/#article","isPartOf":{"@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/"},"author":{"name":"Cat Kasin","@id":"https:\/\/angrysysadmins.tech\/#\/schema\/person\/151b2d23439b55b970060836f317a14d"},"headline":"Arch: How to Install the Oracle Unbreakable Enterprise Kernel","datePublished":"2019-01-23T07:33:56+00:00","dateModified":"2019-01-23T07:34:08+00:00","mainEntityOfPage":{"@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/"},"wordCount":977,"commentCount":0,"image":{"@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/#primaryimage"},"thumbnailUrl":"https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output.png","keywords":["Arch","GRUB","Kernel","Linux","Oracle","Pacman","UEK"],"articleSection":["Arch","Kernel","Linux"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/","url":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/","name":"Arch: How to Install the Oracle Unbreakable Enterprise Kernel - Angry Sysadmins","isPartOf":{"@id":"https:\/\/angrysysadmins.tech\/#website"},"primaryImageOfPage":{"@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/#primaryimage"},"image":{"@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/#primaryimage"},"thumbnailUrl":"https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output.png","datePublished":"2019-01-23T07:33:56+00:00","dateModified":"2019-01-23T07:34:08+00:00","author":{"@id":"https:\/\/angrysysadmins.tech\/#\/schema\/person\/151b2d23439b55b970060836f317a14d"},"breadcrumb":{"@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/#primaryimage","url":"https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output.png","contentUrl":"https:\/\/angrysysadmins.tech\/wp-content\/uploads\/2019\/01\/parted_output.png","width":532,"height":229,"caption":"Output from running \"print\" in parted."},{"@type":"BreadcrumbList","@id":"https:\/\/angrysysadmins.tech\/index.php\/2019\/01\/bailey\/arch-install-the-oracle-uek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/angrysysadmins.tech\/"},{"@type":"ListItem","position":2,"name":"Arch: How to Install the Oracle Unbreakable Enterprise Kernel"}]},{"@type":"WebSite","@id":"https:\/\/angrysysadmins.tech\/#website","url":"https:\/\/angrysysadmins.tech\/","name":"Angry Sysadmins","description":"A site full of angry sysadmins here to vent and help","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/angrysysadmins.tech\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/angrysysadmins.tech\/#\/schema\/person\/151b2d23439b55b970060836f317a14d","name":"Cat Kasin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e83bfa1b7d9ce082bd6b68938f580039db8d5571ad6c5d012e6a5243a189309e?s=96&d=mm&r=g23b0ffb86dd6c08514a66a6a50f7a0a9","url":"https:\/\/secure.gravatar.com\/avatar\/e83bfa1b7d9ce082bd6b68938f580039db8d5571ad6c5d012e6a5243a189309e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e83bfa1b7d9ce082bd6b68938f580039db8d5571ad6c5d012e6a5243a189309e?s=96&d=mm&r=g","caption":"Cat Kasin"},"description":"I build virtual environments and challenges for Cybersecurity students to complete as a way to gain experience before graduating and entering the workforce.","url":"https:\/\/angrysysadmins.tech\/index.php\/author\/bailey\/"}]}},"_links":{"self":[{"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/posts\/259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/comments?post=259"}],"version-history":[{"count":19,"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/posts\/259\/revisions"}],"predecessor-version":[{"id":326,"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/posts\/259\/revisions\/326"}],"wp:attachment":[{"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/media?parent=259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/categories?post=259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/tags?post=259"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/angrysysadmins.tech\/index.php\/wp-json\/wp\/v2\/coauthors?post=259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}