Announcement

Collapse
No announcement yet.

Another Chromebox bites the dusts - and converts to Kubuntu

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Another Chromebox bites the dusts - and converts to Kubuntu

    We needed a PC in another part of the house for the kids to use for homework and I had a fairly new (3 years old) Asus Chromebox PC (not a laptop, which is a "Chromebook") with an i3-1.7GHz CPU and an unused 24" monitor in a closet. My wife had been using it in the kitchen, but she got a laptop last year and so this box sat in my office closet waiting for a new home.

    I really don't like ChromeOS much (better than Winblows of course) so I wanted to put Kubuntu on it.

    First, I did an upgrade; replacing the old 16GB SSD and 2GB RAM with 128GB/8GB.

    Then I went through the "unlocking" procedure that allows other OSs to be installed.

    I found a nicely written script that loads custom firmware onto the box giving me full control and removing a nagging splash screen warning you you're in developer mode every time you boot the PC - and offers the option to wipe out your work and restore ChromeOS. -thanks but, no thanks.

    Finally, booted to Kubuntu 18.04 from a USB stick and attempted installation.

    The first two attempts to install didn't work. I eventually figured out that I had not partitioned correctly for EFI - which I had never used before - and this PC requires EFI. Finally, I just let the installer have the entire SSD and auto-partition and format without me mucking with it.

    I now have a lovely. compact, PC that sits nestled to the back of a monitor running 18.04 flawlessly - and it's quick too. I haven't tweaked anything yet, but it boots as fast or faster than my powerful desktop. Wifi and all the other hardware worked out-of-the-box. Well, I haven't tested sound yet due to lack of speakers, but everything else works.

    Please Read Me

    #2
    Interesting. My experience is only with my home-built PCs and not with any off-the-shelf machines.

    I found a nicely written script that loads custom firmware onto the box giving me full control ...
    This is the part I hope to know more about. If you had not used that script, could you still have (1) partitioned the disk as you wish using a bootable USB/CD? and (2) Booted the PC and installed Kubuntu from your live installer medium?

    I guess I'm asking, was the existing ASUS EFI firmware friendly enough to do as you wish, without any custom firmware scripts?

    I'm somewhat familiar with ASUS here on my main machine (also about 3 years old, custom built), and to a lesser extent on my wife's off-the-shelf Best Buy Windows 10 laptop.
    An intellectual says a simple thing in a hard way. An artist says a hard thing in a simple way. Charles Bukowski

    Comment


      #3
      Chrome OS devices need a customized firmware to be able to boot another OS. A linux USB installer won't work otherwise. Luckily they don't make it terribly difficult to do.

      I use Gallium OS on my Chromebook, which has some hardware specific kernel fixes that provide keyboard support among other things. It is 16.04 based but with that custom kernel. Haven't tried 18.04 yet but 17.04 and 17.10 distros don't have working keyboard and sound out of the box. I believe more current kernels may have good support baked in.

      I like Chrome OS and my refurbished Acer CB 14" is actually a nice piece of unibody aluminum hardware, especially for the price new or used. Unlike chromeboxes however, there are few CBS that have upgradeable ram or drives.


      The CPU is a quad core Celeron and has 4gb ram so it runs Plasma just fine (via Neon). It doesn't use much more ram than the default Xfce at idle. The screen is 1080 ips to boot.
      Most of the time I'm in Chrome OS, running a couple of Android apps, plus a couple of Linux programs such as Libreoffice and Quassel IRC client via Crouton.


      I think these have a potential to be useful linux laptops. I got tired of always fixing and replacing things on the old laptops I can get for less than 200 dollars.


      Sent from my LG-H931 using Tapatalk

      Comment


        #4
        claydoh: Chrome OS devices need a customized firmware to be able to boot another OS. A linux USB installer won't work otherwise.
        Thanks for that tip.
        An intellectual says a simple thing in a hard way. An artist says a hard thing in a simple way. Charles Bukowski

        Comment


          #5
          I know of some happy kids right now! Every kid loves a lightening fast machine!
          "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
          – John F. Kennedy, February 26, 1962.

          Comment


            #6
            I tried to install Gallium via the script, but it or the install script made a mess of the SSD (12 partitions with space in between ? ? ?) and wouldn't boot. So I wiped it and did a vanilla Kubuntu install and got where I wanted.

            The Asus Chromebox was locked down off-the-shelf but opening the box and removing a screw enables developer mode. I did the RAM and SSD upgrade at the same time. Overall it wasn't super cheap, like $550 invested in the box and upgrades, but it attaches to the back of the monitor and has usb 3.0, display port, hdmi, i3 Intel CPU, and a built-in SD card reader. IMO, overall a descent box for the price. Also fanless a small and quiet fan so perfect for the guest room.

            QQMike; the script mostly installed the replacement firmware so yes, at that point I was able to do as I wished with the SSD and I did pretty much exactly as you described. The script had dual-boot and stand-alone OS installs built-in to it and that was the part that failed. Initially, I selected Gallium+Chrome dual boot and that failed miserably. Then I thought about it for a sec and decided I was going Kubuntu all the way eventually anyway, so I did a "normal" Kubuntu install and it worked perfectly. It sits now in the guest room and the daughters have accounts on it for homework and such. I enabled SSH so I can log in and maintain it remotely.

            18.04 seems pretty polished for a beta IMO. Best pre-release I've ever used, but I've only been using Linux for 23 years or so, so who am I to judge?
            Last edited by oshunluvr; Apr 01, 2018, 08:33 AM.

            Please Read Me

            Comment


              #7
              If you want to read up on the script I used: https://mrchromebox.tech

              Please Read Me

              Comment


                #8
                Thanks for all that, oshunluvr, and for the link.
                An intellectual says a simple thing in a hard way. An artist says a hard thing in a simple way. Charles Bukowski

                Comment


                  #9
                  Originally posted by oshunluvr View Post
                  I tried to install Gallium via the script, but it or the install script made a mess of the SSD (12 partitions with space in between ? ? ?) and wouldn't boot. So I wiped it and did a vanilla Kubuntu install and got where I wanted.

                  The Asus Chromebox was locked down off-the-shelf but opening the box and removing a screw enables developer mode. I did the RAM and SSD upgrade at the same time. Overall it wasn't super cheap, like $550 invested in the box and upgrades, but it attaches to the back of the monitor and has usb 3.0, display port, hdmi, i3 Intel CPU, and a built-in SD card reader. IMO, overall a descent box for the price. Also fanless so perfect for the guest room.

                  QQMike; the script mostly installed the replacement firmware so yes, at that point I was able to do as I wished with the SSD and I did pretty much exactly as you described. The script had dual-boot and stand-alone OS installs built-in to it and that was the part that failed. Initially, I selected Gallium+Chrome dual boot and that failed miserably. Then I thought about it for a sec and decided I was going Kubuntu all the way eventually anyway, so I did a "normal" Kubuntu install and it worked perfectly. It sits now in the guest room and the daughters have accounts on it for homework and such. I enabled SSH so I can log in and maintain it remotely.

                  18.04 seems pretty polished for a beta IMO. Best pre-release I've ever used, but I've only been using Linux for 23 years or so, so who am I to judge?
                  The only reason I used Gallium on my CBs is because of sound and keyboard support ootb, but for many devices, I think these may be included in the 18.04 kernel, I haven't checked yet.

                  I used the Gallium OS iso to install to a fast low profile usb stick, as the chromebook I was using originally had a whopping 16gb emmc . I just took the stick out of the now dead Asus CB and stuck it in the Acer, after enabling dev mode.
                  I also didn't have to remove the write-protect screw in order to get to dev mode, but chromeboxes are a little different from Chromebooks I imagine, but I also didn't have the need to wipe the whole drive
                  The Gallium iso is straight up ubuntu installer, so mrchomebox's script is still needed to modify /replace the firmware. the chrx script is the recommended way to install gallium, but it iirc is designed for dual boot iirc, and ChromeOS uses a LOT of partitions. Back when I did this, I had trouble using chrx, which ended up being due to my landladies' old and decrepit Comcast router. It would time out halfway through many larger downloads, even iso images.

                  I don't know why I haven't paved over Chrome OS on this yet. On my new laptop the only reason it took me three days to get Neon on it was ordering the wrong nvme sdd, and then stupidly deciding to update and set up Windows on the spinning hard drive. That was a waste of an entire day, quite literally, all on the off-chance I might pick up a work-from-home job that requires a Windows setup. Right.
                  Last edited by claydoh; Mar 13, 2018, 06:34 PM.

                  Comment


                    #10
                    If you have to use Windows, they'd better pay a lot...LOL

                    Before I even bothered with the upgrade to Kubuntu, I upgraded the SSD and RAM. I could have used the 16GB SSD (mine uses 2242 M.2) but replacing it with a 128GB (here) give me enough space to dual boot if I want to and allows local file storage.

                    The keyboard and mouse issue are different since they are external. I did notice last night the sound card shows up as "dummy" so Kubuntu isn't finding the sound device. I haven't bothered to fix it yet as there's no speakers attached to it at this point. Here's the box and specs if anyone is interested. Mine is the i3 model. I wanted more power than the Celeron but an i7 seemed like overkill and was almost twice the cost at the time of purchase.

                    Please Read Me

                    Comment


                      #11
                      Just checked dmesg on the Asus box and it lists several sound devices. The "dummy" thing in the volume must just mean there aren't any sound outputs available.

                      Please Read Me

                      Comment


                        #12
                        Originally posted by claydoh View Post
                        That was a waste of an entire day, quite literally, all on the off-chance I might pick up a work-from-home job that requires a Windows setup. Right.
                        That's exactly what Win 7 VM's are for Seriously, I had a Win 7 VM at my last office job that I had to physically go to the office because I refused to run Windows as a primary OS. And I only needed it for 2 apps which weren't used that much, else it wouldn't have existed either...
                        ​"Keep it between the ditches"
                        K*Digest Blog
                        K*Digest on Twitter

                        Comment


                          #13
                          I have to use Winblows for work also, but I have a separate laptop for that.

                          Please Read Me

                          Comment


                            #14
                            Originally posted by oshunluvr View Post
                            If you have to use Windows, they'd better pay a lot...LOL
                            Well some of these tech support jobs do pay more than I am making at Harbor Freight as the chief stockroom monkey

                            Originally posted by dequire View Post
                            That's exactly what Win 7 VM's are for Seriously, I had a Win 7 VM at my last office job that I had to physically go to the office because I refused to run Windows as a primary OS. And I only needed it for 2 apps which weren't used that much, else it wouldn't have existed either...
                            On the off chance I have to take a call center type of job, most of course require Windows, and specify that VMs are not acceptable. I dunno how they would know, but since I just happen to have a Windows 10 sitting right here on the OEM hdd that will be gathering rust....
                            I had thought about running that install via a VM, but apparently it messes with the OS activation. Of course. Eventually I will probably wipe the 1tb drive for use as basic storage, but the zippy 256gb ssd stick will last me a while before that happens. Actually, you remind me that I do have the HP OEM win7 recovery disks for my refurb PC, so i have options, I guess.

                            Comment


                              #15
                              This morning, for giggles, I copied the OS to btrfs from the defaulted ext4.

                              I used the guided install initially so it could correctly make the EFI partition (since I couldn't figure out the right magic to do it manually) and it used the remainder of the drive as a single EXT4 partition. SWAP was done by creating a file. I had thought I would leave it that way because it's just a workstation. Then I realized I had 18.04 on it and it was possible that an update might "break" it. I needed my beloved btrfs so I could take snapshots before updates!

                              I took the easiest route I know - I booted gparted live, shrunk the ext4 partition to 16GB, then created a 8GB swap partition and used the rest (about 95GB ) for a single btrfs file system.

                              I mounted the btrfs partition and created 2 subvolumes - @Kubuntu_1804 and @Kubuntu_1804_home. Using rsync, I copied all but /home and the swap file to @Kubuntu_1804 and /home to @Kubuntu_1804_home.

                              Now I had a not-yet-bootable but full copy of Kubuntu 18.04 on my btrfs file system. To make it bootable, I edited fstab so the new btrfs subvolumes would be root and home and removed the swapfile entry and replaced it with a swap partition mount. Then I copied the first menuentry from /boot/grub/grub.cfg on the ext4 install and added it to /etc/grub.d/40_custom - also on the ext4 install - and edited the menuentry to include the changes in UUIDs and the correct btrfs subvolume references. So you can see what has to be changed, here's the before and after of this edit:

                              Before:
                              menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9c1a9fc6-336f-4cc3-a452-033f9b417110' {
                              recordfail
                              load_video
                              gfxmode $linux_gfx_mode
                              insmod gzio
                              if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
                              insmod part_gpt
                              insmod ext2
                              set root='hd0,gpt2'
                              if [ x$feature_platform_search_hint = xy ]; then
                              search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 9c1a9fc6-336f-4cc3-a452-033f9b417110
                              else
                              search --no-floppy --fs-uuid --set=root 9c1a9fc6-336f-4cc3-a452-033f9b417110
                              fi
                              linux /boot/vmlinuz-4.15.0-12-generic.efi.signed root=UUID=9c1a9fc6-336f-4cc3-a452-033f9b417110 ro quiet splash $vt_handoff
                              initrd /boot/initrd.img-4.15.0-12-generic
                              }
                              After with changes hilglighted:
                              menuentry 'Kubuntu 18.04' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-11e8f87b-f4c4-4bc2-819e-3f83a3ab6314' {
                              recordfail
                              load_video
                              gfxmode $linux_gfx_mode
                              insmod gzio
                              if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
                              insmod part_gpt
                              insmod btrfs
                              set root='hd0,gpt3'
                              if [ x$feature_platform_search_hint = xy ]; then
                              search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 11e8f87b-f4c4-4bc2-819e-3f83a3ab6314
                              else
                              search --no-floppy --fs-uuid --set=root 11e8f87b-f4c4-4bc2-819e-3f83a3ab6314
                              fi
                              linux /@Kubuntu_1804/boot/vmlinuz-4.15.0-12-generic.efi.signed root=UUID=11e8f87b-f4c4-4bc2-819e-3f83a3ab6314 ro rootflags=subvol=@Kubuntu_1804 quiet splash $vt_handoff
                              initrd /@Kubuntu_1804/boot/initrd.img-4.15.0-12-generic
                              }
                              I could now boot to the btrfs copy of Kubuntu.

                              I couldn't rely on this forever though, because grub is referencing the kernel in my custom menuentry. As soon as a kernel update occurs, this manually created menuentry would fail. I needed a permanent way to boot to either install (I kept the ext4 install as a backup). So I created yet another manual grub entry that would link to the grub.cfg on the btrfs install. This way, whenever grub was updated using the btrfs install, the correct kernel would be selected. This menuentry is very simple:
                              menuentry 'Kubuntu 18.04 grub' {
                              insmod part_gpt
                              insmod btrfs
                              search --no-floppy --fs-uuid --set=root 11e8f87b-f4c4-4bc2-819e-3f83a3ab6314
                              configfile /@Kubuntu_1804/boot/grub/grub.cfg
                              This simply tells grub to link to another grub.cfg on another file system.

                              Now I needed to boot to the new Kubuntu using the full edited menu entry only once and run update-grub once. From then on I can boot to the btrfs install using the simple menuentry above.

                              I now have two fully working and bootable Kubuntu installs - one on ext4 and the other on btrfs - on this little box. Since my plan is to use the ext4 install as a backup, I decided to keep using grub from the ext4 install because it seems less likely to get messed up because it won't be regularly used. I edited both default/grub files and shortened the grub delay to 3 seconds each so the boot delay is reasonable and removed the now unneeded long manual grub menuentry keeping only the simple one that links the two grub.cfg files.

                              Please Read Me

                              Comment

                              Working...
                              X