Better put, almost Gnome 43. It was painful but it is and installed.
Linux littleturd 6.0.2-gentoo-hpz820-mgreene #1 SMP PREEMPT Sat Oct 15 14:54:04 EDT 2022 x86_64 Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz GenuineIntel GNU/Linux
Better put, almost Gnome 43. It was painful but it is and installed.
Linux littleturd 6.0.2-gentoo-hpz820-mgreene #1 SMP PREEMPT Sat Oct 15 14:54:04 EDT 2022 x86_64 Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz GenuineIntel GNU/Linux
I thought I would never reach a stable Gnome 42 install! The big issue was the mouse movement. Everything was fine under xorg, but mouse movement and overall screen image sucked under Wayland. Anyway, the mouse is sync’d to display resolution and my refresh rate was set to something like 24hz, I do not know how that happened. Either way, all fixed now.
Traditionally, GNOME Shell has been compressing pointer motion events so its handling is synchronized to the monitor refresh rate, this means applications would typically see approximately 60 events per second (or 144 if you follow the trends).
https://blogs.gnome.org/shell-dev/2021/12/08/an-eventful-instant/
Linux littleturd 5.17.14-gentoo-hpz820-mgreene #2 SMP PREEMPT Thu Jun 9 21:06:34 EDT 2022 x86_64 Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz GenuineIntel GNU/Linux
I was having problems with the old Windows XP VM I use to compile Open Watcom (OW) boot projects. This VM is an image of my original XP Desktop install that I have IDA and a lot of unused junk, so I decided to build a barebones VM for just using OW compiling. Initially, I was going to use a Windows 7 install as a lightweight single purpose solution; however, that turned out to be a real pain. Even using a real DVD on Windows 7 seemed to be more trouble than it was worth, so I looked for another option. I finally settled on setting up and giving a ReactOS VM.
I was incredibly surprised that this worked very well. The VM is lightweight, and I have not had many issues of concern. The VM does not seem to restore correctly from a VirtualBox save, but loading is so fast it really does not matter. My work setup for this project is to code in Visual Studio Code for Linux with the source on a Synology NAS share. The share is mounted (systemd automount) in my home directory. The ReactOS VM shares this directory for access to the source and the VM mounts a FAT16 vdi which is my test image that gets booted using Bochs emulator running from a bash shell on my Linux system.
The workflow is to code in VS Code (on Linux), compile and copy the binary to the FAT16 vdi image using the ReactOS VM, and run the test system using Bochs (Linux) using its internal debugger.
Anyway, big snow day in southeastern Virginia, so to kill time I was looking around at source on the internet. I had played around with the MSDOS start sequence before, but never looked closely.
The typical start, considering a start from hard drive, is MBR load to 0x7C00, relocate to 0x0600, and the active partition boot sector is loaded at 0x7C00. The boot sector loads either io.sys or ibmbios.com based on the OS flavor at 0x0700. What I had learned some time ago, io.sys or ibmbios.com is about 40K bytes in size. This means the load would overwrite the current boot sector which is currently executing. Being bored, I found the MSDOS 3.3 OAK disks which have a makefile for the bios containing:
copy /b msload.com+msbio.bin io.sys
So, io.sys is the bios file with msload.com grafted to the front end. A closer look at msload seems that it is a small loader. Here is the sequence:
That is a brief sequence that I can figure out, so it is overly simple. I wondered why it was done this way. I looked at the GitHub MSDOS v2.0 source and there was no msload source included. Possibility the older versions of the MSDOS bios file was smaller and did not overwrite the boot sector? Then around V3 it became too large, and this was the work around. Hey, it cannot be discounted that systems back then measured memory in megabytes.
Well, that killed some time on a cold day.
EDIT 16 May 21: gnome-40.0.ebuild is in portage
emerge –autounmask-write =gnome-40.0 and etc-update should make it available – good luck!
Also – I am having good luck with wayland enabled – so far!
The big gnome change from vertical to horizontal.
Filling in the empty RAM slots with more ECC memory. Not bad for a 7+ year old space heater.
Well, the NUC is done and everything to working. It is definitely not a speed demon, Geekbench scores prove it with a 158 Single-Core Score and 570 Multi-Core Score.
I did try Wayland, and it worked well except for my extensions, so I settled on X11.
I have placed the system configuration on Gitlab including: kernel config, hardware info, files installed, and all that good stuff that should make installation easier. The entire Gentoo install is about 14 Gig and that includes Libreoffice and Firefox binary packages.
Model: Apricorn SATAWire (scsi)
Disk /dev/sdb: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 3146kB 2097kB ext2 spacer bios_grub
2 3146kB 108MB 105MB fat32 boot boot, esp
3 108MB 9772MB 9664MB linux-swap(v1) swap swap
4 9772MB 250GB 240GB ext4 rootfs
Filesystem Size Used Avail Use% Mounted on
/dev/root 456G 14G 442G 3% /
devtmpfs 3.5G 0 3.5G 0% /dev
tmpfs 3.5G 0 3.5G 0% /dev/shm
tmpfs 1.4G 1.5M 1.4G 1% /run
tmpfs 3.5G 72K 3.5G 1% /tmp
/dev/sda2 247M 16M 231M 7% /boot
tmpfs 712M 64K 712M 1% /run/user/997
tmpfs 712M 92K 712M 1% /run/user/1000
Everything is working for me: Ethernet, Wireless, Bluetooth, Video, Sound, USB, and SDCard Reader.
00:00.0 Host bridge: Intel Corporation Gemini Lake Host Bridge (rev 03)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Gemini Lake Host Bridge
Flags: bus master, fast devsel, latency 0
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 605 (rev 03) (prog-if 00 [VGA controller])
DeviceName: Onboard - Video
Subsystem: Intel Corporation UHD Graphics 605
Flags: bus master, fast devsel, latency 0, IRQ 135
Memory at a0000000 (64-bit, non-prefetchable) [size=16M]
Memory at 90000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: i915
Kernel modules: i915
00:0c.0 Network controller: Intel Corporation AC 1550i Wireless (rev 03)
DeviceName: Onboard - Ethernet
Subsystem: Intel Corporation AC 1550i Wireless
Flags: bus master, fast devsel, latency 0, IRQ 44
Memory at a1314000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] MSI-X: Enable+ Count=16 Masked-
Capabilities: [100] Null
Capabilities: [14c] Latency Tolerance Reporting
Capabilities: [164] Vendor Specific Information: ID=0010 Rev=0 Len=014 <?>
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
00:0e.0 Audio device: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio (rev 03) (prog-if 80)
DeviceName: Onboard - Sound
Subsystem: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio
Flags: bus master, fast devsel, latency 0, IRQ 136
Memory at a1310000 (64-bit, non-prefetchable) [size=16K]
Memory at a1000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:0f.0 Communication controller: Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface (rev 03)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface
Flags: bus master, fast devsel, latency 0, IRQ 125
Memory at a131f000 (64-bit, non-prefetchable) [size=4K]
Capabilities: [50] Power Management version 3
Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [a4] Vendor Specific Information: Len=14 <?>
Kernel driver in use: mei_me
Kernel modules: mei_me
00:12.0 SATA controller: Intel Corporation Celeron/Pentium Silver Processor SATA Controller (rev 03) (prog-if 01 [AHCI 1.0])
DeviceName: Onboard - SATA
Subsystem: Intel Corporation Celeron/Pentium Silver Processor SATA Controller
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 124
Memory at a1318000 (32-bit, non-prefetchable) [size=8K]
Memory at a131e000 (32-bit, non-prefetchable) [size=256]
I/O ports at f090 [size=8]
I/O ports at f080 [size=4]
I/O ports at f060 [size=32]
Memory at a131d000 (32-bit, non-prefetchable) [size=2K]
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [70] Power Management version 3
Capabilities: [a8] SATA HBA v1.0
Kernel driver in use: ahci
00:13.0 PCI bridge: Intel Corporation Gemini Lake PCI Express Root Port (rev f3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 122
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: a1200000-a12fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Intel Corporation Gemini Lake PCI Express Root Port
Capabilities: [a0] Power Management version 3
Capabilities: [100] Null
Capabilities: [140] Access Control Services
Capabilities: [150] Null
Capabilities: [200] L1 PM Substates
Kernel driver in use: pcieport
00:13.2 PCI bridge: Intel Corporation Gemini Lake PCI Express Root Port (rev f3) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 123
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 0000e000-0000efff [size=4K]
Memory behind bridge: a1100000-a11fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Intel Corporation Gemini Lake PCI Express Root Port
Capabilities: [a0] Power Management version 3
Capabilities: [100] Null
Capabilities: [140] Access Control Services
Capabilities: [150] Null
Capabilities: [200] L1 PM Substates
Kernel driver in use: pcieport
00:15.0 USB controller: Intel Corporation Celeron/Pentium Silver Processor USB 3.0 xHCI Controller (rev 03) (prog-if 30 [XHCI])
DeviceName: Onboard - Other
Subsystem: Intel Corporation Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
Flags: bus master, medium devsel, latency 0, IRQ 126
Memory at a1300000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [70] Power Management version 2
Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
Capabilities: [90] Vendor Specific Information: Len=14 <?>
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:1c.0 SD Host controller: Intel Corporation Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller (rev 03) (prog-if 01)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller
Flags: bus master, fast devsel, latency 0, IRQ 39
Memory at a131c000 (64-bit, non-prefetchable) [size=4K]
Memory at a131b000 (64-bit, non-prefetchable) [size=4K]
Capabilities: [80] Power Management version 3
Capabilities: [90] Vendor Specific Information: Len=14 <?>
Kernel driver in use: sdhci-pci
Kernel modules: sdhci_pci
00:1f.0 ISA bridge: Intel Corporation Celeron/Pentium Silver Processor LPC Controller (rev 03)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Celeron/Pentium Silver Processor LPC Controller
Flags: bus master, medium devsel, latency 0
00:1f.1 SMBus: Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model (rev 03)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model
Flags: medium devsel, IRQ 20
Memory at a131a000 (64-bit, non-prefetchable) [size=256]
I/O ports at f040 [size=32]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
Subsystem: Intel Corporation RTS5229 PCI Express Card Reader
Flags: bus master, fast devsel, latency 0, IRQ 127
Memory at a1200000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-00-01-00-4c-e0-00
Kernel driver in use: rtsx_pci
Kernel modules: rtsx_pci
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
DeviceName: Onboard - RTK Ethernet
Subsystem: Intel Corporation RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Flags: bus master, fast devsel, latency 0, IRQ 20
I/O ports at e000 [size=256]
Memory at a1104000 (64-bit, non-prefetchable) [size=4K]
Memory at a1100000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 01
Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
Capabilities: [170] Latency Tolerance Reporting
Capabilities: [178] L1 PM Substates
Kernel driver in use: r8169
Kernel modules: r8169
This is no fun exercise. I did this over a year ago with my Asrock system, but of course did not record the exact steps, so I had to learn all over again.
The best start is to use the Gentoo Handbook example. I used a combination of fdisk and parted for the drive layout. As a note, I swapped to an EVO850 500G SSD that I had laying around. The following is how my SSD is layed out with a fdisk first, followed by a parted list:
fdisk -l:
Disk /dev/sda: 465.78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 850
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B8C5EDC2-AAB2-5142-B4FC-23FA7FCD69E4
Device Start End Sectors Size Type
/dev/sda1 2048 6143 4096 2M BIOS boot
/dev/sda2 6144 518143 512000 250M EFI System
/dev/sda3 518144 21489663 20971520 10G Linux swap
/dev/sda4 21489664 976773134 955283471 455.5G Linux filesystem
parted -l:
Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 3146kB 2097kB ext2 grub bios_grub
2 3146kB 265MB 262MB fat32 boot boot, esp
3 265MB 11.0GB 10.7GB linux-swap(v1) swap swap
4 11.0GB 500GB 489GB xfs rootfs
The sda2 partition is the normal boot partition for the kernel, followed by swap, and then sda4 as the root partition. So, what about sda1? Well it is there to provide space for grub to the best of my knowledge, but it is not used. Why use xfs for the rootfs? Because I have never used it before … I will probably downsize to a 250G SSD and switch to ext4 later because I have heard the 5.10 kernels have improvements/changes.
Next, install grub following the handbook. Note, you should be using the handbook as a guide, so at this point the drive is mounted, stage3 is installed, etc … I mount sda4 and sda2 using my script from the previous post and chroot into the image. Finally, execute:
grub-install --target=x86_64-efi --efi-directory=/boot
Typical issues with Gentoo are panics on the first start. Sometimes it is the grub configuration. For the above, I have the following in /etc/default/grub:
GRUB_CMDLINE_LINUX="root=/dev/sda4"
Other times, it could be that you are not using an initial ram disk (I do not) which case the filesystem needs to be compiled into the kernel and not as a modules.
So on OS News I see skiftOS: a hobby operating system and the description reads:
skiftOS is a hobby operating system built for learning and for fun targeting the x86 platform. It features a kernel named hjert, a graphical user interface with a compositing window manager, and familiar UNIX utilities.
I had to give it a try using VBox. I wasn’t sure which image to use and just downloaded bootdisk-limine-x86_32.img and ended up converting it to a VDI before I found the instructions. There is quite a lot of documentation if you scroll to the bottom of the Github page. This is the initial startup screen:
This is a shot of the task manager, it had locked up at this point:
The about screen:
Anyway, it locked up a few times, but it is a neat OS, and maybe I’ll look at it some more later.