Jump to content

Allow Lowercase on Multiboot-DVD


whocares02

Recommended Posts

What is the gfxmenu line in your menu.lst? (in "Bugfix Version 4.8")?

gfxmenu /GFX-BOOT.GFX

or

gfxmenu /Boot/GFX-BOOT.GFX

go to the grub4dos command line and issue the ls command, check if the file is seen as ALL CAPITALS, as all small letters or in any different way from the one in menu.lst. (or use find / and [TAB] autocompletion)

Usually a line *like*:

gfxmenu /GFX-BOOT.GFX || gfxmenu /gfx-boot.gfx

is used when in doubt, this will attempt loading GFX-BOOT.GFX and IF this fails, attempt to load gfx-boot.gfx.

BUT there is a generic issue with the dash or minus "-", as it is considered to be the "small letters" correspondent to the "CAPITAL" underscore "_", a good idea to avoid issues would be to rename the file without the dash, to GFXBOOT.GFX, then this will surely work:

gfxmenu /GFXBOOT.GFX || gfxmenu /gfxboot.gfx

no matter if the file is (or is made by mkisofs parameters) in upper or lower case.

jaclaz

Edited by jaclaz
Link to comment
Share on other sites


The used line was:

gfxmenu /GFX-BOOT.GFX

I'll try rename it to GFXBOOT.GFX and use the

gfxmenu /GFXBOOT.GFX || gfxmenu /gfxboot.gfx

-command in my next run.

I'll look up the filenames with ls-command now. Any clue about the combinations for mkisofs-settings? Only two versions were actually booting.

Edit:

In grub the files are all Uppercase. GFX-BOOT.GFX appears as GFX_BOOT.GFX. I tried the ls-command in grub in Bugfix 4.8.

Edited by whocares02
Link to comment
Share on other sites

In grub the files are all Uppercase. GFX-BOOT.GFX appears as GFX_BOOT.GFX. I tried the ls-command in grub in Bugfix 4.8.

Yep, that is a clear example of the dash/underscore issue.

A file named gfx-boot.gfx would be normally "uppercased" to GFX-BOOT.GFX, and a file GFX-BOOT.GFX is ALREADY uppercased (as the dash is not in itself an alphabetic character subject to lower/upper case) but for *some* reasons in the process also the dash is uppercased to underscore and the result is the GFX_BOOT.GFX (that the gfxmenu command cannot possibly find).

To be fair, more than two versions (actually seemingly all of them) were actually booting (to grub4dos), the issues showed after booting (txtsetup not running and/or grub4dos failing to load the gfxmenu).

jaclaz

Link to comment
Share on other sites

Okay, but I'll try to understand why.

The two installable versions 4.4 and 4.8 use the same combination in the list: Iso-3 + Joliet and no other fancy stuff. So why do I get a graphical grub in 4.4?

version 4.4 switched codepage with the switches

-input-charset cp850 -output-charset cp850

For version 4.8 I used

set LC_ALL=en_US.CP850

to change codepage. Using the switches here in addition, caused mkisofs to complain. (unknown switch: -input-charset (I just upgraded mkisofs) or output-codepage must be same as input-codepage).

Also interesting is Version 4.3, which is using Iso-4 + Joliet and nothing else but is not installing. I didn't change codepage there.

Some strange thing: In all cases grub didn't go graphical, it also didn't accept the color-command. Not sure if this is an important clue. I used:

color grey/light-blue white/light-blue

in first line of menu.lst. I wanted it looking like the XP-textsetup.

Edit:

Just running the old 4.2-version again. For some reason no graphics-grub anymore... I tried the ls-command. GFX-BOOT.GFX doesn't seem to be on disk at all. Don't know how and why...maybe I noted something wrong. Propably I added GFX-BOOT.GFX in a later version and didn't miss it in 4.2.

Edit2:

I made a bugfix-version 4.9 in addition. It's the same as 4.3 but I ran

set LC_ALL=en_US.CP850

before the mkisofs-call. As well as in version 4.3, textsetup fails with v4.9. But for some reason graphical-grub is coming up now!

It's Iso-4 + Joliet without fancy stuff.

For comparison: The installable version 4.8 was Iso-3 + Joliet without additional stuff. LC_ALL was set-up too, but I didn't get graphical grub. So Iso-4 made the difference here.

Edited by whocares02
Link to comment
Share on other sites

Which exact version of grub4dos are you using?

At the command prompt issue:

help color
and check the symbolic names listed:

http://diddy.boot-land.net/grub4dos/files/menu.htm#display

Colours must be one of the following - black, blue, green, cyan, red, magenta, brown, light-gray, dark-gray, light-blue, light-green, light-cyan, light-red, light-magenta, yellow and white.

"gray" is not a colour :w00t: light-gray and dark-gray are.

http://www.rmprepusb.com/tutorials/grub4dos#TOC-Grub4dos-color-values

There may be a typo in the actual output of "help color":

http://diddy.boot-land.net/grub4dos/files/commands.htm#color

where "light-gray" is spelled (or spelt) as "light-grey".

OT :ph34r:, shades of gray (or grey):

http://reboot.pro/topic/15878-world-is-not-black-and-white/

jaclaz

Link to comment
Share on other sites

Thanks, it's grub 0.4.5c in my installable bugfix-version 4.8 (remember, I changed the version during my testings, when someone provided a link in this threat).

help color

indeed shows that grey is not a valid color. Same to dark-blue. Guess XP-setup is using

light-gray/blue white/blue

I will change that in my menu.lst

Edit:

If someone else is interested: XP-Setup is using the colors:

color light-gray/blue blue/light-gray
Edited by whocares02
Link to comment
Share on other sites

Good :), but there are n versions of 0.4.5c, by EXACT version I was meaning EXACT, like 0.4.5c-2014-01-17 (right now latest 0.4.5c) or 0.4.5c-2013-03-03 (right now "featured" 0.4.5c).

One or the other version won't change the behaviour with "classic" commands (like color) but may behave differently regarding behaviour when loading (like finding /menu.lst vs. /MENU.LST and similar, cannot remember when that changed).

jaclaz

Link to comment
Share on other sites

Are you sure ISO 1999 is a good choice? Somewhere within all the posted links someone stated, ISO1999 was worst-case with compatibility.

http://en.wikipedia.org/wiki/ISO_9660

http://de.wikipedia.org/wiki/ISO_9660

ISO9660:1988 is a standard. http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=17505

ISO9660:1999 is a draft and won't get a standard anymore. No Windows support this on purpose.

A lot of limitations are removed. Be careful: you may shoot your own foot.

Umlaute are impossible at ISO9660:1988, and possible at ISO9660:1999.

Yes, worst-case compatibility, but required if you need ISO9660 Umlaute.

I don't need to change upper- or lowercase because they are all perfect already (e.g. files in Root-folder are all uppercase. Some specific files in some subfolder are lowercase, ...).

What about?

rem UpperCase XP files at hard diskrem Win32 Console ToolBox http://stevemiller.net/apps/ren F:\n-Lite-Temp\i386 I386filecase.exe /u F:\n-Lite-Temp\win*filecase.exe /u /s /d F:\n-Lite-Temp\i386

I created a GFX-BOOT.GFX

Grldr may search GFX-BOOT.GFX or gfx-boot.gfx. I don't know.

Just because menu.lst is found both cases, dosn't require this for GFX-BOOT.GFX.

RunOnceEx.cmd can't use Umlaute. I discovered it was a problem with the codepage of the cmd-file, not the file-system.

chcp cp850

Bugfix-version 4.5: Iso Level4, NO Joliet, NO RockRidge, -relaxed-filename, -allow-lowercase

Textsetup fails (cdrom.sys not found)

Does exist ISO9600 uppercase filename \I386\CDROM.SY?

Which mkiosfs -version do you use currently?

by what method ("I smelled my way there...").

Yes, ImgBurn creates nice ISO images too.
Link to comment
Share on other sites

Between your test 4.7 and 4.8 you changed TWO things :ph34r: at the same time:

Bugfix-Version 4.7: ISO-Level 3, Joliet, RockRidge, NO relaxed-filenames, allow-lowercase,

Bugfix Version 4.8: ISO Level 3, Joliet, NO RockRidge, NO relaxed-filenames, NO allow-lowercase

Windows setup (SETUPLDR.BIN, etc,) or more generally "windows" knows nothing about Rockridge, but the setup is sensible to uppercase/lowercase, i.e. if you try with RockRidge enabled but with NO allow-lowercase you should have the same result as 4.8, implying that there are one or more files involved in the setup that are *somehow* in lowercase (whilst they should be in uppercase).

If you do (from windows command prompt) a (let's say that your CD/DVD drive - real or virtual - is drive letter E: ):

DIR E:\ /s /b> C:\my47dir.txt

on the 4.7 test and:

DIR E:\ /s /b>C:\my48dir.txt

with the 4.8 one you should be able to find the differences comparing the two files

As a further test you could - to make sure - uppercase everything related to the Windows setup on hard disk before creating the .iso, as cdob just re-suggested and re-enable the allow-lowercase.

jaclaz

Link to comment
Share on other sites

Does exist ISO9600 uppercase filename \I386\CDROM.SY?

I'm sorry, it seems I erased Bugfix-Version 4.5.iso to save diskspace. I can't look it up anymore. However, in my nlite-temp-folder (source for my iso-builds) \I386\cdrom.sys is one of the view exceptions of lowercase-files. Almost everything else is uppercase there.

Umlaute are impossible at ISO9660:1988, and possible at ISO9660:1999.

Yes, worst-case compatibility, but required if you need ISO9660 Umlaute.

The fact I get Umlaute in bugfix4.8 is propably due to the joliet-extension then (it uses ISO-3). Windows-Explorer reads all foldernames properly. In textmode I don't need Umlaute. So no problem here.

Which mkiosfs -version do you use currently?
mkisofs --versionmkisofs 3.00 (i686-pc-cygwin) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2010 J▒rg Schilling

Quote

RunOnceEx.cmd can't use Umlaute. I discovered it was a problem with the codepage of the cmd-file, not the file-system.

chcp cp850

That's not enough. In addition I had to switch Codepage in Notepad++ to cp850 to save the file in proper format.

What about?

rem UpperCase XP files at hard disk

rem Win32 Console ToolBox http://stevemiller.net/apps/

ren F:\n-Lite-Temp\i386 I386

filecase.exe /u F:\n-Lite-Temp\win*

filecase.exe /u /s /d F:\n-Lite-Temp\i386

I don't wanna modify my HDD-files. There are propably good reasons why some files are lowercase and most of them not. Or do you think nlite made mistakes during integration of hotfixes?! Renaming all of them was a non-reversible operation.

Not sure if this is off-topic: At end of my RunOnceEx.cmd I reactivate windows file protection (without setup is faster). It shows up then and wants to replace files. It doesn't accept my nlite-ISO as original CD. Is this usual or could it be related to the filesystem as well?

Edit:

Just reading jaclaz' post: I tried no-lowercase + RockRidge in V4.2. However, it's using ISO-4 instead of ISO-3.

Do you mean I should try:

ISO-3 + NO Joliet + RockRidge + No lowercase

or:

ISO-3 + Joliet + RockRidge + NO lowercase

Can the finally installed Windows-XP read RockRidge-DVDs?

Edited by whocares02
Link to comment
Share on other sites

However, in my nlite-temp-folder (source for my iso-builds) \I386\cdrom.sys is one of the view exceptions of lowercase-files. Almost everything else is uppercase there.

Well, TXTsetup expects an uppercase CDROM.SY_/CDROM.SYS, so if you are not going to uppercase it in the source, you cannot have -allow-lowercase in the mkisofs.exe (which may cause other issues, like the dash/underscore one).

jaclaz

Link to comment
Share on other sites

\I386\cdrom.sys is one of the view exceptions of lowercase-files. Almost everything else is uppercase there.

Setupldr.bin searches \I386\CDROM.SY? at textmode and won't find a lower case file, textmode will fail.

The fact I get Umlaute in bugfix4.8 is propably due to the joliet-extension then (it uses ISO-3). Windows-Explorer reads all foldernames properly.

Yes, cdfs.sys reads Joliet. cdfs is loaded at installed windows.

mkisofs 3.00 (i686-pc-cygwin)

What about cdrtools-3.01a23-win32-bin.zip?

http://www.student.tugraz.at/thomas.plank/index.html

I don't wanna modify my HDD-files. There are propably good reasons why some files are lowercase and most of them not. Or do you think nlite made mistakes during integration of hotfixes?! Renaming all of them was a non-reversible operation.

Neither Nlite nor MS care about case at hotfix integration. Both expect uppercase at following step.

Not sure if this is off-topic: At end of my RunOnceEx.cmd I reactivate windows file protection (without setup is faster). It shows up then and wants to replace files. It doesn't accept my nlite-ISO as original CD. Is this usual or could it be related to the filesystem as well?

I doubt file case as a reason.

Can the finally installed Windows-XP read RockRidge-DVDs?

No, Windows can't read rock ridge. If possible avoid rock ridge at XP installation cd.

Grub4dos maybe case sensitive still.

Does filenames within menu.lst has to match case at DVD?

Why is setup working in 4.8? Does Iso-3 allow lowercase? Can Textsetup read Joliet? Does the -allow-lowercase-switch force all filenames to lowercase?

Iso9660 Level 3 proihibits lowercase, hence mkisofs uppercase the name. Compare the name at ISOBuster.

Textmode can't read joliet, cdfs.sys is not active that erarly.

-allow-lowercase allows lower case: it's preservers case from the hard disk:

uppercase names goes uppercase, lowercase names goes lowercase

Link to comment
Share on other sites

Iso level 3 - if I recall correctly - does not change in itself the "base" requirement of files needing to be uppercase.

The joliet extension should provide support for longer filenames and for "mixed case". :unsure:

Iso level 4 does not really exist, it is a form of iso level 2 or 3 with some restrictions removed.

The -allow-lowercase is a violation of ISO9660:

http://cdrecord.berlios.de/private/man/cdrecord/mkisofs.8.html

-allow-lowercase
This options allows lower case characters to appear inISO-9660 filenames.
This violates the ISO-9660 standard, but it happens to work on some systems. Use with caution.

i.e. if the -allow-lowercase switch is NOT used, then any non-conforming filename (in iso-level up to 3) will be uppercased to conform to ISO9660.

So, your cdrom.sy_ will become CDROM.SY_ (and txtsetup will find it), or if you had cdrom.sys it will become CDROM.SYS (and txtsetup will still find it).

The downside is that the gfx-boot.gfx or GFX-BOOT.GFX may become GFX_BOOT.GFX.

A "Windows XP install CD" (original) has ALL FILES CAPITAL and txtsetup wants to have them like that (at least for the files used in it, it is very possible that after txtsetup the files used in the GUI part of setup can be in *any* case, as they are accessed by the "standard" windows which is case insensitive).

In a "pure" install Cd you simply don't use "-allow-lowercase" and everything is fine.

Grub4dos is historically hardcoded to find a /menu.lst (or /boot/grub/menu.lst or /grub/menu.lst) and until recently you needed to (as explained early) change in the the embedded menu.lst the string "menu.lst" to "MENU.LST" (and grub to GRUB and boot to BOOT, if you used the subdirectories).

Recently (but as said cannot really remember when) it was patched in such a way that the menu is found anyway, but cannot say if it accesses "generically" the file-system as CaSe InSeNsItIvE now, traditionally it needed (and used only) the Rockridge extension, which is case sensitive, recent version may access either the ISO9660 or the Joliet names.

A PE 2.x (or later) has normally a "boot" subdirectory (where the boot.sdi is), though cannot say if making it "BOOT" will change anything, a Linux may need a given file in lowercase (or in uppercase or MiXed MoDe/whatever).

Any of the other things that you added to your DVD (and that you won't talk about :whistle:) may have one requisite or the other, some mkisofs parameter that "fixes" one thing may "create an issue" with something else, this is the dificult part when making "multi" CD/DVD's.

The traditional way for me has been that of using -iso-level 4 and adding a Rockridge extension, and NOT add the "-allow-lowercase" i.e. this set of commands :
http://reboot.pro/topic/9696-oscdimg-and-grub4dos/page-2#entry84348

and that I believe correspond to your 4.2 attempt (but I have ALL FILES UPPERCASE in the source directory on hard disk from which I build, and the above post does contain a reference on why this is done - that is year 2004, ten years ago).

If you insist on having the files on the hard disk in lowercase because n-lite or some other program tweak made them like that, and you don't want to change them, you will have to use a "lower" -iso-level than 4 and NOT use with -iso-level 2 or 3 the "-allow-lowercase", and find workarounds for the issues that this choice may cause.

The example with GFX-BOOT.GFX vs. GFX_BOOT.GFX represents one of such issues that is easily fixable, it is to be seen what other "needs", such as the "Umlauts" may require in the mkisofs parameters.

jaclaz

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...