@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