Pype.Clicker wrote:
1. i don't think that "sata(0) | msdospt(3) | extmsdospt(6) |" is something i'd like to type instead of "sda6", quite frankly
No? But I think.
- Sda6 doesn't give information about the format of the partition table in sda.
- Sda6 doesn't say what filesystem is in the device.
- By saying "sda", you can't say whether it refers to a USB Mass Storage, a SCSI device, a SATA or a PATA device. More or less like the BIOS, who fakes a floppy if you boot from USB..........
Why do you type /mnt/floppy/document.txt if you could type A:\document.txt?
Quote:
2. piping is useful when you are capable of providing very generic tools (gzip being one, true) and that you may want to use them in a large collection of cases.
Well, in some cases, combining block device concepts can be useful in a bootstrapping environment. Why not?
Quote:
Still, there's virtually noone calling "gunzip -C stuff.tar.gz | tar xvf -" nowadays ... People know that 'tar' can work with tar -zxvf stuff.tar.gz and live happily with that. Seeing "kernel.gz" should be sufficient to guess that prior gunzipping is required, and if you really want it that way, you still could do magic signature checking as well.
But in an operating system you are doing this sort of things many times a day. Clearly, it's not the case of boot loaders (or would you reject a boot loader who doesn't include a playable Tetris!).
Quote:
Maybe it's a good thing to have separated software components that you can chain internally, but quite frankly, i think the pipe chains you mentioned (...) can be built by the "boot line interpreter"...
Of course this could be done in the command line interpreter. And additionally you could have some syntactic sugar, if you still want to play Tetris in the boot loader and lose many times (and thus need to re-execute the game many times)
.
But there is no need to do like that, cause people don't type boot command every time they want to boot their computer, or do they?...
Or didn't you know that GRUB had a configuration file? I don't believe!
Quote:
(which all exclude the final interpretation such as ELF, i noticed)
The purpose of this syntax doesn't include choosing the loading method. It only aims to refer to something which can be viewed/read as files. It could be a kernel. It could be the configuration file. It could be a loadable module. It could be an initrd. It could be.........
Quote:
The motto when doing a boot system is "KISS".
Right. But then don't blame me if the boot system happens to be so SimpleStupid that it is unable to load a kernel which resizes in some crazy place, where the kernel you're developing happens to be...
Quote:
most people won't care if you need the whole first cylinder, but opting for NFS rather than TFTP don't make any sense as far as i'm concerned.
I don't know TFTP, so I don't know whether it's better or worse than NFS (anyway, it doesn't matter, as it was only an example).
Still, if you don't like NFS and want to use TFTP instead, you can:
eth(0, 123.211.34.01) | tftp(/system/kernel.img)
Which I don't think can be easily done in GRUB...
Now it's my turn to ask you. Why the hell people need dynamically loadable modules on boot loaders, if their are to follow the "KISS" principle?
Well. GRUB2 supports (or plans to support... I don't know) loadable modules!
JJ