Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Mon 20 Oct 2014, 21:08
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
Puppy Linux Windows Installer - V1.1 released
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 23 [338 Posts]   Goto page: 1, 2, 3, ..., 21, 22, 23 Next
Author Message
noryb009

Joined: 20 Mar 2010
Posts: 539

PostPosted: Sun 31 Oct 2010, 20:53    Post subject:  Puppy Linux Windows Installer - V1.1 released
Subject description: Package your puppy as a .exe Windows installer
 

Install Puppy Linux on Windows
Most people who come here are probably looking for this link, hosting a Windows installer for the most recent official Puppy Linux, as well as a few derivatives.

Windows installers for a few Puppy Linux derivatives:
Italian Puppy: Slacko 570 | Precise 571
Sagelive: 511
Quickset Wary: 511
Japanese Precise: 571 | 550 | 420
Puppy Linux Turbopup Xtreme: 420
Puppy Linux 525 | 520

Project info
Puppy Linux Installer Creator (PLIC) is a set of NSIS scripts that can create an EXE that can install Puppy Linux onto a Windows system without touching the MBR. It follows the Lin'N'Win method.

PLIC installers work on all versions of Windows, from 95 to 8, except ME. On a Windows 8 system, ensure fast boot is disabled, secure boot is disabled and the UEFI set to Legacy (BIOS) mode.

PLIC installers can install one version of Puppy Linux each. Each installer includes a simple uninstaller. You can have any number of PLIC installers installed.

ADVANCED: Creating your own PLIC installer
To make your puppy into an .exe installer, you must use Windows or wine. Install NSIS onto it (select all the plugins when asked). Then, unzip the PLIC scripts and follow the instructions in README.txt.

Big thanks to shinobar and mikeb for windows 7 help, seeker for creating the original windows installer, and Brian Grainger for the Lin'N'Win guide.

View the project on Github

Last edited by noryb009 on Sat 19 Jul 2014, 16:29; edited 36 times in total
Back to top
View user's profile Send private message 
noryb009

Joined: 20 Mar 2010
Posts: 539

PostPosted: Sun 31 Oct 2010, 20:54    Post subject:  

Lin'n'Win 4 CDs is now unsupported.

Reserved for new project...

Last edited by noryb009 on Sat 22 Jan 2011, 14:38; edited 4 times in total
Back to top
View user's profile Send private message 
shinobar


Joined: 28 May 2009
Posts: 2631
Location: Japan

PostPosted: Sun 31 Oct 2010, 23:14    Post subject: LupQ Windows Installer available  

Congratulations, noryb Exclamation

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

_________________
Google Chrome portable
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
View user's profile Send private message Visit poster's website 
ICPUG

Joined: 24 Jul 2005
Posts: 1290
Location: UK

PostPosted: 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
View user's profile Send private message 
shinobar


Joined: 28 May 2009
Posts: 2631
Location: Japan

PostPosted: 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

_________________
Google Chrome portable
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
View user's profile Send private message Visit poster's website 
ICPUG

Joined: 24 Jul 2005
Posts: 1290
Location: UK

PostPosted: 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
View user's profile Send private message 
noryb009

Joined: 20 Mar 2010
Posts: 539

PostPosted: 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
View user's profile Send private message 
Lobster
Official Crustacean


Joined: 04 May 2005
Posts: 15117
Location: Paradox Realm

PostPosted: Fri 05 Nov 2010, 04:05    Post subject:  

Smile
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?

_________________
Puppy WIKI
Back to top
View user's profile Send private message Visit poster's website 
ICPUG

Joined: 24 Jul 2005
Posts: 1290
Location: UK

PostPosted: 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
View user's profile Send private message 
noryb009

Joined: 20 Mar 2010
Posts: 539

PostPosted: 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
View user's profile Send private message 
noryb009

Joined: 20 Mar 2010
Posts: 539

PostPosted: 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
View user's profile Send private message 
Lobster
Official Crustacean


Joined: 04 May 2005
Posts: 15117
Location: Paradox Realm

PostPosted: 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 . . .
_________________
Puppy WIKI
Back to top
View user's profile Send private message Visit poster's website 
noryb009

Joined: 20 Mar 2010
Posts: 539

PostPosted: 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
View user's profile Send private message 
noryb009

Joined: 20 Mar 2010
Posts: 539

PostPosted: 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
View user's profile Send private message 
shinobar


Joined: 28 May 2009
Posts: 2631
Location: Japan

PostPosted: 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?

_________________
Google Chrome portable
Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html
Back to top
View user's profile Send private message Visit poster's website 
Display posts from previous:   Sort by:   
Page 1 of 23 [338 Posts]   Goto page: 1, 2, 3, ..., 21, 22, 23 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1157s ][ Queries: 13 (0.0083s) ][ GZIP on ]