Friday, June 27, 2025

Install Linux on latest DELL laptops - I9 185h / 285h - Part 2

 Even if it is not about some real professional stuff, I already have posted this article on linkedin.

I have tried and tested every single option proposed by chatgpt, perplexity, deepseek, dell website, youtube, reddit, dell forums, laptop forums and the linux did not want to go up. I did the latest 1.15 bios update too a couple of days ago. I was on the verge of uploading a custom BIOS and probably doing irreversible damage to my PC, but Windows was driving me crazy. When you turn off your PC and it does 1hour of updates before you can close the lid, then doing the same when opening up, is just nuts. When your base memory is 5gigs, you don't do anything come back in an hour and it is 12 ? When running a VM and you have only 2 gigs of memory left ? When looking for a setting and windows property search is not indexing it ? I mean it is just endless pain in the back. You open your PC and want to work right away. When want to install, update, customize, download, launch, I don't want to think about that stuff. Just do it and if it does not work, I find another solution in seconds. Like I downloaded yesterday onto my linux an apt based keepass2 and it was buggy. I did the same with keepassXC and was perfect. Uninstalled keepass2. IT took me like 1min thirty. In win11 just to go to the website and download and install would take way more.
My new linux distro was also up in under 7minutes ! Windows still takes nearly an hour if installed from zero ! Anyways, just to show you how awesomely relieved I am that my win is off and my kubuntu is up !

------------------------------------------------

I tried at least 6 linux distros, custom kernels, custom drivers for intel and dell. It still did not went up. Normally, without messing around, a simple solution of secure boot off, disk management from RAID to AHCI swtich and a linux should go up on any PC. Intel, AMD, ARM what ever. No it did not ! 

We talk about a brand new PC Dell 14 Plus 7440 32gb lpddrx Intel I9 185h. The PC was produced this april 2025 ! When I went to the reddit forums, I found a lot of issues and complaints about these new intel Dell laptops. Especially the GEN1 GEN2 I7 I9 ones ! 13th and 14th gen I5 I7 I9s have no real issues nowhere and they are well supported by LTS distros too. 

So what was my problem  ?


 This is an SKHYNIX branded bloody expensive dell NVME. It costs 188€ on DELLs website. IT comes with a long heatsink, but the actual thermal sponge is glued to the dell sticker. Not sure what a BPA coated paper can do in case of heat transfer. Very funny ! Anyways, my laptop was having this as the original NVME. The original price of my laptop was 1299€ and with some discount it was sold for 999€. I also had some extra codes and DELL points so I paid 889€. If we followed the price tag of this SKHynix NVME and the price tag of Windows, I could have gotten this PC for under 600€ and by my own NVME.

This is what I did. I actually just bought a 990 Pro from Samsung, as this is the most reputable NVME on the current and past market. I have  an old 970 EVO in AMD PC and it runs like a Nordictrack treadmill. 

I installed it and there was no bios lag on recognizing it ! My windows install did not need extra RST driver load to recognize the NVME ! One point to that ! I did this just to test my theory !
I made a Kubuntu 25 USB with balena etcher, what has also actually failed on both of my Windows machines, so I went downstairs, onto my linux tower and burnt it on that one !

Guess what. I took 6minutes and 45 seconds to install Kubuntu on my new laptop, with absolutely zero hiccups ! No questions, no issues, no nothing !  
Since last night, I am relieved, that my laptop is blazing fast, with less heat, half the memory use, half the space use for the os and components, 1/50th of update and upgrade times and much more ! 

Thank you linux and thank you DELL !

 

PS.: I also recently purchased a replacement laptop for my wife. A Dell 16" Inspirion with Ryzen 7 8840. I turned simply off secureboot and the Kubuntu went up in even faster time than on the Intel ! Strangely from a less powerful PC with less and slower memory !

Sunday, June 22, 2025

Install Linux on latest DELL laptops - I9 185h / 285h

Installing Linux is a pain in the back on these new machines. Here is what can prevent you from doing so and how to correct it. I am using a DELL Inspirion 14 Plus with I9 185H.

  • Sata Mode
  • Secure Boot
  • Microsoft UEFI Certificate Authority
  • TPM 
  • SMM
  • WSMT

SMM and WSMT are both, features that you might find in BIOS. Often one or the other. Unless you custom load BIOS settings from skratch, or flash on total custom BIOS, these settings are not changeable. They also might prevent you from installing Linux, but newer Kernels support these. "Normally".

It is time consuming, but if it was me, to keep most of the possible security features on, I would start changing these settings one by one.

Step 1
Download Dell Command Configure

Step 2 - try it without at the beginning
Set BIOS admin password. You might need it, to accept changes. I simply would use either 4 digit pin or a a max 6character password for home users. For a pro environment I would definitely go with a classic 12 character, number, upper and lower case, Special Character option. Be careful with keyboard setup !

Step 3
Run Dell Command Configure Prompt. Start with setting your sata controller from Raid using Intel RST, to AHCI. Then try installing your linux distro. This is the most usual cause of Linux not going up on your new DELL Laptop.

Step 4
Ubtuntu, Fedora, Mint, but even Debian supports secure boot. Normally ! If it still is messing up your install: Turn off secure boot. This one can be done from BIOS itself. 

Step 5
Disable Windows UEFI Cert - Well, it might be necessary and most possibly just in case something went wrong, you won't be able to secure boot your deice, if you installed linux with these two features off. 

Summary of Commands

Add this before your commands, if you've set password:
cctk --valsetuppwd=MyBiosPass123

Your commands should look like that:

cctk --valsetuppwd=MyBiosPass123 --embsatara=ahci
cctk --valsetuppwd=MyBiosPass123 --secureboot=disable

 

SATA Mode → AHCI    cctk --embsatara=ahci
Disable Secure Boot   
cctk --secureboot=disable
Disable MS UEFI Cert   
cctk --securebootmode=custom
cctk --deletepk
Disable TPM   
cctk --tpm=off
Clear TPM   
cctk --tpmclear
Disable SMM / WSMT   
cctk --smmsecuritymitigation=disable

At the moment of this article, I could disable everything I wanted. I did not find a way to disable security mitigation, without doing a drastic action on my BIOS. I will come back to see, if a new linux distro will go up flawlessly or not. I just have ordered a new 2TO 990pro from Samsung. I hope for the best, cause I can't get the use of Windows anymore....

Please note that Dell Command Configure is available on Linux. Except, that it also has a GUI interface on Windows and there are many many options that will be denied if you did not use that. Setting RAID sata mode to AHCI is straight forward, but all other functions might fail !
Why not just go with a R9 AI PC instead of Intel ? If you wanted to focus on virtualization projects, running multiple low level systems, you need a lot of cores. But we talked about a laptop, so when you need to run low level stuff, your battery life could be still excellent ! No thunderbolt port on AMD pcs  ! The new thunderbolt 5 can run 3 4K monitors at 144hz, while charging and having internet, headset, keyboard and mouse all plugged into one single dock ! Finallyggt now, DELL has limited options on R9 pcs not coming with LPDDR5 and without PRO feature ! Why Dell ? Cause I need physical quality and I have been seeing Lenovo, HP, Terra breaking like pretzels.

 

Thursday, May 22, 2025

Windows File Server User Acces Control - Basic ICACLS use

Before we apply any sort of folder permissions, we should save the actually applied permissions. Here are the commands to use and just in case anything goes wrong, you re-establish the previous permission.
In your home, this can be important if more than one person is using the PC. 
In a work environment, this is crucial to do, as if anything goes wrong, you might be in big trouble. 

In case of the file name, I would use the date inside the filename, so you know when it was modified. I also would use some sort of identification to know where it was applied. You might leave it in the top folder, hidden from users. You should not pollute though. Probably it should be deleted, if you assured that everything is cool !  

Save Folder Permissions:
    icacls "D:\Path\To\Folder" /save perms.txt

Save Folder Permissions Recursively:
    icacls "D:\Path\To\Folder" /save perms.txt /T # for recursive 

 Restore Folder Permissions:
    icacls "D:\" /restore perms-john.txt 

Verifiy folder permissions:
     icacls "D:\Path\To\Folder"

Tuesday, May 20, 2025

Windows Update Button / Option disappear - update from powershell

 An old problem has started popping up recently on Windows PCs after certain updates. I have seen this on Win11, but mostly on Win10 PCs. Updates stop, Windows update search button disappears and the actual circling double flash windows update sign shows an exclamation mark, that something is not right.

No panic ! Instead of trying all sorts of stuff of get that back, you just need to be patient. The next couple of updates will be  probably correcting this issue and your windows update button and the appearance of Win update page will be the same.
However, there might be some steps to do, before you can launch your update. I really recommend, that instead of messing up your registry, searching for third party Non-MS solutions, uninstalling and re-installing updates, drivers, direct-x and more, you just do a full on windows repair, then update your current system.

Start by launching this script. You can copy it to ISE, or right click launch it as admin. Make sure that script execution is allowed. Just search in the search-bar: "script execution":
https://github.com/iv3l/PowerSHell-Scripts/blob/main/disable-non-essential-services.ps1

I have written it to stop non essential services for the being of all operations. After each restart, you need to launch it, as it won't disable the services, but stop them for the current session.

The you launch a dism and an sfc, then a reboot. These 3 commands one after another:

DISM /Online /Cleanup-Image /RrestoreHealth
sfc / scannow
shutdown /r /t 0

Depending on a lot of things like, how long have been the windows installed and untreated, on your network connection, speed of your disk and nvme drive, cpu, memory, space available, DISM might be slow, and it might take 2hours. For me on the I9 185h with GEN4 NVME and 32gb LPDDRX 6400 it takes around 1 to 2 minutes as an example.

Your PC has been restarted, now you reuse the firs script to stop services. Also please stop all non essential software too. You need to stop Dropbox, GDrive, Sticky Notes, Outlook, alll and everything.

The next thing is to update all your firmware. Most employees doesn't care about firmware updates and then they got their PC stop after an update. An OS install will fail. The PC will have program compatibility issues, like an endpoint manager will freeze the PC if running with the latest updated Ms Office package. These weird mishaps never happen on Linux, but Windows is an extremely sensitive system. All sorts of issues pop up if your system is not upgraded, but also it slows your system down. It can make updating your system the next time hell too, if you did not do anything for 2 years. I have systems with 100Gigs of obligatory windows update, just to be enough up to date on Win10, to be able to migrate to Win11. I mean with a connection speed of 2 to 20Mbps, this might take basically a week. I must keep these PCs intact, cannot just wipe them.

Now, that your firmware is updated and your PC is restarted, you run the first script again, to stop all non essential services. Then you again stop all of your programs. Here is a second script that will prompt you to install the updates. Again run ISE as admin or run the .ps1 script as admin. Your choice:
https://github.com/iv3l/PowerSHell-Scripts/blob/main/prompted_win_update.ps1

The script normally covers the installation of dependencies and initial calls of modules, but it might fail. Though it never happened to me. If you don't download it but copy it, make sure that that comments are in good condition as in some cases they do not show up as commented lines and launch as commands, what can be scary at first, giving you red error messages. 

I case you don't want to mess around with my script, you can download and install the updates yourself, running these in powershell, one after another:

Step-by-step:

a. Open PowerShell as Administrator, then install the module:

Install-Module -Name PSWindowsUpdate -Force

b. Import the module (if needed):

Import-Module PSWindowsUpdate

c. Check for updates:

Get-WindowsUpdate

d. Install updates:

Install-WindowsUpdate -AcceptAll -AutoReboot

This way you won't need to worry about your graphical interface based windows update, until the option comes back and your windows will do update itself. After the initial SFC and DISM commands, verify that you might already got back your win button. If not, wait for the KB corrections and major updates. IT might take one or 5. Run these each Wednesday and each Sunday morning.

Saturday, May 17, 2025

INSTALL GITHUB IN POWERSHELL

 Storing and accessing your work anywhere is great. You can use a blogging platform, cloud storage like dropbox, proton drive, or you can simply have a usb key. I am now to github and gits, I don't yet 100% get the concept, probably because I don't do programming, versioning, roll backs and don't work in groups either. I have been using gists for a while for publishing my work done on hackropole projects. 

https://gist.github.com/iv3l

However, for work I need to use batch scripts and powershell scripts outside of simple commands, than I also am working on an opensource infrastructure project that I will try documenting there too. 

So, if I understand well, we can have a sort of shared directory on the PC, that is synchronising with github, so we can have always the latest up to date data available. We also can pull data if needed. I beleive that at this moment, this is a very shallow understanding of the power of gits, but we have to start somewhere.
Of course, you need to create a github account before and also it is recommended to get familiar with the actual interface.

So let's install this into powershell:

winget install --id Git.Git -e --source winget

After relaunching powershell, verify with this cmd, that all good:

git --version

Check if it is really on your path:

$env:PATH -split ';' | Select-String git
 

Import a git library and make it syncro:
( first create a new repo on github, so you have something to install on your pc: mine is : Powershell Scripts) 
(go to your desired directory)

git clone https://github.com/your-username/powershell-scripts.git

To syncro your directory with github:

  • git add .
  • git commit -m "Add initial PowerShell scripts"
  • git push origin main

 

 

 

Manual Windows Update From PowerShell

I am so used to linux that I was looking for a simple solution in windows to do $ sudo apt update -y && sudo apt upgrade -y . From Powershell or from commandline. 

Normally first we must install the windows update module. Then load it into powershell. Then Launch it to search, then launch it to update . A little more complicated, a little longer and way slower than apt update and apt upgrade. But it works. 

Step-by-step:

a. Open PowerShell as Administrator, then install the module:

Install-Module -Name PSWindowsUpdate -Force

b. Import the module (if needed):

Import-Module PSWindowsUpdate

c. Check for updates:

Get-WindowsUpdate

d. Install updates:

Install-WindowsUpdate -AcceptAll -AutoReboot

You can also skip the reboot:

Install-WindowsUpdate -AcceptAll -IgnoreReboot

In some cases, when windows update in GUI doesn't want to install or it causes problems, stops, misbehaves, in powershell we can still run them. 

 

HERE IS A POWERSHELL SCRIPT FOR A FULL ON UPDATE PROCEDURE

Please allow script execution before !

 
 # Ensure script can run by temporarily setting execution policy
Try {
    $currentPolicy = Get-ExecutionPolicy -Scope Process
    If ($currentPolicy -ne 'Bypass') {
        Write-Host "[INFO] Setting execution policy to Bypass for this session..."
        Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
    }
} Catch {
    Write-Host "[ERROR] Failed to set execution policy: $_"
    Exit 1
}

Function Write-Log {
    param([string]$Message)
    $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    Write-Host "[$timestamp] $Message"
}

# Check for admin privileges
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
    [Security.Principal.WindowsBuiltInRole] "Administrator")) {
    Write-Log "ERROR: Please run this script as Administrator."
    Exit 1
}

Write-Log "Starting Windows update check..."

# Ensure NuGet and PSWindowsUpdate
Try {
    If (-not (Get-PackageProvider -Name NuGet -ErrorAction SilentlyContinue)) {
        Write-Log "Installing NuGet..."
        Install-PackageProvider -Name NuGet -Force -Scope CurrentUser
    } else {
        Write-Log "NuGet already present."
    }

    If (-not (Get-Module -ListAvailable -Name PSWindowsUpdate)) {
        Write-Log "Installing PSWindowsUpdate module..."
        Install-Module -Name PSWindowsUpdate -Force -Scope CurrentUser
    } else {
        Write-Log "PSWindowsUpdate module already present."
    }

    Import-Module PSWindowsUpdate -Force
    Write-Log "Module imported. Checking for updates..."

    $updates = Get-WindowsUpdate

    If ($updates.Count -eq 0) {
        Write-Log "No updates available. Your system is up to date."
        Exit 0
    }

    Write-Log "The following updates are available:"
    $updates | ForEach-Object { Write-Log " → $($_.Title)" }

    # Prompt the user
    $confirmation = Read-Host "`nDo you want to install these updates now? [Y/n]"

    If ($confirmation -eq "Y" -or $confirmation -eq "y" -or $confirmation -eq "") {
        Write-Log "Installing updates..."
        Install-WindowsUpdate -AcceptAll -AutoReboot -Verbose
        Write-Log "Updates installed. Reboot may occur automatically."
    } else {
        Write-Log "User cancelled update installation."
        Exit 0
    }
}
Catch {
    Write-Log "ERROR: $_"
    Exit 1
}

Saturday, May 10, 2025

Dell Inspirion 14 Plus - I9 185H - Linux Kernel Compatibility ?

Did I go wrong with this Laptop, was the question of the first day with my new toy. It came with windows family preinstalled and without giving a thought, I installed the latest Ubuntu on it. Nothing went fine. I am used to installing Linux on new PCs ready to go in under 30minutes. Took 90 this time ! Then the running of it was the same. Some programs installed in a second, then others took an hour. I was able to play 4K videos , but struggled opening up tabs in the browser. I was having the latest kernel, all updated, drivers and so, but nothing seemed to be working. No surprise, as actually I never could make Ubuntu up and running correctly on any device. I used a Macbook pro late 2012 and tried, finally went with Manjaro for years without one single reinstall or issue. Then I have also my R5 5600G, Asrock based desktop. Also my first choice was Ubuntu, If remember well that was version 22. Nothing worked out and I often had freezing with tiling and hot corners, and blacking out from python scripts. I have the Bookworm running on it since with not one single hiccup ! Then had Dell 7280 or something like that with a 4core old I7 in it. Again, Ubuntu dirtied itself multiple times in the first week, so the Fedora did a good job keeping that PC up for 2 years before selling it. I had the same experience with an old Lenovo too, where strangely the Ubuntu based Linux Mint took charge of the PC and doing it so since. A couple of weeks ago I had a 13450HX based DELL G15 coming in with Ubuntu, 22 preinstalled. I went with it, wow, could not even stand up the DELL pre-isntalled base system for more than 15seconds, before the first freeze. Then installed the latest U25 and again loads of issues, with nothing working on it, while Debian stood up right away. 

So the DELL Insprion 14. I went first with Ubuntu 25 latest, to satisfy my hardware needs. As the I9 Core Ultra 185h is a 2023'Q4 Gen 14 CPU and my PC was produced in 2024 December. I need the latest Kernel and latest drivers. Wow, all sorts of issues popped up with it. Sudden blackouts, freezes,  wifi drops, network drops, slow slow install speeds. Then installed, Ubuntu server and topped it with lightdm and cinnamon no-flavor. This one was better, but finally the install speeds were so slow, with sudden workflow drops and very slow program starts, that I needed to try a new thing.
Fedora 42. It was very promising, really, I kept it for 24hours. I installed GIMP, Inkscape, VirtualBox, Libreoffice, all the Python labs and all sorts of programs in a second. Used them and watched a couple of films. Then, installed VMWare and it took and hour. Then did a big update, it took me 70minutes. Then the browsing started to get out of hand with latencies. All updated, all great, all running. I was doing the firmware updates. Nothing made it work. Normally 6.8+ kernels are good, so running a 6.14 would be even better. I ran the base one and when did the big update, It went up to 6.14.5. Having still issues.
Final essay ! Debian Trixie. Nothing worked out fine, with this release either.ยต

Is my laptop broken ? I tried with all sorts of boot options, messed around in the BIOS. I updated everything. Everything is perfect. I tried different distros, kernels, drivers. I mean, on a second try, I always succeeded to install ever lasting distros, since 2014. Always ! Second try ! Always !

---------------------------------------------------------------------------------------

I reainstalled Win11. Wanted actually !
You need this on a second USB-Key when you install windows: 

https://www.intel.com/content/www/us/en/download/849936/intel-rapid-storage-technology-driver-installation-software-with-intel-optane-memory-12th-to-15th-gen-platforms.html


The Rapid Storage Technology driver. If not, WIN11 won't see your GEN14 or GEN15 core ultra storage devices.
You, have to get into a windows pc to download this. I fired up a VM. Downloaded the driver. You have to extract the driver from the exe file using CMD Line:

- SetupRST.exe -extractdrivers "extracted_rst"

If it won't work use -extract or /extract, but normally the -extractdrivers works fine !

In your extracted driver directory, you go down till VMD folder and this is what you'll copy on your secondary USB drive. 

 

Keep, the "hide" drivers ticked, your VMD Controller must show up automatically in the list !!!

-----------------------------------------------------------------------

So, what could have been the problem with even the latest linux kernels ? I think that Fedora's firmware updater could not pull the latest updates for my PC.  It did a Bios Update and installed some stuff in addition, but for this DELL combination it was not enough for flawless kernel execution.

The DELL updater actually did some other deep firmware updates. Including BIOS. Then it pulled all the latest drivers. The interesting thing is that it also asked me in a second driver release just a couple of days after, if I wanted to remove all previous driver versions and do a clean install. 

I am nearly 100% sure, that after these firmware updates, I would be able to stand up a more than capable Fedora 42.
I will actually, keep the Windows 11 for now. Maybe for 1 year. I will see how the Debian Trixie Performs when the stable version will be out this summer. I also will see how the Win11 / Dell updater will keep on updating my firmwares, including BIOS. Then will pull on the Trixie. 

----------------------------------------------------------------------

Why am I better off with a Linux ? First of all is CPU, memory and laptop battery use. Windows right from the start uses 12gb of memory. A solid Debian uses not even 2gigs ! That is a serious inefficacy problem. Than there is of course CPU. In case of a laptop this is crucial. I can run for instance nearly 20°C less temps on my R5 Desktop and also 15°C less temps on my previous DELL G15 if Debian was used. Even 5°C less constant temperature would be great, but 15 to 20°C means less fan usage, less heat build up, less issues.
Yesterday I have seen a 16 inch, I am not sure any more Lenovo or Asus laptop, that had only Core Ultra I7, but gen 2/15 for the same price as my Dell. The good thing was that it came with Sodimm DDR5s, so I could have updated it up to 64/128gb . As I virtualise a lot, until I don't have Linux running that would have been a better choice. However I also need battery life. A 120HZ 16" screen paired with an RTX4060, especially if WIN11 was obligatory, the battery usage would be way too high. I already have tried laptops with NVIDIA cards, from multiple brands. In best cases, battery life is around 3 to 4hours max. With my Core Ultra I9 185h and 14" 90Hz screen I can go for 7 to 10hours easy and when Linux will be going on it, probably it will be 1.2 to 1.3 times as much. When we can see Snapdragon laptops scratching the 30hours mark, with extreme efficacy, a laptop with sometimes sub 1h battery life is nothing useful.

 

Iperf for Network monitoring

 IPERF is a very simple command line tool the check network quality between two PCs. Client - Server. There are options for stressing the te...