Any problems foreseen with this hardware?

HP 17-cp1035cl 17" laptop. Fresh out of the box, never been booted. I'm setting up right now to boot with the Zorin Core OS 16 USB stick, then use the Disks application to create a .ISO image of the entire drive (containing Windows), and save it to a big USB drive, just in case I can't get Zorin OS running, I can put Windows back on. I'll use the ZFS file system, with two L2ARC cache drives (USB drives... one on bpool (boot pool), one on rpool (root pool)) to speed up boot and program load times. I figure I can get away with running both of those off a single USB hub, since the bpool will only be used when booting, and the rpool will only be used after boot.

Processor & Memory:

  • AMD Ryzen™ 5 5625U (6-Core) Processor (base 2300 MHz, boost to 4300 MHz, 12 threads via SMT) Supported Extensions: AES, AMD-V, AVX, AVX2, FMA3, MMX(+), SHA, SSE, SSE2, SSE3, SSE4.1, SSE4.2, SSE4A, SSSE3, x86-64
  • 12GB DDR4-3200MHz RAM

Drives:

  • 1TB 5400RPM SATA Hard Drive

Communications:

  • 802.11 Wireless-AC (2x2) and Bluetooth® 5.0
  • Integrated HP Wide Vision 720p HD Camera with Integrated Dual Array Digital Microphones

Graphics & Video:

  • 17.3" Touchscreen Brightview HD+ (1600 x 900) 250-Nits Display
  • Integrated AMD Radeon™ Graphics (7 core, 1800 MHz)

Audio:

  • HD Audio with Stereo Speakers

Keyboard:

  • Full-Size Keyboard with Numeric Keypad
  • HP Imagepad with Multi-Touch Gesture Support

Ports & Slots:

  • 1x SuperSpeed USB Type-C
  • 2x SuperSpeed USB Type-A
  • 1x HDMI 1.4b
  • 1x Headphone/Microphone Combination Jack

Power Supply:

  • 3-Cell 41WH Li-Ion Battery
1 Like

Everything there looks fine.

The generation may matter here. AMD drivers should be included in the kernel by default, but the very latest hardware may not make it into the kernel right away.

Ok, I've got all the component checks done, and I'm booted up on the Zorin OS Core USB stick. Audio works, network works, touchscreen works, bluetooth works, everything works.

I'm currently creating the .ISO file of the internal drive using the Disks application, then I'll wipe the internal drive and install Zorin OS.

There's a BIOS update for this computer... how does one go about updating the BIOS from Linux?

This process doesn't work for me (no supported devices):


sudo apt update

sudo apt upgrade

sudo service fwupd start

sudo fwupdmgr refresh

sudo fwupdmgr update

sudo fwupdmgr refresh --force
Updating lvfs
Downloading…             [***************************************]
Successfully downloaded new metadata: 0 local devices supported
sudo fwupdmgr update
Devices with no available firmware updates: 
 • HP TrueVision HD Camera
 • MQ04ABF100
 • System Firmware
No updatable devices

Download the bios files and install them using a bootable usb stick ???

The BIOS update is wrapped in an Insydeflash.exe file, it's Windows 11 specific, so I'd need a USB stick with Windows 11.

I can extract the files from within that .exe file, but I'm not sure which files I need nor where to put them so the UEFI BIOS sees them and updates.

Ok, I'm going to try this:

Inside that Insydeflash.exe file is a directory named DEVFW, and inside that folder are several .efi and .s12 files (there are no .bin or .bio files in this thing, so obviously HP has changed how BIOS updates are done).

So I'm going to create a directory:
/boot/efi/EFI/HP/DEVFW

And drop the files into that directory for the 2017 version Secure Key (which, I'm assuming this computer uses, since the only other option is the 2013 version Secure Key).

Then I'll reboot, and select the UEFI menu option from the Grub menu to see if the BIOS sees those files.

I'll have to wait until after I get the .ISO file of the internal drive done, and Zorin OS installed on the internal drive, so it'll take a bit.

Failing that, I'll use a USB stick, create a partition named HP_TOOLS, format it as FAT32, and put the following directories and files on it:

/Hewlett-Packard/BIOS/Previous/
/Hewlett-Packard/BIOS/Current/
/Hewlett-Packard/BIOS/New/DevFwUpdate.efi
/Hewlett-Packard/BIOS/New/DevFwUpdate.s12
/Hewlett-Packard/BIOS/New/DevFwUpdate32.efi
/Hewlett-Packard/BIOS/New/DevFwUpdate32.s12
/Hewlett-Packard/BIOSUpdate/CryptRSA.efi
/Hewlett-Packard/BIOSUpdate/CryptRSA32.efi
/Hewlett-Packard/BIOSUpdate/HpBiosMgmt.efi
/Hewlett-Packard/BIOSUpdate/HpBiosMgmt.s09
/Hewlett-Packard/BIOSUpdate/HpBiosMgmt.s12
/Hewlett-Packard/BIOSUpdate/HpBiosMgmt.s14
/Hewlett-Packard/BIOSUpdate/HpBiosMgmt32.efi
/Hewlett-Packard/BIOSUpdate/HpBiosMgmt32.s09
/Hewlett-Packard/BIOSUpdate/HpBiosMgmt32.s12
/Hewlett-Packard/BIOSUpdate/HpBiosMgmt32.s14
/Hewlett-Packard/BIOSUpdate/HpBiosUpdate.log

That's the directory structure that the Windows setup .exe puts together, near as I can suss it.

Well, I'm not sure what went wrong... the Zorin OS USB stick booted just fine with TPM and SecureBoot enabled, I got the internal hard drive imaged to a large external USB drive, I rebooted to the Zorin OS USB stick again, I installed Zorin OS to the internal drive with ZFS file system and I rebooted, whereupon the machine threw up a BSOD, stating that winload.efi is missing.

Yeah, that's the point, I don't want Windows.

So I went into the BIOS settings and disabled SecureBoot and TPM, clearing the security keys. Then I rebooted.

Same error.

Now what should I do to get this machine booting?

Ah, ok, I got it booting again... I had to let the machine sit turned off for about half an hour while I searched the internet, to no avail.

When I powered it back up, I had the bright idea to change the boot order so the CD ROM was at a higher spot than the internal drive (even though that machine doesn't have a CD ROM drive)... it booted up and asked me to "Enroll MOK" and enter the password I'd set up for SecureBoot when I installed Zorin OS.

I had the Zorin OS USB stick plugged in at the time, so it booted to that, but I'm going to shut down, remove the USB stick, and see if the machine will boot from the hard drive.

Wish me luck.

Whelp, looks like I'll have to reinstall Zorin OS with TPM and SecureBoot disabled... it won't boot with the installation as it is now.

Aaaanddd... it won't boot with TPM and SecureBoot disabled, either. It'll boot from the USB stick, but not the internal hard drive.

I keep getting a 0xc000000e error when attempting to boot from the internal hard drive, which I'm assuming is somewhat akin to "drive not found"... with TPM and SecureBoot disabled, with TPM and SecureBoot enabled, doesn't matter. I'm assuming TPM and SecureBoot are blocking it somehow, even when disabled and the keys cleared.

Thing is, I ran through all the component testing routines in the BIOS before I even booted the machine... twice. The hard drive is alright.

Ooohh! OOOoooh! I think I've got it figured out. Let me do a reinstall to see if it works, then if it does, I'll post the procedure.

BOO-YAH! I'm booted!

Ok, so the procedure:

  1. Plug your Zorin OS USB stick in.

  2. Enter UEFI setup.

  3. Disable TPM and clear its keys. It's just added complexity that the average user doesn't need.

  4. Enable SecureBoot. Clear any keys. This allows you to set up your own key (which we'll do later) so third-party drivers can be installed if needed.

  5. Change your boot order around so your Zorin USB stick is the first in line.

  6. Save the UEFI settings and boot the Zorin USB stick.

  7. If any prompts pop up to 'Enroll MOK', just ignore them and continue with the boot.

  8. When Zorin OS loads from the USB stick, DO NOT CLICK 'INSTALL ZORIN OS'! Click on 'Try Zorin OS'.

  9. Start up the Disks application, go to the drive you intend to install Zorin OS on, and unmount all the partitions, then delete the partitions. You should be left with a single drive that says "Free Space". Do not format the drive, do not name the drive. You might have to reboot the Zorin OS USB stick if you get an error message that the drive is busy. If you get that message, reboot immediately, then continue deleting partitions on the target drive until they're all gone.

  10. Reboot the Zorin OS USB stick.

  11. Click on the '3 vertical dots' menu item in Disks (at the top-right) and click Drive Settings... set the Standby time, APM settings and enable Write Cache.

  12. Now you're ready to install Zorin OS. You'll be prompted to enter a password for Secure Boot... write that password down. It cannot be a weak password. You'll be prompted to enter a root password... write that password down. That one can be a weak password.

  13. After Zorin OS is installed, reboot... it'll prompt you to remove the Zorin OS USB stick and press Enter. Immediately enter the BIOS setup and change your boot order so the drive where you installed Zorin OS (it might say something like 'Ubuntu', rather than Zorin OS) is at the top of the list. DO NOT TOUCH ANY OTHER SETTINGS. Save your settings and reboot.

  14. If it prompts you to 'Enroll MOK', ignore it and continue the boot... we'll deal with MOK from within Zorin OS (I'll post more about that later).

  15. Et voila, you are ze booted!

What was happening in my case was I was trying to install over the Windows installation, so the UEFI BIOS saw the Windows boot, and kept it in the UEFI menu... and it wouldn't let me select Zorin OS (Ubuntu). I could see it in the menu, I could move the focus to it, but pressing 'Enter' (which should have selected it) did nothing. Of course, the Windows boot was no longer there, so the stupid UEFI BIOS thought there was a problem.

Wiping the drive before installation got rid of the Windows installation, and allowed the UEFI BIOS to clear the Windows boot, so Zorin OS (Ubuntu) was the default.

Of course, if you're going to wipe your main drive where you've got Windows installed, I highly recommend you boot the Zorin OS USB stick, go into the Disks application, click the '3 vertical dots' menu at top-right, click 'Create Disk Image', and save the drive image of the Windows installation to another drive.

That way, if anything goes wrong and you just can't get Zorin OS on your computer, you can always boot the Zorin OS USB stick, go into the Disks application, click the '3 vertical dots' menu at top-right, select 'Restore Disk Image', select the Windows image saved on another drive, set it up to restore to your target drive, and you're back up and running (with a bit of UEFI BIOS fiddling, most likely just resetting all settings to factory default).

2 Likes

That was an interesting read and example of applied diagnostics and user persistence :+1:

I think there may be a case for this thread to be split from post #3 as title does not refect the BIOS update from Linux saga.

1 Like

What's neat is that the first time you attempt to install something that requires SecureBoot's approval, it'll prompt you from within Zorin OS to create the SecureBoot password... I was fiddling around trying to get battery SOC limiting working and installed an add-on for TLP-UI, and it did that, so now the logs show that SecureBoot is set up and working properly.

1 Like

That's interesting. Are you saying you can now set a battery charging limit e.g. 60% max on that laptop when plugged in all the time? Others on the forum have been looking for that battery life functionality, seen on Windows but not on Linux. Maybe need another thread to discuss that.

1 Like

Nah, I couldn't get it to work. But this is a fantastic little laptop. 17.3" touch screen, full-sized keyboard with number pad, cartoonishly large touchpad, 1 TB internal drive, 12 GB RAM (upgradeable to 64 GB) and really fast. I got it from Costco for $449.99, it's usually around $780. Search for HP 17-cp1035cl.

2 Likes

Ok, I went and bought two 32 GB 130 MB/s USB sticks and a USB 3 hub, and I've got the L2ARC cache drives for the bpool and rpool set up. Now, as those drives fill, this machine will get faster and faster. ZFS L2ARC is somewhat akin to Windows ReadyBoost.

I can already issue a sudo zpool scrub rpool command and it only takes 2 minutes 7 seconds.

I was close on the directory structure of the BIOS update, but there's a cryptographic key the install is looking for... I'm going to use my wife's Windows computer to burn a memory stick to get the update done.

And I figured out the process of updating:

  1. Turn your computer off.
  2. Unplug all your USB devices.
  3. Plug in the USB device that the .EXE file from HP created.
  4. Boot the computer and immediately press F9 (Boot Menu) repeatedly.
  5. Boot from the .EFI file rather than the hard drive
  6. Follow the prompts to update the BIOS