Page 1 of 1

BionicPup32 19.03 cannot boot from HDD

Posted: Tue Dec 08, 2020 2:25 am
by sj60

Hi all, I am new to linux.

I have been running BionicPup 32 19.03 booting from CD on a Pentium 4 @ 2.6GHz, 1.5 GB RAM, with two HDDs: 45 GB and 250 GB previously running Windows XP Pro. It runs very well, a bit faster than XP and Light Browser is able to render modern webpages on this old system reasonably well, so I decided to install on the 45 GB HDD. But I cannot get it to boot from the HDD.

The 45 GB HDD had 3 partitions: 7 GBs for Windows, 3 GB for its page file, and the rest for data. Using GParted, I removed the last two partitions and expanded the Windows partition to fill the whole HDD. I then converted the NTFS to ext3 and wiped Windows. This HDD became sda1. The 250GB drive I left intact as NTFS. This is sdb.

Puppy then installed but I cannot boot from the HDD. I tried full and frugal but no success. The install process guided me to edit the GRUB4DOS menu.lst boot file by inserting the following for full install:

Code: Select all

Title Puppy Linux - BionicPup32 19.03 full install in sda1
#root (hd0,0) <-- GRUB legacy, ex: (hd1,0), etc..
find --set-root uuid () 2909428a-099b-4f7c-a527-4759e059cd16
kernel /boot/vmlinuz fullinstall root=UUID=2909428a-099b-4f7c-a527-4759e059cd16 pmedia=atahd
#                                root=/dev/sda1
initrd /boot/

However I get Error 15, file not found.

And I cannot boot from the HDD. The only way to boot Puppy is then from the CD.
I have wiped Puppy a number of times and reinstalled but I cannot get it to boot.
I am sure it is something minor I am missing but right now I am stuck.
Should I be using the items (or part of it) commented out instead?

Any help anyone can give me is greatly appreciated.
Thanks -- sj60


Re: BionicPup32 19.03 cannot boot from HDD

Posted: Tue Dec 08, 2020 3:35 am
by Wiz57

Can't be sure, but it doesn't appear your menu.lst contains the Puppy directory...here's part of mine for
an idea...

title ScPup
find --set-root --ignore-floppies /ScPup/initrd.gz
kernel /ScPup/vmlinuz psubdir="ScPup" pfix=fsck
initrd /ScPup/initrd.gz
boot

title ScPup - Do not load save file
find --set-root --ignore-floppies /ScPup/initrd.gz
kernel /ScPup/vmlinuz psubdir="ScPup" pfix=ram
initrd /ScPup/initrd.gz
boot

title ArchPup 32
find --set-root --ignore-floppies /ArchPup/initrd.gz
kernel /ArchPup/vmlinuz psubdir="ArchPup" pfix=fsck
initrd /ArchPup/initrd.gz
boot

title ArchPup 32 - Do not load save file
find --set-root --ignore-floppies /ArchPup/initrd.gz
kernel /ArchPup/vmlinuz psubdir="ArchPup" pfix=ram
initrd /ArchPup/initrd.gz
boot

Note the kernel lines as well as the initrd line contain the appropriate Puppy directory, as well as I've
designated the Puppy subdirectory in kernel line with the psubdir= option,

Try something along these lines and see if we get success. The other thing to double check is the
drive notation...sdb1 instead of hd0.

Wiz ;)


Re: BionicPup32 19.03 cannot boot from HDD

Posted: Tue Dec 08, 2020 8:23 am
by Jafadmin

This I think ..

Code: Select all

Title Puppy Linux - BionicPup32 19.03 full install in sda1
  find --set-root uuid () 2909428a-099b-4f7c-a527-4759e059cd16
  kernel /boot/vmlinuz fullinstall root=UUID=2909428a-099b-4f7c-a527-4759e059cd16 pmedia=atahd
  initrd /boot/initrd.gz

Re: BionicPup32 19.03 cannot boot from HDD

Posted: Tue Dec 08, 2020 12:57 pm
by bigpup

Puppy works best as a frugal install.

How exactly did you do the frugal install?
Used what installer program?

After installing Bionicpup32.
I wonder if you actually installed a boot loader?
Applications->Setup->Grub4dos Bootloader Config
Install the boot loader to the drive Bionicpup32 8.0 is installed on.

You are selecting the correct drive as the device to boot from?


Re: BionicPup32 19.03 cannot boot from HDD

Posted: Tue Dec 08, 2020 3:22 pm
by sj60

Thanks to all who replied!

Based on the replies, I did a bit of digging and found that there is no vmlinuz nor initrd.gz files on my HDD. They only reside on my CD.
Should I copy them over and if so to where?

I used to default puppy installer and I assume that puppy also has GRUB4DOS installed. So I dont know why these files were not copied / installed. There may be other critical files that did not get installed but I dont know yet.

Thanks again for any further guidance you can give me.
sj60

UPDATE:
I reformatted the HDD to ext3 and reinitialized the file table to msdos.
Despite doing this it still had the directory structure from before meaning if I went out of /mnt/sda1 I'd see another root and boot folders etc.
Anyways, I reinstalled puppy to this 'clean' HDD.
Still unable to boot, so I copied vmlinuz and initrd.gz to /mnt/sda1/boot.
Now I can boot off the HDD -- BUT something is still wrong. I get partial functionality where I get the puppy GUI, but the majority of apps under the Menu do not launch. Light Browser oddly does launch.
I feel I need to really wipe the HDD again and start over. This is getting quite frustrating seeing that I have read puppy is so easy to install and run. It certainly does run well from CD.
Extremely grateful if anyone can guide me as to what I am doing!


Re: BionicPup32 19.03 cannot boot from HDD

Posted: Wed Dec 09, 2020 9:53 am
by cobaka

@sj60

I understand your situation. At the beginning of my 'life with puppy' I tried various means of installing puppy.
Not all worked, but I found mikeslr's method to be reliable. He gives precise instruction on how to do this. (see link below).
For a long time I used uPupBB on a Pentium P4 (also P4-M).

In overview here is the method I use:
Boot 'live' from the CD. Then, using uPupBB32 (from the CD):
Run gPartEd to partition and format your HDD. (applications>system>GParted).
Erase everything - create a new partition table.
Then create 2 (or 3 partitions). Partition>new.
You can have either 2 or 3 partitions. I prefer 3. Others prefer 2.
I prefer 3 partitions because this arrangement places the OS and work in two separate places.
However, with 2 partitions you can create a directory called 'work' and the result is almost the same.
Partition P1 should be 800MiB (to 1.25GiB), FAT32 and with the boot flag set.
I prefer to format a smaller second partition (ext3) and reserve this for the OS.
I make a third partition and use this for WORK. (again ext2/ext3/ext4)
This is the end of your work with gPartEd.

The next task is done using the ROX-file manager.
I do nothing with sda1 - the small FAT32 partition. Some 'magic' (below) does the work when you use Grub-4-DOS bootloader.
I create a sub-directory in sda2 and call it OS_BOOT.
I copy all the files from the CD iso (as mikeslr describes) into OS_BOOT.
You have to click on the iso file to see what's there. Again, see MikeSLR's method.
That is the end of your work with gPartEd.

Two more steps to go. Now you must load the boot-loader using Grub-4-DOS.
This program is found in applications>setup.
Once Grub-4-DOS is running choose options <search only within sda> and <legacy compatible menu lst>
Install the boot-loader. This is then the magic happens. The boot-loader goes onto the first sector of the drive and the boot-menu is loaded into (or onto) sda1.
When finished you will have a number of files on sda1, and particularly menu.lst.
That is the end of your work with Grub-4-DOS.

Now the final step. Remove the CD and shut down puppy.
DO NOT MAKE A SAVE FILE AT THIS STAGE. You will do that when you boot puppy for the first time from the HDD.
At this time your PC is off - w/out power. When you boot, use the BIOS config key (often but not always F2) and set the boot-order.
I choose CD, HDD, USB or CD,HDD. If you choose to boot from the HDD only your PC will boot more quickly - I use the slower method in case I need to boot from a live-CD. After this, continue to boot Puppy from sda1.

You will find these two postings (below) from mikeSLR most helpful. Lots of useful detail.
You will be well-rewarded if you follow each step in the first posting carefully.

viewtopic.php?f=2&t=375&p=1788&hilit=ROX#p1788
I tested mike's method, following each step as described. It works!

The next link describes a method that is close to what you want but not exactly. I'm sure you will find it informative.
viewtopic.php?f=2&t=360&p=1735&hilit=ROX#p1735

cobaka.


Re: BionicPup32 19.03 cannot boot from HDD

Posted: Wed Dec 09, 2020 7:00 pm
by sj60

@cobaka

Thank you for these detailed instructions as well as mikeslr's instructions!

I wish I had these before trying to install puppy as it would have avoided a lot of frustration. It has been the most difficult OS I have tried to install. Why it is so challenging to install on a HDD when its so easy to do so on USB or CD is beyond me (also tested bionicpup64 via USB on a newish i7 touch screen laptop and it was a thrill). I hope the developers add more detail and context to the installation steps and simplify things given the claim it is 'grandpa ready'. Currently more focus is on the default recommended "yes" choices than on the "no" choices. There are no pros and cons for the "no" choices - and it does not mean the converse of those for the "yes" choices. For my case a few of the "no" choices led to success.

I have successfully installed puppy on the HDD using a variant of your steps based on the bits and pieces of info I gathered from various linux forums. I summarize the steps used below:

Partitioning the HDD
Because things got messed up, I had to wipe the hdd, delete many folders that seemed to have been duplicated by my attempts at reinstalls and repartition it again using GParted. This was my 3rd time partitioning and creating a new table. I created 2 partitions:
70 GB primary partition, boot flagged, ext3 formatted (this was preceded by an approx 1 MB unallocated space);
5 GB primary partition, ext3 linux swap file. ext3 seemed to work for me.

I chose to go with this large primary partition - if it didnt work my plan was to reduce it significantly. Users on various forums have been using small partition sizes, unallocated portions, as well as dedicating a swap partition without giving any context as to why. It would be helful if the rationale was given. Why this works for puppy I have no idea.

Installing using the Puppy Installer
I used the default installer which my experience seems to suggest is buggy. This time it seemed to copy all the files needed including vmlinuz and initrd.gz into their required /boot folder (I checked after the install. My earlier installs did not copy these over to the hdd for some reason and I had to manually copy them over.) Your steps where you manually copy files into a dedicated folder seems safer.

I chose FULL as opposed to the recommended FRUGAL. I wanted puppy to be the only OS. Why there seems to be warnings on FULL I dont know but more context would be helpful.

Bootloader Installation
The installation automatically launched GRUB4DOS to install the bootloader and its menu file. This time I chose <legacy compatible menu.lst> like your step. I chose (checked) 'legacy' Grub instead of the recommended and preferred 'nonlegacy' Grub4dos and ignored inserting the text for Grub4dos menu (sample given in my OP).

Where it installed I dont know (in the MBR table?) but the menu.lst is in "/" which I assume is in sda1 outside of any folder (if that makes sense).

This step also may be buggy as it automatically generated two instances of BionicPup32 boot commands. I have not deleted the duplicate fearing things might get messed up again but maybe later on I may have the courage to do so. On bootup I am presented with two BionicPup32 boot options including the nonfunctional Windows boot. In case others might find it useful to see what my working menu.lst is with legacy Grub code:

Code: Select all

# menu.lst produced by grub4dosconfig-v1.9.3
color white/blue black/cyan white/black cyan/black
#splashimage=/splash.xpm
timeout 10
default 0

# Full installed Linux

title BionicPup32 19.03 (sda1/boot)
  root (hd0,0)
  kernel /boot/vmlinuz root=/dev/sda1 ro 
  initrd /boot/initrd.gz

title BionicPup32 19.03 (sda1/boot)
  root (hd0,0)
  kernel /boot/vmlinuz root=/dev/sda1 ro 
  initrd /boot/initrd.gz

# Windows
# this entry searches Windows on the HDD and boot it up
title Windows\nBoot up Windows if installed
  errorcheck off
  find --set-root --ignore-floppies --ignore-cd  /bootmgr
  chainloader /bootmgr
  find --set-root --ignore-floppies --ignore-cd  /ntldr
  chainloader /ntldr
  find --set-root --ignore-floppies --ignore-cd   /io.sys
  chainloader /io.sys
  errorcheck on

# Advanced Menu
title Advanced menu
  configfile /menu-advanced.lst
  commandline

Finally Remove CD, Dont Save and Reboot
I can now boot successfully from the HDD (yippee!!)

I was then presented with options to setup location, time zone, network connection, and customize the desktop and UI etc.
My boot sequence has the HDD last in case I still need to boot from CD or USB.

For anyone in my situation I would recommend you follow cobaka's steps and use my experience to have some additional context and flexibility.

sj60


Re: BionicPup32 19.03 cannot boot from HDD

Posted: Thu Dec 10, 2020 12:39 am
by bigpup

It was a good idea, but hard to use for a new Puppy user.
The Puppy Universal Installer is trying to be one installer for all possible ways to install or devices to install on.
It does get a little confusing to a new user.
Having so many possible selections, it is easy to get it wrong or not completely done correctly.

Difference between full and frugal install

Frugal installs:

Can be put on any partition any format, any type storage device.

They load more of Puppy into RAM.

Uses a save file or folder to store all changes, settings, added stuff, etc.....
Has control of how the save is used, when it is written to or not written to, where it is located.

Easier to backup, because all changes, settings are in the save. The core Puppy files never change. Only what is in the save changes. All you have to do is copy the save to have a backup.
If Puppy really gets messed up. Just delete the save and replace it with the backup save.

You can easily load or unload SFS program packages.
This lets you use a program without actually installing it to Puppy. You will have to use this option to fully understand it.

All of Puppy is placed in a directory (folder).
You can have many Puppies on one partition.
All completely separate from the other.
All in different directories (Linux term for folder).

Full installs:
Must be installed to a Linux formatted partition.
Uses the entire partition.
Main advantage is it uses less memory to boot to desktop.
Does not use layered file system.
Works best for compiling.
Does not run into size limit that a save file has on a fat32 format.

Note:
Over the last few years a lot of work has been done to improve frugal installs and how everything works in them.
Full install operation has stayed the same.
The best features of Puppy only work in frugal installs.