Sparky Linux boots to minimal bash shell

I am working on my daughter’s old HP laptop from 2015. She had been running Kubuntu 22 for over a year and started encountering freezes more frequently, so I updated it (she had not been keeping up with updates) and then upgraded to Kubuntu 24. It looks beautiful, when it doesn’t freeze.

So I thought maybe the Plasma desktop is probably too much (maybe more so now with upgrade) and decided to try some lightweight distros. The problem with most was using my external monitor was almost impossible to get right between the two screens. I finally installed Lubuntu, but did not care for it. So I finally tried Sparky and it works pretty well–no freezes for sure.

The problem remains that ever since I installed it as dual boot alongside Kubuntu 24, the grub does not show up after reboot. You can “exit” and it will start and I have run os-prober and update-grub from both sides (Sparky lastly because I wanted it to control grub) but nothing fixes the issue.

The BIOS is extremely limited compared to most, but order of boot has to be changed in order to boot anything. For USB, have to go into BIOS and switch to USB/Key Diskette. If you decide to go back to booting the OS, you have to move that up in BIOS or it will not boot once the USB is removed. So I have moved up the OS option from SSD yet still no success in booting straight to GRUB.

Any idea why this would happen? I’ve installed Debian and Debian-based distros plenty and never had this issue before.

Thanks,
Sheila

2 Likes

The distro that controls grub is the last one that did a grub-install … either automatically during a linux install or typed by you.

We have to ask … how can a boot bypass grub? It has to be

  • it is using uefi boot… unlikely in that old laptop
  • there is no grub installed… unlikely
  • grub installed in the wrong place… ie in the MBR and boot is uefi, or in the ESP and boot is legacy
  • grub is booting but it does not display the screen because there is only one entry… some ubuntu based distros do this… check /etc/default/grub in whichever distro you think is controlling grub… there is some option that turns screen on or off … cant remember iis name
  • some BIOS setting?

Which distro boots?
Why might grub screen have only one entry?
What did it do before you installed Sparky? If the Sparky install has caused this it must have taken over control of grub, which it will do if you allow the install to write a new grub. That is why I am unimpressed by installers that dont let you decide whether to write grub.

You have a detective job on your hands

1 Like

Grub was hidden as there was only Kubuntu. I changed that in /etc/default/grub. Then I used gparted, shrunk the drive and made a new partition. Installed Lubuntu first and shared the EFI/Boot partition (512 mb).

Then decided to install Sparky over Lubuntu. Again, shared EFI/Boot. It never booted to GRUB once Sparky installed. With Lubuntu, GRUB appeared with both Kubuntu and Lubuntu listed.

The BIOS has Legacy disabled and is using UEFI. I did turn off Secure Boot as it was on from when Windows 10 was on the laptop at time of purchase. But that didn’t hurt a thing.

I don’t understand why it first goes to shell, but if you type “exit” the correct grub appears, with Sparky 1st and Kubuntu below the recovery options for Sparky. Both of them start from GRUB. I only went into Kubuntu to see if running os-prober and update-grub would fix the issue. When it did not, I went back to Sparky and ran the same so that it continues to control GRUB.

That’s why I am at a loss. Most forums where this had happened, it was a BIOS setting that needed changing.

Here is what you see in BIOS:

Here is what a reboot sees:

And as you can see, “exit” command brings up GRUB:

And here is /etc/default/grub (Sparky):

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
GRUB_DISABLE_OS_PROBER=false

I will say that I had to add that last line. Could not believe it was not already there to uncomment.

Here is Kubuntu /etc/default/grub:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=10
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
GRUB_DISABLE_OS_PROBER=false

Here is the disk structure:

Drives:
  Local Storage: total: 447.13 GiB used: 99.07 GiB (22.2%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Kingston model: SA400S37480G
    size: 447.13 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: K1B3 scheme: GPT
Partition:
  ID-1: / raw-size: 226 GiB size: 221.39 GiB (97.96%) used: 12.38 GiB (5.6%)
    fs: ext4 dev: /dev/sda3 maj-min: 8:3
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
    used: 20.9 MiB (4.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1
Swap:
  Alert: No swap data was found.

Let me know if I need to look at anything else. Sure, I can keep typing “exit” to get to GRUB, but there has to be a way to fix this.

Sheila

3 Likes

I might have found something. Remember I said the BIOS was limited? Strange, but when you get to the BOOT area, you have to hit enter to display the options. I just noticed there was an arrow next to OS Boot Manager. Does that mean it is hiding something as well?

Rebooted into BIOS and YES: a window opens up with

ubuntu (KINGSTON DISK SN)
sparky (KINGSTON DISK SN)

UBUNTU was highlighted. So i selected Sparky, hit F6 to move it to the top and rebooted.

Grub appeared without going to bash shell.

Dern ancient BIOS menus :rofl:

So others were right in saying it is something in the BIOS that needs fixing when this happens.

Sparky controlled GRUB, but BIOS had ubuntu GRUB selected. Conflict caused it?

Another lesson in Linux learned!

Sheila

3 Likes

I hope you erased Lubuntu first
I think I understand

  • you installed Lubuntu and it wrote grub
  • you installed Sparky and it did not write grub
  • you never did grub-install in any distro after that
  • so Lubuntu is in control of grub and it is not there

The fix is easy… go into Sparky and do grub-install

Sorry, I missed your second reply

My guess was wrong

1 Like

Well @nevj, I was writing my find while you were answering.

But that is the exact solution folks with this issue kept being told. Yet I knew GRUB was installed. I mean after “exit” you can see the GRUB menu with both Sparky at the top and Kubuntu after. I edited the GRUB config file so it had to be, right?

Thanks,
Sheila

1 Like

That grub > prompt means it cant find the /boot/grub/grub.cfg file
because the BIOS was pointing it to Ubuntu

I have never seen a BIOS where the pointer was accessible like that.
Usually grub-install sets the pointer and it is invisible

2 Likes

Me either. The first time I entered it because my usb was not booting, I could not find the area for boot order. It was all the way at the bottom of the 6-7 items and just said “BOOT”

So I highlighted and hit enter and it opened up the devices for booting. Strange.

It was only because I was looking at the images I uploaded here and that OS BOOT MANAGER seemed strange to me. I mean, GRUB is a boot manager, so I then noticed that little arrow beside it and thought, I bet you have to hit enter to see the sub menu there as well.

I do like Sparky for a minimalist distro. I would have just put MX on it, but she is not real computer literate and used to the whole Ubuntu menus look & feel, so figured she would struggle with an OS so different.

For now, I think Sparky fixed the freezing issues as it has not frozen once. Kubuntu is random. It froze at the desktop today, then later, booted into it an it worked. But I am pretty sure the KDE Plasma desktop is too heavy for this old laptop.

Thanks,
Sheila

1 Like

That might be graphics driver , or it might be the graphics package that goes with the Xserver. Anyway changing distros is a far easier fix. I assume it is not Wayland.

1 Like

Gosh, no. I don’t understand why everything is going Wayland. I installed some other desktops in Sparky. I am using Mate as it is light and I like it. But thought maybe she might like others.

First time I selected the drop down, Plasma (Wayland) appeared. I had installed the LXQT since I thought it was supposed to be light as well, but again the whole graphics thing was messed up and I did not know how to resolve.

Half of the distros I tried had my large screen trying to be on her laptop screen, but on her screen at least I had the panel. On external monitor, nothing but the background image. Then I realized my mouse could travel off the external monitor and be on her screen, so not mirrored. But when I chose to mirror, her small screen appeared on my monitor as a shadow along with the larger image.

So as you said, simpler to choose one that already works out of the box rather than troubleshoot graphics/display issues. I was just fearing her graphics card was going out since sometimes it said it was mirrored, but external monitor was dark, yet you knew it was on, something was displaying, but you could not see anything but black.

Too many family computers to fix to spend too much time on an issue that can be resolved with a different distro. As long as she can use her computer without freezing, she’ll be fine. But her birthday is in April and I am looking for a good used one that at least has better processing speed.

My mom’s is older than hers, but it has a an intel 3. But no HDMI output. My daughter’s has HDMI, but did not come with Bluetooth and only one USB port will boot USB…found that out when it would not boot from the ones on the left side even after setting BIOS. Finally tried the only one on the right and it booted. I had forgotten that used to be a thing.

Sheila

1 Like

Good idea. Better processor and an SSD and enough ram.
Are you wedded to laptops? Desktops are cheaper and last longer.

I dont know much about dual screens… never done it
Xfce is moderately light.

1 Like

I already installed one of my unused SSDs in her laptop when I installed Linux on it in 2023. I knew that would at least speed things up a bit.

Since this is her computer, I felt like she would rather have a laptop like she has since she was 14 yrs old. She likes to sit on her couch and compute LOL. Plus she is in a small apartment with a roomate who works from home on a desktop so they already have that setup in one room.

I know how much cheaper desktops are and the real plus is upgrading. Very few laptops allow for more than a switch of internal drives, maybe some RAM. I did add 4 GB RAM when I put in the SSD as she only had 4 at the time.

I don’t know enough about the progression of processors to be sure, but I think the “3700N” is a single core with 4 “threads” but I could be wrong:

CPU:
  Info: model: Intel Pentium N3700 bits: 64 type: MCP arch: Airmont level: v2
    built: 2015-17 process: Intel 14nm family: 6 model-id: 0x4C (76) stepping: 3
    microcode: 0x368
  Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 224 KiB
    desc: d-4x24 KiB; i-4x32 KiB L2: 2 MiB desc: 2x1024 KiB
  Speed (MHz): avg: 720 high: 1120 min/max: 480/2400 scaling:
    driver: intel_cpufreq governor: ondemand cores: 1: 1120 2: 800 3: 480 4: 480
    bogomips: 12800

I favor AMD over Intel, so maybe Ryzen 5 with Radeon graphics. I have seen a few on marketplace for around $300 with those specs. But I have not really looked or researched much yet.

As far as dual screens, I do not use the ext monitor for dual use. It is my old eyes that need a larger screen to see. So since I use an ext monitor on my desktop, figured I might as well add them to my laptops. I keep the lids partway open for air flow, but only look at the external screen.

For her, she is young and has a 16" screen so that is plenty for her. That is why the ext monitor issue was not a deal breaker for her usage, but thinking ahead in case she might, I wanted it to work with one. Sparky Mate fits the bill.

Her screen also has a line running through it (said her cats probably jumped on it while closed) so if that screen continues to deteriorate, she would need one. But I think after 10 years, it is time for her to have her 2nd computer :wink:

Sheila

4 Likes

It says 4 cores, 4 threads, but only 1.6Ghz
Try and get about 3Ghz… AMD is fine or a corei5 intel or better.
16Mb ram or better

2 Likes

Tell her about ergonomics

2 Likes