Jump to content











Photo
- - - - -

Boot Screen


  • Please log in to reply
97 replies to this topic

#1 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 06 June 2009 - 10:35 PM

After reading How to place your own Boot screen in XP setup CD
I represent a script in which there are 3 methods How to place your own Boot screen.
The script has been developed with the assistance of many developers of Winbuilder community.

Posted Image


The short description of methods:
  • Use modifying Source Kernel Files - Changes Boot screen directly in kernel files
  • Use BootSkinXP Kernel Driver - Use BootBusExtenders driver which is applied in the BootSkin program
  • Use Sherpya Boot Screen Changer - Use bootvid.dll from Sherpya Bart's PE Plugin.
In this version CustomDir should contain 3 files:
  • BootScreenFile
  • ProgressBarFile
  • settings.ini
Format and options settings.ini:
[Settings]
BootScreenFile= Path to Bitmap file (640x480 16-color) with Boot Screen
ProgressBarFile= Path to Bitmap file (22x9 16-color) with ProgressBar Screen
ProgressBar= "on" or "off" set enable or disable ProgressBar (default = on)
ProgressBarX= ProgressBar Screen X position (default = 259; range 8...(639-ProgressBarWidth) )
ProgressBarY= ProgressBar Screen Y position (default = 354; range 0...479)
ProgressBarWidth= ProgressBar line Width (default = 120; range 0...623)

ProgressBarX=,
ProgressBarWidth= - These options are used only in Use BootSkinXP Kernel Driver method.
ProgressBarY= - This option are used only in : Use modifying Source Kernel Files and Use BootSkinXP Kernel Driver methods.

Since version 15 BSPreviewer.exe utility is included in a script for viewing Boot Screen and edit settings.ini parameters

Posted Image


Restrictions of methods:
  • Use modifying Source Kernel Files - ProgressBar Position can be changed only on axis Y.
  • Use BootSkinXP Kernel Driver - There are no restrictions but there are bugs, look in this topic.
    Works only with WindowsXP (32bit) source
  • Use Sherpya Boot Screen Changer - It is displayed only BootScreen without ProgressBar.
    Works only with WindowsXP (32bit) source
Last stable version:YY-BootScreen.script is available in Posted Image project
;) Only for LiveXP Maintainers and Advanced users. Development versions:
Put the script to ".\Projects\LiveXP\Finish\1 Optimizations\" folder

Lancelot Adding:
Here is a wonderful bootscreen pack with 58 bootscreens ;),
YY-BootScreen_Pack_Lancelot.script
YY-BootScreen_Pack_Lancelot_Bin.script
How to use:
1) put YY-BootScreen_Pack_Lancelot.script & YY-BootScreen_Pack_Lancelot_Bin.script to \Projects\LiveXP\Finish\1 Optimizations\ folder
2) click "Install" on the script gui. (Install button here)
3) now you can select the Bootscreen you want from olegpov's script :) (Check here)
On olegpov's BootScreen script interface, use "Select BootScreen" scrollbox (if nothing new, click "Refresh list" button)
Also there is awesome "Preview" button on olegpov's script which not only previews but also make adjustments :). (Check here)
Thumbnails:
Here are thumbnails of 5 of the bootscreens in the package, say yummy to the 16 color (4bit) pictures :angry:
Posted Image Posted Image Posted Image Posted Image Posted Image

#2 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 06 June 2009 - 10:51 PM

There is interest olegpov there is ;)

I already made a "simple" adding to boot-logo of LiveXP as an option of CreateISO.

To the ones who wants to test olegpov's script uncheck "Add BootLogo" on CreateISO v50

now testing ..... ;)

#3 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 06 June 2009 - 11:11 PM

To the ones who wants to test olegpov's script uncheck "Add BootLogo" on CreateISO v50

There is no necessity. If use my script will not see BootScreen from kernel files

#4 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 06 June 2009 - 11:29 PM

If use my script will not see BootScreen from kernel files

Not too early Гражданин ;)


I use your script and see "boot-screen" than later the "kernel drivered screen without progress bar"
Maybe this is related to the results of /Bootlogo switch written by jacklazz post 15

Better to explain with 2 mini movies to show what i see,
BootSkinXP_Kernel_Disabled_CreateISO_AddBootLogo.rar
BootSkinXP_Kernel_Enabled_CreateISO_AddBootLogo.rar

note about file names: Disabled i mean AddBootlogo switch disabled on createiso script (vice versa)

ps: english translation is citizen but i feel translating from turkish to russian is better ;).

#5 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 07 June 2009 - 01:16 AM

"kernel drivered screen without progress bar"

- And should be in that version

Maybe this is related to the results of /Bootlogo switch written by jacklazz post 15

- Does not depend on it

see "boot-screen" than later

-It is strange. Try on VirtualBox and inform

#6 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 07 June 2009 - 02:35 AM

Rebuild from begining (wb076, source xpsp2enu) ; Tested on virtualbox, vmware, qemu ; same result. ;)
Also build-sdi tested with virtualbox, still same result. ;)
Checked txtsetup.sif with the values of script, no problem :)

better to wait others reports too. :)

Besides, I feel you are right, the modification should be done with a script on 1 Optimization :angry:
Also i feel better with kernel patching since no download etc. required.
When you decide to make kernel patching option, Please involve required checkboxes for basic patching (like done with create iso), color table patching..... etc

:cheers:

#7 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 20 June 2009 - 08:03 PM

Script Updated to version 2.
Changes:
  • Modifying Source Kernel Files method is realised.
  • Temporarily disable BootSkin method.

@Lancelot
How include in CreateISO scripts:

Example for WimBoot script only with MultiCpu support:
replace
[MultiCpu]

FileDelete,%target_sys%\ntoskrnl.ex?

FileDelete,%target_sys%\hal*.dl?

FileCopy,%source_sys%\ntkrnlmp.ex_,%target_sys%

FileCopy,%source_sys%\ntoskrnl.ex_,%target_sys%
with this
[MultiCpu]

FileDelete,%target_sys%\ntoskrnl.ex?

FileDelete,%target_sys%\hal*.dl?

If,EXISTVAR,%KernelsSource%,FileCopy,%KernelsSource%\ntkrnlmp.ex_,%target_sys%

If,EXISTVAR,%KernelsSource%,FileCopy,%KernelsSource%\ntoskrnl.ex_,%target_sys%

If,NOT,EXISTVAR,%KernelsSource%,FileCopy,%source_sys%\ntkrnlmp.ex_,%target_sys%

If,NOT,EXISTVAR,%KernelsSource%,FileCopy,%source_sys%\ntoskrnl.ex_,%target_sys%


#8 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 20 June 2009 - 09:08 PM

Not too early Гражданин ;)
I use your script and see "boot-screen" than later the "kernel drivered screen without progress bar"

@Lancelot
If you still had script version 1 try BootSkinXP Driver method without change of original files of a kernel (without applying change Boot Sccreen in CreateISO script)

#9 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 20 June 2009 - 10:15 PM

Hi olegpov

*
I made change on wimboot for now to help you and other trials, (also infromed nikzzz for changes)
BUT
adding %KernelsSource% to script.project is sth serious and probably not necessary, i have to ask Boss (Galapo) first.
As far as i know there are other options already available, since i havent use any of them better Galapo instructs here, i pm him now ;).
ps: I do not test wimboot since there is a hostosx64 compatilibity problem in my tests....

*
I fully support kernel patching, for a while lets forget "BootSkinXP Driver method"

*
To keep less complex for a start and increase the awarness of the existance, for now lets kernel patch only create iso builds. Iso is simpler&faster the operations should not be effecting anything (yet, no problem ;) ) (also i can test more easly too :) )

CU soon

Edit: small things

#10 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 21 June 2009 - 04:32 AM

Hi olegpov

*
I made change on wimboot for now to help you and other trials, (also infromed nikzzz for changes)
BUT
adding %KernelsSource% to script.project is sth serious and probably not necessary, i have to ask Boss (Galapo) first.


@Lancelot
Probably I have not understood you. But it was only the example (the way how).
It is possible to add in any script on creation ISO.

#11 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 22 June 2009 - 02:27 AM

Which are the files that require patching?

Thanks,
Galapo.

#12 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 22 June 2009 - 07:26 AM

Which are the files that require patching?

Thanks,
Galapo.


LiveXP use only two kernel files - ntoskrnl.exe and ntkrnlmp.exe. These files require patching.

#13 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 22 June 2009 - 10:05 AM

adding %KernelsSource% to script.project is sth serious and probably not necessary, i have to ask Boss (Galapo) first.

I'd say not necessary. Make use of adding line to patch files to %PreISOScript%.

Then for compatibility, move these lines in WimBoot

If,%pCheckBox3%,Equal,True,Run,%ScriptFile%,MultiCpu
ShellExecute,Open,"%Tools%\UnCab.cmd","#$q%target_win%#$q"
If,%pCheckBox3%,Equal,False,Begin
If,ExistFile,"%target_sys%\ntkrnlmp.exe",FileDelete,"%target_sys%\ntkrnlmp.exe"
FileCopy,"%target_sys%\ntoskrnl.exe","%target_sys%\ntkrnlmp.exe"
End

before

If,ExistFile,"%PreISOScript%",Begin


Regards,
Galapo.

#14 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 22 June 2009 - 12:18 PM

@Galapo
The problem is clear. But then a question how to make BootScreen script section last in %PreISOScript%?
In LiveXP there are scripts which use ntoskrnl.exe and ntkrnlmp.exe files and use %PreISOScript% for example Multi Processor Script.

#15 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 22 June 2009 - 02:56 PM

But then a question how to make BootScreen script section last in %PreISOScript%?

Maybe an 'APPEND' parameter to the IniWriteTextLine command can help? ;)

Peter

#16 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 22 June 2009 - 03:41 PM

Maybe an 'APPEND' parameter to the IniWriteTextLine command can help? ;)

@psc
Thanks for help. But I think will not help.
There is a variant the problem decision. If it will turn out today I will present the next version of a script

#17 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 22 June 2009 - 10:18 PM

Script Updated to version 3.
Use "%PreISOScript%" for make changes in "%target_sys%" dir
Script File name replacing from BootScreen.script to Z-BootScreen.script.
It will allow to add start patching in the end of "%PreISOScript%".

#18 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 22 June 2009 - 10:42 PM

@Galapo
The problem is clear. But then a question how to make BootScreen script section last in %PreISOScript%?
In LiveXP there are scripts which use ntoskrnl.exe and ntkrnlmp.exe files and use %PreISOScript% for example Multi Processor Script.


Yes, I was thinking of that exact same issue. I tried this as a test to try to have the patching as always the last line. But the entry added last during the run of %PreISOScript% is not executed.
[Process]

If,NOTEXISTFILE,%PreISOScript%,Run,%ScriptFile%,Create-pre-iso

TXTAddLine,%PreISOScript%,"Exec#$c%ScriptFile%#$cprocess-pre-patching",APPEND



[process-pre-patching]

Message,"got here 1"

If,EXISTFILE,%PreISOScript%,TXTAddLine,%PreISOScript%,"Exec#$c%ScriptFile%#$cprocess-patching",APPEND

If,ExistFile,%ProjectTemplates%\%PreISOName%,TXTAddLine,%ProjectTemplates%\%PreISOName%,"Exec#$c%ScriptFile%#$cprocess-patching",APPEND



[process-patching]

Message,"got here 2"

So not sure what to suggest to get around this.

Regards,
Galapo.

#19 olegpov

olegpov

    Frequent Member

  • .script developer
  • 309 posts
  • Location:Orel
  • Interests:BSD systems

Posted 22 June 2009 - 10:50 PM

@Galapo
Only Script File name replacing from BootScreen.script to Z-BootScreen.script.
Or place script in CreateImage category . But I consider it will be not correct
As well as you I tried to add in runtime line in the end %PreISOScript % they are not started
It is last post for today it is time goes to bed.

@ForAll
If who has still ideas offer.

#20 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 22 June 2009 - 11:07 PM

Only Script File name replacing from BootScreen.script to Z-BootScreen.script.

I guess that's the only way at this stage to guarantee that the entry added will be the last.

I tried to add in runtime line in the end %PreISOScript % they are not started

Yes, that's exactly what I found in the test above as well. I assume WB runs the script from RAM rather than directly from its instance on the harddrive and so changes made to the script during its run are not detected during that run.

Regards,
Galapo.

#21 pedrole15

pedrole15

    Silver Member

  • .script developer
  • 731 posts
  •  
    France

Posted 23 June 2009 - 12:37 AM

OnScriptExit perhaps

#22 Galapo

Galapo

    Platinum Member

  • .script developer
  • 3841 posts
  •  
    Australia

Posted 23 June 2009 - 03:26 AM

OnScriptExit perhaps


Unfortunately, this idea doesn't work either:
[Process]

If,NOTEXISTFILE,%PreISOScript%,Run,%ScriptFile%,Create-pre-iso

TXTAddLine,%PreISOScript%,"Exec#$c%ScriptFile%#$cprocess-pre-patching",APPEND

If,EXISTFILE,%PreISOScript%,TXTAddLine,%PreISOScript%,"System#$cONSCRIPTEXIT#$cExec#$c%ScriptFile%#$cprocess-patching",APPEND

If,ExistFile,%ProjectTemplates%\%PreISOName%,TXTAddLine,%ProjectTemplates%\%PreISOName%,"System#$cONSCRIPTEXIT#$cExec#$c%ScriptFile%#$cprocess-patching",APPEND



[process-patching]

Message,"got here"

The [process-patching] section is only processed when the CreateISO script finishes and not %PreISOScript%.

Regards,
Galapo.

#23 pedrole15

pedrole15

    Silver Member

  • .script developer
  • 731 posts
  •  
    France

Posted 23 June 2009 - 06:55 AM

"System#$cONSCRIPTEXIT#$cExec#$c%ScriptFile%#$cprocess-patching",APPEND
Should be :
"System#$cONSCRIPTEXIT#$cExec#$c#$pScriptFile#$p#$cprocess-patching",APPEND

#24 pedrole15

pedrole15

    Silver Member

  • .script developer
  • 731 posts
  •  
    France

Posted 23 June 2009 - 07:22 AM

Add a section in %PreISOScript%
If,EXISTFILE,%PreISOScript%,Begin

TXTAddLine,%PreISOScript%,"System#$cONSCRIPTEXIT#$cRun#$c#$pScriptFile#$p#$cprocess-patching",APPEND

IniAddSection,%PreISOScript%,process-patching

TXTAddLine,%PreISOScript%,"Exec#$c%ScriptFile%#$cprocess-pre-patching",APPEND

End


#25 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 23 June 2009 - 08:10 AM

I think this is the easiest way:
[variables]

 %ini1%=%ProjectTemp%\preiso.txt

 %section%=Section

 

 [process]

 If,EXISTFILE,%ini1%,FileDelete,%ini1%

 FileCreateBlank,%ini1%

 IniAddSection,%ini1%,%section%

 IniWriteTextLine,%ini1%,%section%,Standard_1

 IniWriteTextLine,%ini1%,%section%,Standard_2

 IniWriteTextLine,%ini1%,%section%,Append_1,APPEND

 IniWriteTextLine,%ini1%,%section%,Append_2,APPEND

 IniWriteTextLine,%ini1%,%section%,Standard_3

 IniWriteTextLine,%ini1%,%section%,Append_3,APPEND

[Section]
Standard_3
Standard_2
Standard_1
Append_1
Append_2
Append_3


(Available in 077 RC 2)

Peter




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users