Author |
Message |
noryb009
Joined: 20 Mar 2010 Posts: 592
|
Posted: Sun 31 Oct 2010, 20:53 Post subject:
Puppy Linux Windows Installer - LICK v1.3 released Subject description: Package your puppy as a .exe Windows installer |
|
Install Puppy Linux on Windows
Download LICK here.
LICK is a Puppy Linux installer for Windows. It configures Windows and Puppy Linux to create a dual-boot environment in just a few clicks. This makes it perfect if you want to try out Linux without the hassle of installing.
LICK is versatile: it can be run on almost any version of Windows, from Windows 95 to Windows 10, on BIOS or UEFI, with or without secure boot.
LICK is easy to use: It does not require a CD to be burnt or a USB drive to run. Download a Puppy Linux ISO and select it in the program to install it.
LICK is developer-friendly: If you want to bring the power of LICK to your application or distribution, a command line utility and a library are available. LICK is licensed under the MIT license, so feel free to use it however you like.
You can Download LICK and an ISO file of your favourite version of Puppy Linux to get started.
Last edited by noryb009 on Mon 02 Apr 2018, 20:45; edited 48 times in total
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 592
|
Posted: Sun 31 Oct 2010, 20:54 Post subject:
|
|
The predecessor to LICK is PLIC - the Puppy Linux Installer Creator. It has been deprecated. For reference, the original first post of this thread can be found here.
Last edited by noryb009 on Sun 20 Mar 2016, 16:12; edited 16 times in total
|
Back to top
|
|
 |
shinobar

Joined: 28 May 2009 Posts: 2664 Location: Japan
|
Posted: Sun 31 Oct 2010, 23:14 Post subject:
LupQ Windows Installer available |
|
Congratulations, noryb
One thing for the installer creators:
Extracting the zip, the foler named 'Puppy Linux Installer Creator V1.0'.
There is another folder named 'Puppy Linux Installer Creator' under the 'Puppy Linux Installer Creator V1.0'.
You can extract the zip anywhere. Then move the inner folder 'Puppy Linux Installer Creator' to C:\.
Created the Quickset Wary/LupQ Windows installer.
Do not support Windows Me.
Quickset_Wary_Puppy_Linux-511.exe from here
md5sum: d5bc0c6361d2516c54cec78d8bb281bc
Lucid-Puppy-Quickset-edition-511-Installer.exe from here
md5sum: 6c7dba6b5dfe49a09ee785ce3dc22b36
_________________ Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html
Last edited by shinobar on Sun 24 Apr 2011, 07:56; edited 1 time in total
|
Back to top
|
|
 |
ICPUG
Joined: 24 Jul 2005 Posts: 1304 Location: UK
|
Posted: Wed 03 Nov 2010, 09:13 Post subject:
|
|
Well done, noryb, for this offering.
I have a couple of queries.
I have a Windows 7 computer now but I am naturally reluctant to mess its booting up by running an installer when I don't know what it does! (Lin'N'Win has not been updated to cover Windows 7 yet).
Is it possible to briefly describe how the scripts in the installer achieve the boot on a Windows 7 machine? Does it copy grldr somewhere? How does it edit the BCD to refer to grldr - what tools used - what lines added?
Hopefully, you will allow me to include your description in Lin'N'Win in return for an acknowledgement.
My second query relates to what happens if someone installs a SECOND puppy by an installer that has been created by your method. Will the installer recognise that all the bits are in place and simply add a block to the menu.lst?
|
Back to top
|
|
 |
shinobar

Joined: 28 May 2009 Posts: 2664 Location: Japan
|
Posted: Wed 03 Nov 2010, 10:35 Post subject:
NSIS script |
|
ICPUG wrote: | Is it possible to briefly describe how the scripts in the installer achieve the boot on a Windows 7 machine? Does it copy grldr somewhere? How does it edit the BCD to refer to grldr - what tools used - what lines added? |
The script main.nsi, you can find after extracting the Puppy Linux Installer Creator V1.0.zip, can be an answer:
http://nsis.sourceforge.net/Main_Page
_________________ Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html
Last edited by shinobar on Mon 08 Nov 2010, 10:36; edited 1 time in total
|
Back to top
|
|
 |
ICPUG
Joined: 24 Jul 2005 Posts: 1304 Location: UK
|
Posted: Wed 03 Nov 2010, 13:39 Post subject:
|
|
Shinobar
Yes - that could be an answer but I was rather hoping to avoid having to learn yet another scripting language to decipher the answer.
Noryb must know what he did and he can provide the response far quicker and in a conversational language.
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 592
|
Posted: Wed 03 Nov 2010, 17:42 Post subject:
|
|
Quote: | Hopefully, you will allow me to include your description in Lin'N'Win in return for an acknowledgement. |
Of course! You were the one who did most of the work for this project. I would have never gotten 9x working.
Quote: | My second query relates to what happens if someone installs a SECOND puppy by an installer that has been created by your method. Will the installer recognise that all the bits are in place and simply add a block to the menu.lst? |
Yes, it will just add to the menu.lst. It checks C:\ and C:\boot\grub for a menu.lst, and adds itself to it. It also only asks to uninstall grub if it's the last puppy installed.
Quote: | I have a Windows 7 computer now but I am naturally reluctant to mess its booting up by running an installer when I don't know what it does! (Lin'N'Win has not been updated to cover Windows 7 yet).
Is it possible to briefly describe how the scripts in the installer achieve the boot on a Windows 7 machine? Does it copy grldr somewhere? How does it edit the BCD to refer to grldr - what tools used - what lines added? |
First of all, it copys grldr and grldr.mbr (both in the grub4dos zip file, I'm not sure if you need grldr) to C:\, then runs the following commands in command prompt:
Code: |
bcdedit /export "C:\BCD Backup"
(backs up the BCD, for safety)
bcdedit /create /d "Start Puppy Linux" /application bootsector
(Adds the puppy entry)
This command returns an ID, like in this image: http://murga-linux.com/puppy/viewtopic.php?mode=attach&id=33758
The installer gets the ID. You have to use the { } brackets for it to work.
bcdedit /set {Insert ID here} device "partition=C:"
bcdedit /set {Insert ID here} path \grldr.mbr
(When you select it from the menu, run C:\grldr.mbr)
bcdedit /displayorder {Insert ID here} /addlast
(adds it to the menu)
bcdedit /timeout 10
(sets the timeout to 10 seconds)
|
Also, the user must run command prompt in admin mode (right click > run as admin)
EDIT: I forgot, because of 7 having a partition for booting, you can't just use (0,0) in menu.lst. Here is a entry that shinobar
gave me:
Code: | title puppy
find --set-root --ignore-floppies /puppy/initrd.gz
kernel /puppy/vmlinuz psubdir="puppy"
initrd /puppy/initrd.gz
boot |
Is there anything else you need?
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15238 Location: Paradox Realm
|
Posted: Fri 05 Nov 2010, 04:05 Post subject:
|
|
I got to the last stage with Lucid-235 ISO and then the following output:
Code: | MakeNSIS v2.46 - Copyright 1995-2009 Contributors
See the file COPYING for license details.
Credits can be found in the Users Manual.
Processing config:
Processing plugin dlls: "C:\Program Files\NSIS\Plugins\*.dll"
- AdvSplash::show
- Banner::destroy
- Banner::getWindow
- Banner::show
- BgImage::AddImage
- BgImage::AddText
- BgImage::Clear
- BgImage::Destroy
- BgImage::Redraw
- BgImage::SetBg
- BgImage::SetReturn
- BgImage::Sound
- Dialer::AttemptConnect
- Dialer::AutodialHangup
- Dialer::AutodialOnline
- Dialer::AutodialUnattended
- Dialer::GetConnectedState
- InstallOptions::dialog
- InstallOptions::initDialog
- InstallOptions::show
- LangDLL::LangDialog
- Math::Script
- NSISdl::download
- NSISdl::download_quiet
- Splash::show
- StartMenu::Init
- StartMenu::Select
- StartMenu::Show
- System::Alloc
- System::Call
- System::Copy
- System::Free
- System::Get
- System::Int64Op
- System::Store
- TypeLib::GetLibVersion
- TypeLib::Register
- TypeLib::UnRegister
- UserInfo::GetAccountType
- UserInfo::GetName
- UserInfo::GetOriginalAccountType
- VPatch::GetFileCRC32
- VPatch::GetFileMD5
- VPatch::vpatchfile
- nsDialogs::Create
- nsDialogs::CreateControl
- nsDialogs::CreateItem
- nsDialogs::CreateTimer
- nsDialogs::GetUserData
- nsDialogs::KillTimer
- nsDialogs::OnBack
- nsDialogs::OnChange
- nsDialogs::OnClick
- nsDialogs::OnNotify
- nsDialogs::SelectFileDialog
- nsDialogs::SelectFolderDialog
- nsDialogs::SetRTL
- nsDialogs::SetUserData
- nsDialogs::Show
- nsExec::Exec
- nsExec::ExecToLog
- nsExec::ExecToStack
!define: "MUI_INSERT_NSISCONF"=""
Changing directory to: "Z:\root\.wine\c_drive\Puppy Linux Installer Creator"
Processing script file: "Z:\root\.wine\c_drive\Puppy Linux Installer Creator\main.nsi"
!include: "Puppy Linux Installer Maker.nsh"
!define: "PUPPY_SFS"="luci-235.sfs"
!define: "PRODUCT_NAME"="Puppy Lucid"
!define: "PRODUCT_VERSION"="235"
!define: "INSTALL_DIR"="Puppy-Lucid-235"
Function: "in"
FunctionEnd
Function: "un.uninstall"
FunctionEnd
!include: closed: "Puppy Linux Installer Maker.nsh"
SetOverwrite: on
!define: "WHAT_TO_CALL_ON_BOOT"="Start Puppy Linux"
!define: "PRODUCT_WEB_SITE"="http://puppylinux.org"
!define: "PRODUCT_UNINST_KEY_UP_ONE"="Software\Microsoft\Windows\CurrentVersion\Uninstall\PuppyLinux"
!define: "PRODUCT_UNINST_KEY"="Software\Microsoft\Windows\CurrentVersion\Uninstall\PuppyLinux\Puppy Lucid 235"
!define: "PRODUCT_UNINST_KEY_THAT_SHOWS_IN_REMOVE_PROGRAMS"="Software\Microsoft\Windows\CurrentVersion\Uninstall\Puppy Lucid 235"
!define: "PRODUCT_UNINST_ROOT_KEY"="HKLM"
!define: "PRODUCT_PUBLISHER"="Puppy Linux"
!include: "C:\Program Files\NSIS\Include\MUI.nsh"
!include: "C:\Program Files\NSIS\Contrib\Modern UI\System.nsh"
NSIS Modern User Interface version 1.8 - Copyright 2002-2009 Joost Verburg (C:\Program Files\NSIS\Contrib\Modern UI\System.nsh:8)
!define: "MUI_INCLUDED"=""
!define: "MUI_SYSVERSION"="1.8"
!define: "MUI_VERBOSE"="3"
!include: closed: "C:\Program Files\NSIS\Contrib\Modern UI\System.nsh"
!include: closed: "C:\Program Files\NSIS\Include\MUI.nsh"
!define: "MUI_ABORTWARNING"=""
!define: "MUI_ICON"="C:\Puppy Linux Installer Creator\Puppy Linux Install.ico"
!define: "MUI_UNICON"="C:\Puppy Linux Installer Creator\Puppy Linux Uninstall.ico"
!insertmacro: MUI_PAGE_WELCOME
Error while loading icon from "C:\Puppy Linux Installer Creator\Puppy Linux Install.ico": can't open file
Error in macro MUI_INTERFACE on macroline 64
Error in macro MUI_PAGE_INIT on macroline 2
Error in macro MUI_PAGE_WELCOME on macroline 5
Error in script "Z:\root\.wine\c_drive\Puppy Linux Installer Creator\main.nsi" on line 27 -- aborting creation process |
I am running from DVD not frugal or full install
could that be the error or something to do with file locations?
_________________ YinYana AI Buddhism
|
Back to top
|
|
 |
ICPUG
Joined: 24 Jul 2005 Posts: 1304 Location: UK
|
Posted: Fri 05 Nov 2010, 09:13 Post subject:
|
|
Thank you Noryb for the explanation of how the windows 7 install works. That was just what I needed and will suffice while I investigate around some issues I have (understanding windows 7).
Your post encouraged me to read again some stuff I had collected ready for when I had Windows 7 - most notably the Grub4dos_tutorial and the README_GRUB4DOS.txt that is part of the Grub4DOS package. These are the only 2 docs I have found for grub4DOS. The readme is technical and written by someone who does not have English as a first language, although it is pretty good! The tutorial is more user friendly.
I see your technique is basically that from the readme with the crucial step about noting the {id} and substituting it in subsequent commands made clear! The tutorial neglected this and confused me a bit.
In the line:
bcdedit /set {Insert ID here} device "partition=C:"
The last bit is quoted whereas Microsoft (see here http://support.microsoft.com/kb/919529) nor the readme suggests that it needs to be quoted.
By the way, this line in the tutorial is shown as:
bcdedit /set {ID} device boot
which I think is out of date. Your line is more correct according to Microsoft and the readme. I don't know the subtleties of BCEDIT yet. Must download Microsoft's manual to BCEDIT, but it is in their appalling docx format only.
One thing I can tell you. With this approach you need both grldr.mbr AND grldr. The latter is called up by the former.
What I would like to know at some point is whether one can dispense with grldr.mbr and call up grldr directly, but that is one for me to play with, (as is the rather more drastic renaming of bootmgr to winbootmgr and grldr to bootmgr and then chainload winbootmgr from grub when windows is required!).
Your method seems safe. Well done.
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 592
|
Posted: Fri 05 Nov 2010, 15:07 Post subject:
|
|
Thanks.
Quote: | By the way, this line in the tutorial is shown as:
bcdedit /set {ID} device boot |
Shinobar said that that didn't work right, so he showed be partition=C
Quote: | but it is in their appalling docx format only. |
I think you can e-mail it to a gmail or hotmail accout (among others) and preview it in HTML format.
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 592
|
Posted: Fri 05 Nov 2010, 16:43 Post subject:
|
|
Sorry lobster, I didn't see your post. Can you open up makensisw, then drag the main.nsi to the window from ROX?
Last edited by noryb009 on Fri 05 Nov 2010, 16:49; edited 1 time in total
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15238 Location: Paradox Realm
|
Posted: Fri 05 Nov 2010, 16:47 Post subject:
|
|
Quote: | Can you open up makensisw, then drag the main.nsi to the window from ROX? | Yes I can - did that initially but got an error message with that too . . .
_________________ YinYana AI Buddhism
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 592
|
Posted: Fri 05 Nov 2010, 16:49 Post subject:
|
|
Go to makensisw, open (top left, under File), then select main.nsi (make sure it's from C:\, not Z:\).
EDIT: also make sure /root/.wine/drive_c/Puppy Linux Installer Creator/Puppy Linux Install.ico is a file. I am currently using 501, which might also have something to do with it.
Last edited by noryb009 on Fri 05 Nov 2010, 19:51; edited 1 time in total
|
Back to top
|
|
 |
noryb009
Joined: 20 Mar 2010 Posts: 592
|
Posted: Fri 05 Nov 2010, 17:36 Post subject:
|
|
I uploaded a new version of the autorun installer. It now is only 160 KB (it was 300 KB).
|
Back to top
|
|
 |
shinobar

Joined: 28 May 2009 Posts: 2664 Location: Japan
|
Posted: Fri 05 Nov 2010, 22:11 Post subject:
set device to boot or... |
|
Code: | bcdedit /set {Insert ID here} device "partition=C:" |
By the way, this line in the tutorial is shown as:
Code: | bcdedit /set {ID} device boot |
The tutorial should be right if the grldr.mbr is on the boot partition.
But our case, the grldr.mbr is copied on the C:\, so we need to use "partition=C:" instead of 'boot'. (I am not sure the quotation is required or not,)
We are better to be aware of the Windows 7 installation style.
The standard style of the Windows 7 installer makes a small(100-200MB) boot partition and the system in the next partition.
The first partition is ntfs but hidden from the Windows system, so the second is 'C:".
Therefore, the boot partition and 'C:' can be the same and can be different depending on the installation style.
If we can put the grldr.mbr on the boot partition, it must be more simple.
But our installer works on the Windows system, which cannot access the boot partition in this case.
Does it make it clear?
_________________ Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html
|
Back to top
|
|
 |
|