China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-22 06:56
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » [Download] Memory emulated disk for grub4dos, please test View 28,976 Replies 254
Floor 151 Posted 2005-03-31 00:00 ·  中国 北京 鹏博士BGP
中级用户
★★
CPU
Credits 362
Posts 96
Joined 2004-07-08 00:00
21-year member
UID 28010
Gender Male
From 北京
Status Offline
Support from Budian: I'm currently busy with work and just passed my probation period. ^_^ I will apply the Chinese display patch for 0.96 at an appropriate time and further improve the Chinese display method, such as compressing the font library to save storage space; Also, actually, I think we can also consider making a special patch for gfxboot. - The future maintenance of these will rely more on Budian's efforts. What I'm thinking about now is trying to make an operating system in protected mode. Either it starts as a virtual machine or can support running programs. The multi-boot function is just a user program to run, ^_^. This is a bit ambitious. It's just a plan, also a kind of attempt. It's okay to think about it?! ^_^ Grub is very good and robust; however, our operating system also needs "enthusiasts". I'm going to take a look now. If the situation is good, I think everyone can do it together; although it's based on someone else's CPU, but we can also learn something and pave the way for future generations!
Floor 152 Posted 2005-04-01 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
The startup code of grldr. In this part, the maximum allowed is 16 sectors, which is sufficient, so we don't need to consider adopting compression technology. Besides, compression technology is generally suitable for large files. For small files of several K, the effect is not very good. As you said, the decompression code also takes up a certain amount of space.

If stage2 is to be compressed, it is estimated that it can be compressed to a ratio of 4:1 or even higher. The main method is not to rely on "compression" technology, but to convert C language into assembly. But doing this seems to be of little significance (in my personal opinion), because the functions of GRUB are increasing, which will still make GRUB gradually larger.

Previously, a friend once used the word "chicken rib" to describe that the advantage of a certain function is too small. There are many such "chicken ribs" in GRUB. For example, I myself think that savedefault is a "chicken rib", and there are many other "chicken ribs". If these chicken ribs are removed, GRUB can also be greatly reduced in size.

I currently don't have high hopes for putting GRUB in ROM. It is neither easy nor necessary. ROM has its own functions, mainly to provide a unified standard BIOS interrupt interface. In the past, IBM put the BASIC language in ROM, but later they no longer did so. Novel practices do not always have vitality; while standard practices often have strong vitality. Of course, this does not mean "denying new technologies, denying reforms, and denying progress". Instead, I think that when doing anything, one should make a trade-off and compare the pros and cons. We mentioned "chicken ribs" earlier. Even if it is possible to put GRUB into ROM, I still think it is a "chicken rib". Of course, I may be out of date, and what I said is just my own opinion. Everyone can develop in terms of technology as they want. I myself am not bound by any dogma, so my words may not be very correct and should not be taken too seriously.
因为我们亲手创建,这个世界更加美丽。
Floor 153 Posted 2005-04-01 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
Congratulations on passing your probation period. The world needs capable people, and I believe your boss also needs such people. In your spare time, you can do something for GRUB because GRUB needs you. However, your work comes first, and this is understandable to everyone. The matters related to GRUB can definitely be put aside, and it's all right.

You can make as many patches as you want, take your time, and just provide me with the relatively mature versions. It seems that a directory should be opened in the release of GRUB for DOS to specifically store the Chinese and other patches you made and their compilation results, which won't affect the original purely English releases.

I quite approve of your idea of making an operating system. GRUB itself is even a relatively immature operating system. If it is further perfected, it can become a complete and perfect operating system. But as I mentioned earlier, GRUB itself is not perfect. To transform it into an operating system, there needs to be a process of "discarding the false and retaining the true", absorbing its essence, removing its dross, and then achieving refinement, rationality, and robustness. It's also okay to design an operating system on your own. Initially, you can take a small step, and then expand gradually later. Don't be eager for quick success. The key is that the operating system you design should be different from the existing ones. For example, it should be stronger than all existing operating systems in some aspect, which is the way to have a future. As long as you can think of it, it's possible to achieve it. The world lacks people with courage. Without courage, everything is ruined. I strongly support you.
因为我们亲手创建,这个世界更加美丽。
Floor 154 Posted 2005-04-01 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
Brother windrv mentioned that the issue of using GRLDR as a bootable image in CDROM no - emulation - mode can be fully realized. It is currently in the testing stage:

New grldr can be used with no - emulation - mode bootable CDROM:

At a Linux shell prompt, type these commands:

mkdir iso_root
cp grldr iso_root
mkisofs -R -b grldr -no - emul - boot - boot - load - seg 0x1000 - o grub_bootable_cdrom.iso iso_root

and the created file grub_bootable_cdrom.iso is then a bootable CDROM image.

Download the latest grldr: ftp://ftp.linuxeden.com/tinybit/grldr

A serious defect in the configfile command has been found, which causes a system crash. After this problem is solved, the new GRLDR can be used to replace stage2_eltorito.
因为我们亲手创建,这个世界更加美丽。
Floor 155 Posted 2005-04-04 00:00 ·  中国 北京 鹏博士BGP
中级用户
★★
CPU
Credits 362
Posts 96
Joined 2004-07-08 00:00
21-year member
UID 28010
Gender Male
From 北京
Status Offline
I looked at grldrstart.S and dosstart.S. I wonder if the two can be merged? Because when loading from NTLDR, it doesn't start running from the 0 position of grldrstart.S. ^_^, no hurry, what's your opinion?
Floor 156 Posted 2005-04-04 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
grldrstart.S and dosstart.S should probably no longer be merged. The main difficulty is that the DOS EXE format must start with MZ, not with JMP.

Version 0.4.0pre5 has been uploaded, but the configfile command doesn't work, so everyone shouldn't download it. Of course, if someone is willing to help solve the problem, they can download it and help modify the source code.
因为我们亲手创建,这个世界更加美丽。
Floor 157 Posted 2005-04-04 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
Just now, I missed one point. Although when NTLDR loads grldr, it starts executing from 0x256, but when installing GRLDR to the MBR, we still start from offset 0. The first sector of GRLDR is already highly integrated. All the bytes that can be saved are saved as much as possible, and there is almost no room for any further changes. Therefore, it is impossible to merge GRLDR with another thing (such as grub.exe, grub4lin). In addition, there is a possibility of merging grub.exe and grub4lin, but the significance of the merger is not great.
因为我们亲手创建,这个世界更加美丽。
Floor 158 Posted 2005-04-05 00:00 ·  中国 北京 鹏博士BGP
中级用户
★★
CPU
Credits 362
Posts 96
Joined 2004-07-08 00:00
21-year member
UID 28010
Gender Male
From 北京
Status Offline
Yesterday afternoon, I also thought about it. Technically, there is no problem in merging grldr and grldr.exe. In this case, it can only be loaded with ntldr. And the code of both must be modified. The structure looks like this:
0x0000 MZ_Header <Point_to_MZ_EXE_STUB>0x0256 JMP <Point_to_LDR_STUB>0x0400 <LDR_STUB>0x0C00 <MZ_EXE_STUB>0x1000 GRUB_STAGE2_STUB
----------------------I think, too, it doesn't make much sense, let it be.
Floor 159 Posted 2005-04-05 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
The structure of GRLDR is very peculiar. It is a "all-in-one" structure. The first sector is the most crowded, and it can no longer accommodate 32 bytes of the DOS MZ format.

GRLDR conforms to the structure of NTLDR, so its first instruction must be a JMP instruction; and starting from the third byte, there must be patch code for FAT_12_16 (this is necessarily required by the NTLDR structure). The structure of GRLDR conflicts with the DOS EXE format, so it is impossible to merge it with grub.exe.

The first sector of GRLDR can be used to write to the MBR. Even without subsequent auxiliary sectors, this sector can have a certain search function to find GRLDR in the primary partition. However, for FAT12/16/32 partitions without NT bootsector, this search will fail, so subsequent auxiliary sectors are needed.

GRLDR can also be used as a no-emul-boot boot image. The 3rd and 4th sectors of GRLDR can be used to write to the floppy boot sector. All these are not very important. The key is that the first sector is too crowded and can no longer accommodate other structures. It is not a question of "whether it is meaningful" after squeezing in, but simply that there is no space left, so it cannot be squeezed in.
因为我们亲手创建,这个世界更加美丽。
Floor 160 Posted 2005-04-07 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
Version 0.4.0pre6 has been uploaded to the FTP space at the usual location, and a major bug in the configfile command has been fixed.

Version 0.4.0pre7 will also be uploaded, with a little improvement. It first looks for config_file, which is /menu.lst, and only executes preset_menu if it fails. This is more reasonable.
因为我们亲手创建,这个世界更加美丽。
Floor 161 Posted 2005-04-07 00:00 ·  中国 北京 鹏博士BGP
中级用户
★★
CPU
Credits 362
Posts 96
Joined 2004-07-08 00:00
21-year member
UID 28010
Gender Male
From 北京
Status Offline
Brother Budian, I thought about it, and there's another way to make grub.exe have an icon under Windows!! ;)


TOD
============

Merge ieldr and ieldr.exe to generate aviator.exe.

The way to use this aviator.exe is:

1. Load with ntldr
c:\aviator.exe="Boot AviatoR demo"

2. Use under pure DOS
a:\>aviator.exe

3. Use under Windows
Double-click it.
Floor 162 Posted 2005-04-07 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
I don't quite know the structure of IELDR and IELDR.EXE. However, it seems you once said that IELDR is in the structure format of GRLDR, and IELDR.EXE is in the structure format of grub.exe. If that's the case, it's impossible to merge the two, just as mentioned earlier.

If you must merge them, I'm afraid that after merging, functions will be lost. For example, if you remove the FAT_12_16 patch code in the first sector of grldrstart.S, then IELDR won't be able to adapt to the FAT12/16 file system.

In Windows 98, you can indeed double-click grub.exe to run grub, as long as the grub.pif file released with grub_for_dos is placed in the same directory as grub.exe. If you correspondingly make an ieldr.pif file, then you can of course double-click to start ieldr.exe.

-------------------------------------------------------------------------------------------------------

0.4.0pre7 has been uploaded, supporting the priority search for "the menu.lst file in the same root directory as grldr". What does it mean? That is to say,

When the GRLDR in (hd0,0) gains execution rights, it will search for the (hd0,0)/menu.lst file and execute it immediately.
When the GRLDR in (hd0,1) gains execution rights, it will search for the (hd0,1)/menu.lst file and execute it immediately.
……………………………………………………………………………………………………
When the GRLDR in (hd0,n) gains execution rights, it will search for the (hd0,n)/menu.lst file and execute it immediately.

Similarly, when the GRLDR in (hdM,n) gains execution rights, it will search for the (hdM,n)/menu.lst file and execute it immediately.

When the GRLDR in (fd0) gains execution rights, it will search for the (fd0)/menu.lst file and execute it immediately.
When the GRLDR in (cd) gains execution rights, it will search for the (cd)/menu.lst file and execute it immediately.

Only when the above file is not found will it then execute the content of preset_menu.

In short, the menu.lst in the same directory as GRLDR will be executed unconditionally. Only when this menu.lst file does not exist will it go to execute preset_menu and continue to search for the /menu.lst file in other partitions.

This is a function only available in pre7.
因为我们亲手创建,这个世界更加美丽。
Floor 163 Posted 2005-04-08 00:00 ·  中国 北京 鹏博士BGP
中级用户
★★
CPU
Credits 362
Posts 96
Joined 2004-07-08 00:00
21-year member
UID 28010
Gender Male
From 北京
Status Offline
Support a bit. ------- My meaning may not be what you understand. ;) My meaning is the reverse or further of your meaning. Simply put, it is not only to merge grldr and grub.exe, but also to bring in PE code in the same executable program, which is the Windows GUI. Visually speaking, it is to add a Windows environment icon to grub.exe. Don't you recommend something?!
Floor 164 Posted 2005-04-08 00:00 ·  中国 北京 鹏博士BGP
中级用户
★★
CPU
Credits 362
Posts 96
Joined 2004-07-08 00:00
21-year member
UID 28010
Gender Male
From 北京
Status Offline
p.s. Don't click, do you have an MSN or QQ number? I want to discuss grub-related issues with you. If it's convenient: MSN: jsf_f22@msn.com
Floor 165 Posted 2005-04-08 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
Credits 2,491
Posts 1,115
Joined 2003-09-24 00:00
22-year member
UID 10292
Gender Male
Status Offline
I'm really sorry. Besides email and the forum, I don't use anything else. You can contact me via the forum's private message method. The email method is not good, I only check my email once a month. I come to this forum relatively frequently, almost every day.

PE format belongs to Windows programs. In Windows, all running programs are in protected mode, while grub.exe needs to work in real mode. It's not easy to switch from Windows' protected mode to real mode. If this is achieved, it will be a big breakthrough. I used to call GRLDR "grub for ntldr" instead of "grub for windows" because grldr can only run under NTLDR, it can't run in Windows. If you can achieve the switch from protected mode to real mode, then the GRUB you make can be called GRUB for WINDOWS. The grub4lin I made is GRUB running in real mode from protected mode under Linux, it can be called grub for linux.

As for the icon, you can choose whatever you like, I have no artistic talent and can't help you. The key is to solve the CPU mode switch, if this is solved, it doesn't matter whether there is an icon or not. I think it's very difficult, I hope you can succeed.
因为我们亲手创建,这个世界更加美丽。
‹ Prev 1 9 10 11 12 13 17 Next ›
Forum Jump: