Puppy Linux Windows Installer - LICK v1.3.3 released

A home for all kinds of Puppy related projects
Message
Author
phredo
Posts: 65
Joined: Mon 21 Oct 2013, 23:15

#556 Post by phredo »

I've used LICK for years on my old Win 7 desktop, putting everything in my C:\ drive. I now want to put several Puppies on my new Win 10 laptop, one of the Puppies on the SD card, and be able to boot into them.

Regarding the Puppy on the SD card: I want to make that card a bit of a "steath" card, so that I can, when I want, remove it from the laptop and not leave any obvious trace of its presence behind. With that in mind, is there a bit of code I could add to the relevant boot document that would, before offering that Puppy as a choice, check to see if the SD card is found, and, if not, not offer it on the boot menu? I realize, of course, that it would not be a perfect "stealth"solution since anyone with the ability could still look at the boot file text and see the card reference, but nothing is perfect.

Another way would be to not use LICKS at all for that puppy, but instead format the card as uefi bootable, install the Puppy on it, and then boot to it using the ESC key to give me the choice of booting from the card, but I'd rather avoid that and use LICKS, if possible. And thanks for all the great work you've done with LICKS!

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

#557 Post by mikeslr »

Actually, noryb009, while you're considering phredo's request, perhaps you could address a problem I recently encounter.

My objective was to use Lick to install a Puppy (dpup-stretch, but I don't think that matters) to a USB-Key. There was a problem with the Key. Sometimes, although plugged in, it wasn't recognized as being present. Or perhaps the problem was with the USB-port's connections. And, maybe I just failed to observe that the key --which I expected to be the first option-- wasn't present. In any event, rather than installing to the Key, the installation was installed to sda1, overwriting Windows boot installer but failing to create a boot-loader which would boot Windows.

At any rate, perhaps some code to test for the presence of the device, whatever it may be. In phredo's case, if the device wasn't found an alternate boot-menu could be displayed.

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#558 Post by noryb009 »

phredo:

The simplest way I can think of is have a puppy that is slightly different from one on your hard drive, then manually edit the boot entry each boot. For example, if you have "puppy-123" on your hard drive, you can have "puppy-1234" on your SD card (regardless of the name of the actual distro). You'll need to press "e" on each boot and add the 4 to a couple lines, but it would be stealthy, even if you look at the boot menu.

Otherwise, it looks like grub2 has a bash-like script built-in. Try editing the C:/lickgrub.cfg file (or, if you don't want to mess up that file, you can add a menu item to a testing cfg file:

Code: Select all

menuentry "Test cfg file" {
    search --set=root --file /testgrub.cfg
    configfile ($root)/testgrub.cfg
}
Alternatively, you can just have that cfg file on the SD card. That would tell people that there is a testgrub.cfg file missing, but not what's in it (unless you put that in an if statement). Anyways, grub2 has a lot of ways to do what you want.

mikeslr:

So it sounds like the bootloader was installed in the EFI partition (which is the only place it can really go, unless I want to get into partitioning USB drives, which I don't), and the lickgrub.cfg was on a USB drive? I believe it's meant to always be placed on the partition Windows is on. But regardless, if lickgrub.cfg gets corrupted or something, it would be nice to have a backup. I created an issue to track this.

phredo
Posts: 65
Joined: Mon 21 Oct 2013, 23:15

#559 Post by phredo »

It looks like I have to step back a bit:

When I wrote I hadn't actually installed a puppy (bionic64 uefi) because I hadn't yet obtained an sd card. Now I have installed bionic pup to it (the D: drive), but LINK will not start it. The directory shows up on the D: drive all right, but I get an error message when I choose it on the LINK boot menu. Says it can't find the puppy files.

Using another puppy on the C: drive, I formated the sd card to FAT32, just in case that was the problem. Then I used LINK to un-install and re-install bionic on the D:. Same response.

Is it a problem with Win10 and uefi booting, do you think? On the other hand, I was a bit surprised when I looked at the cfg file that there was no mention in the newly installed bionic pup of the D: drive -- it's code looked just like the code for the puppy intalled in the C: drive. Perhaps LICK was looking for files in the C: drive?

phredo
Posts: 65
Joined: Mon 21 Oct 2013, 23:15

#560 Post by phredo »

Sorry, I wrote "LINK" several times, meaning "LICK", of course.

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#561 Post by noryb009 »

The cfg file is drive-agnostic. Each boot, it searches all your partitions for certain files associated with a puppy, which makes partition mapping a lot easier (especially from old versions of Windows). So the cfg file is expected here.

You might need to add

Code: Select all

insmod fat
to the beginning of the cfg, but I assumed that it is automatically loaded.

Another thing you can try is to look for the USB from the command line. If you press "c" at the menu, you can run

Code: Select all

ls
to see what devices/partitions it can see. You can then try running commands like

Code: Select all

ls (hd1,gpt2)/
for each of the partitions to see what is in each. If you can't find your USB, grub2/your UEFI might not be picking it up.

linux28
Posts: 270
Joined: Sun 05 Apr 2009, 07:22

#562 Post by linux28 »

http://murga-linux.com/puppy/viewtopic.php?t=116615
/usr/bin/ld: ../liblick/liblick.so: undefined reference to `new_drive_node'
devx_dpupbuster64_8.0.sfs
Try to learn to compile, but there is an error. Who knows the solution? I want to learn to compile, such as this, thank you!


/usr/bin/ld: ../liblick/liblick.so: undefined reference to `new_drive_node'
collect2: error: ld returned 1 exit status
make[2]: *** [test/CMakeFiles/tests.dir/build.make:85:test/tests] error 1
make[1]: *** [CMakeFiles/Makefile2:222:test/CMakeFiles/tests.dir/all] error 2
make: *** [Makefile:152:all] error 2

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#563 Post by noryb009 »

linux28: Did you specify a `-j` flag for `make`? Don't do that, there are some issues when you compile with multiple threads. Otherwise, you should be able to just run something like:

Code: Select all

cd build
cmake ..
make
You will still get errors when compiling FLTK, but the tests and CLI will be compiled. Note that the Linux version of LICK doesn't really work, it's just for testing.

Compiling for Windows is a lot more complicated, and probably not a good way to learn about compiling. You would need to compile mingw-gcc, then some mingw libraries, mingw-cmake, fltk for Windows, then compile LICK. It's probably easier to use another distro that already has all the mingw stuff compiled. If you have that, then you should be able to do the same commands as above, but using `i686-w64-mingw32-cmake` (or whatever your mingw installation has).

Wognath
Posts: 423
Joined: Sun 19 Apr 2009, 17:23

Recovery of EFI partition

#564 Post by Wognath »

Hello noryb009 and all,
Lick 1.2 is still my preferred way to boot Linux distros on a 2017 HP laptop. W10 came on an internal 32GB card; all my Linux installs are on a separate ssd. I manually add entries to lickgrub.cfg.

I recently had a disaster with the windows disk involving haste and gparted, so lost the ability to boot. Fortunately, I had a backup of the EFI partition (17MB tar.gz file) and recovery was fairly easy, although I don't claim to have got it the first try. For next time :?, here's the procedure that worked.

OLD is my copy of the working EFI partition, sda2 is the new EFI system partition made by the windows installer.
1) reinstall W from DVD, then boot linux from live flash drive
2) from OLD/ copy lick.cer and lickgrub.cfg to sda2/
3) copy OLD/EFI/LICK folder to sda2/EFI/
4) Rename sda2/EFI/Boot/bootx64.efi to bootx64-orig.efi
5) from OLD/Boot, copy bootx64.efi, HashTool.efi, loader.efi to sda2/EFI/Boot/
6) rename sda2/EFI/Microsoft/Boot/bootmgfw.efi to bootmgfw-backup.efi

lickgrub.cfg entry

Code: Select all

menuentry "windows 10 " {
set root=(hd0,2)   
# or search --set=root --fs-uuid ####-#### 
chainloader /EFI/Microsoft/Boot/bootmgfw-backup.efi
}
Thanks again to noryb009 for walking me through this. I didn't expect to have to remember it almost 3 years later.

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#565 Post by noryb009 »

Hey Wognath,

It's good to hear that you still use LICK!

The "Nothing happens on reboot" menu item does something like steps 4-6. So after you reinstalled Windows, if you just reinstalled LICK and clicked that extra button, you would essentially be in the same spot :)

jake29
Posts: 253
Joined: Fri 24 Jul 2015, 17:47

Error installing loader

#566 Post by jake29 »

After doing a new install of Windows 10 (Spring 2020 update) (Build: 19041.207) - I am getting an error during installation of bootloader.

Code: Select all

Error installing loader!

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#567 Post by noryb009 »

Hey jake29,

Sorry for not replying earlier. I'm trying to reproduce the issue. I'll let you know if I can reproduce the issue, or if I'll require you to run something for me. In the mean time, let me know if you figure it out.

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#568 Post by noryb009 »

Hey jake29,

I haven't been able to reproduce the issue. I've added more tracing to the program, so hopefully this will point us towards the problem.

Please download this file, and try using it (it's built off of this branch, if you care). Hopefully it gives a more accurate error message.

If it doesn't, then open command prompt in admin mode and run something like:

Code: Select all

lick-cli --trace logfile
Try installing the bootloader ("3" then enter), it should fail with the same message as the UI, then exit ("4" then enter). This should create a "logfile" file that should contain a bunch of text, please upload that.

DuMar
Posts: 79
Joined: Thu 28 Jan 2016, 15:18
Location: Apeldoorn, Netherlands

X not running

#569 Post by DuMar »

Good afternoon to you all,

Today I got my brand new Asus VivoBook with AMD ryzen3 256 + 1TB.

I'm pleased with it but also worried if it will run with Puppy Linux or not.
I decided to start using Lick, I tried it on the old laptop from my wife and it works out of te box.

So, I installed Lick and Bionic64 8.0 uefi. I got the bleu screen at the first startup and I made the correct steps. For moment I thought I had succes because it looked like the pup was starting up as normal. But almost at the end i got this message:

login[5521]: root login on 'tty1'
'/etc/X11/xorg.conf.udev' -> '/etc/X11/xorg.conf'

Xorg Wizard automatic has just run.
If you are reading this, then you are at the console without X running.
The usual thing now is to type 'xwin' to start X...


Typing xwin + enter gives not a single response.

Can somebody help me with this? Thank you.

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#570 Post by noryb009 »

Hi DuMar,

It sounds like that's an issue with the X configuration or installation, so you're better off asking in the beginner's help or users forums. There's no real difference between LICK and other install methods that should have an effect on X.

DuMar
Posts: 79
Joined: Thu 28 Jan 2016, 15:18
Location: Apeldoorn, Netherlands

#571 Post by DuMar »

Thank you noryb009,

I managed to get the machine going with the newest fossapup.

However I made a mistake by installing lick after a windows system repair without shutting the machine down first. Now here is no windows entry anymore in lickgrub. All the windows data is there. I can't start the machine anymore in windows.

This how my lickgrub.cfg looks.

## start section fossapup64-9.0.1
menuentry 'fossapup64 9.0.1' {
search --set=root --file /fossapup64-9.0.1/vmlinuz
linux /fossapup64-9.0.1/vmlinuz pfix=fsck psubdir=fossapup64-9.0.1
initrd /fossapup64-9.0.1/initrd.gz
}

menuentry 'fossapup64 9.0.1 (no save file)' {
search --set=root --file /fossapup64-9.0.1/vmlinuz
linux /fossapup64-9.0.1/vmlinuz pfix=ram savefile=none psubdir=fossapup64-9.0.1
initrd /fossapup64-9.0.1/initrd.gz
}
## end section fossapup64-9.0.1

Can somebody complete it for me with the part about windows that belongs to the top of this?

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#572 Post by noryb009 »

Hi again DuMar,

The default beginning to lickgrub.cfg can be found here. You should be able to add everything in that file before your current contents.

I'll try to figure out what went wrong. Lick should be safe to use whenever, it looks like you fell into an edge case that isn't handled correctly.

DuMar
Posts: 79
Joined: Thu 28 Jan 2016, 15:18
Location: Apeldoorn, Netherlands

#573 Post by DuMar »

Thank ypu noryb009,

That worked very well, I now have the option for windows in the menu. Not that I intend to use it a lot :lol:

I was not familiar with Lick, I use puppy since tahrpup. I always used frugal from USB stick. I'm very used to that and it works great.

But I think this is the future for Puppy Linux to be used on the newest machines. It's not possible anymore to make a machine like I have now boot from USB.

So suddenly I became a sort of testing Fossapup. I will continue in that topic and I hope that soon we have a nice and new and save new puppy member to work with.

Thnx for your help so far.

Kind regards, Marc

jake29
Posts: 253
Joined: Fri 24 Jul 2015, 17:47

#574 Post by jake29 »

Hi noryb009.

My apologies for the delay in replying. I have since done another clean install of Windows and the issue did not occur this time. The origin of the problem - I believe - was due to the configuration of this PC. I have a boot SSD and a data HDD. I normally disconnect the HDD prior to installing Windows / Linux, but it appears on this occasion I had not done so. This resulted in Windows Boot Manager being installed on the HDD and I suspect was the cause of the error.

Thanks for taking the time to look into this.

Jake

DuMar
Posts: 79
Joined: Thu 28 Jan 2016, 15:18
Location: Apeldoorn, Netherlands

#575 Post by DuMar »

I installed Lick now on my other laptop, an Acer with windows 7.

When the machine boots I first have a choice between windows and Lick.
When I choose lick I get a new menu to make a choice between the installed Puppy versions.

I would like to change the first menu so it picks Lick after 5 seconds instead of windows.

How can I do that?

Post Reply