* usability @ 2004-07-31 18:32 Yoshinori K. Okuji 2004-07-31 19:50 ` usability Marco Gerards 0 siblings, 1 reply; 13+ messages in thread From: Yoshinori K. Okuji @ 2004-07-31 18:32 UTC (permalink / raw) To: The development of GRUB 2 Hello, I have stopped my work on GRUB 2 for a while, but I now would like to restart it again. My initial goal is to make it possible to use GRUB 2 for real purpose (e.g. on my computer with which I write this mail). This is the most important for me, since it is really tiring to maintain both GRUB Legacy and GRUB 2. I don't think this will be feature-rich in near future, and I intend to focus on very fundamental things. I will do these as the first step: - Implement the menu interface with Unicode awared. I have a prototype but this is very poor, especially about Unicode handling. I address this issue first. - Support a config file. I can just port the support from GRUB Legacy, but I will consider if it could be improved. At least, I want to include support for including a portion of a config file from another file, and support for specifying a label to a title, so that you can use a label instead of a number to specify an entry. - Implement some loaders on i386-pc for the normal mode (such as linux and multiboot). This should be very easy. - Implement autoload. This should be very easy. - Make it possible to call a hook when a variable is read/written. This would require some consideration about the API design. - Implement some basic variables and commands (such as root and boot). Probably I won't be very fast, because it is very hard for me to work in weekdays. If you are willing to work on any of them, let me know, so that we won't waste time due to duplicated work. Okuji ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: usability 2004-07-31 18:32 usability Yoshinori K. Okuji @ 2004-07-31 19:50 ` Marco Gerards 2004-07-31 22:09 ` usability Yoshinori K. Okuji 2004-07-31 22:34 ` usability Yoshinori K. Okuji 0 siblings, 2 replies; 13+ messages in thread From: Marco Gerards @ 2004-07-31 19:50 UTC (permalink / raw) To: The development of GRUB 2 "Yoshinori K. Okuji" <okuji@enbug.org> writes: > I have stopped my work on GRUB 2 for a while, but I now would like to > restart it again. Nice! Welcome back! > My initial goal is to make it possible to use GRUB 2 for real purpose > (e.g. on my computer with which I write this mail). This is the most > important for me, since it is really tiring to maintain both GRUB > Legacy and GRUB 2. I don't think this will be feature-rich in near > future, and I intend to focus on very fundamental things. I will do > these as the first step: This is very important. The sooner people can use GRUB 2, the sooner we can expect patches, testers, etc. > - Implement the menu interface with Unicode awared. I have a prototype > but this is very poor, especially about Unicode handling. I address > this issue first. Could you please inform us what that means for other parts of GRUB 2? Especially the console and filesystems. If special care should be taken, I can already keep the issues in mind. If selecting a menu item is not a noop anymore it can be used already to boot. I can implement this, if you want me to. > - Support a config file. I can just port the support from GRUB Legacy, > but I will consider if it could be improved. At least, I want to > include support for including a portion of a config file from another > file, and support for specifying a label to a title, so that you can > use a label instead of a number to specify an entry. I think including config files is an important feature. > - Implement some loaders on i386-pc for the normal mode (such as linux > and multiboot). This should be very easy. I can commit Thomas' patch for the chainloader. I could do the other two as well, if you don't want to. > - Implement autoload. This should be very easy. autoload? Is this the thing we discussed to automatically load commands? > - Make it possible to call a hook when a variable is read/written. This > would require some consideration about the API design. We discussed this a long time ago and it is already implemented. Perhaps you have forgotten about this. But just have a look at env.[ch] or ask me when it is not clear. > - Implement some basic variables and commands (such as root and boot). Done already. You told me `root' should not be a command, but a variable. Boot is implemented already. This went into CVS together with the variable stuff. It seems that you can't remember all things we discussed and that I have changed. If there is something not clear, please ask me. It would be a waste of time if you would implement things that are there already, etc. > Probably I won't be very fast, because it is very hard for me to work in > weekdays. If you are willing to work on any of them, let me know, so > that we won't waste time due to duplicated work. Just see what I just said. Other than that I will focus on making the PPC port functional and adding filesystems. As you might have noticed I am not that active all the time. I have several projects I work on and to prevent myself from being bored I switch projects weekly. What would be useful is extending the TODO if you feel important things are missing. GRUB 2 is quite an active project (people already know it and are willing to work on it) and chances are high people want to work on things you put in the TODO. Especially when it is networking related, from what I have noticed people want to work on it but don't really know what to do. Thanks, Marco ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: usability 2004-07-31 19:50 ` usability Marco Gerards @ 2004-07-31 22:09 ` Yoshinori K. Okuji 2004-07-31 22:59 ` usability Marco Gerards 2004-07-31 22:34 ` usability Yoshinori K. Okuji 1 sibling, 1 reply; 13+ messages in thread From: Yoshinori K. Okuji @ 2004-07-31 22:09 UTC (permalink / raw) To: The development of GRUB 2 On Saturday 31 July 2004 21:50, Marco Gerards wrote: > > - Implement the menu interface with Unicode awared. I have a > > prototype but this is very poor, especially about Unicode handling. > > I address this issue first. > > Could you please inform us what that means for other parts of GRUB 2? > Especially the console and filesystems. If special care should be > taken, I can already keep the issues in mind. As for the console, you need to take it into account that characters are passed as Unicode (UCS-4). I think this has been implemented for i386-pc at some degree, although I might be wrong. I haven't looked at this kind of stuff for a very long time. The i386-pc port has two modes for the console: text and graphics. The text mode just prints a character if it is in ASCII, and tries to map the character code to the IBM PC character map when possible, if not. The graphics mode handles Unicode characters better, using bitmap fonts. But I'm sure that it is not perfect at all (e.g. it lacks support for RTL). As for the filesystems, they should consider that a filename is in UTF-8. So, if a filesystem uses UTF-8 to store path names, you don't have to convert the encoding (this is not true actually, since Unicode is sometimes very ambiguous, like ligatures). In FAT, I think I implemented a conversion between UTF-8 and UCS-2, because Windows uses UCS-2 in FAT filesystems. But this issue may not be very important for filesystems, because people don't usually use any non-ASCII characters in OS image files, and I don't want to include input methods to enter non-ASCII characters in GRUB anyway. We need to discuss more on internationalization... I will post my idea about this later. > If selecting a menu item is not a noop anymore it can be used already > to boot. I can implement this, if you want me to. I'm sorry, but I don't understand what you mean here. > I think including config files is an important feature. I agree, and it is quite easy to implement in GRUB 2, because we can now open multiple files at a time! BTW, if you have any new feature you want in GRUB 2, let me know. I'm thinking these extensions: - File inclusion You can include a file from another. - Labelling entries You can specify a label to an entry. Then, you can do this: default hurd-l4 title --label=hurd-l4 Hurd/L4 root=(hd0,0) ... Or title Hurd/L4 label hurd-l4 root=(hd0,0) ... - Tree interface The menu can be multiple levels, like file managers: Hurd/L4 (You can open/close this entry) Hurd/L4 Test Hurd/L4 Stable Hurd/L4 Debug I'm not sure about this feature. - User-definable shortcuts You can define a keymap for shortcuts: title --key=1 Debian GNU/Hurd ... title --key=2 Debian GNU/Linux ... And even: key 'e' "edit-entry" key 'k' "edit-entry; edit-line --find='kernel'" > I can commit Thomas' patch for the chainloader. I could do the other > two as well, if you don't want to. Please. :) > > - Implement autoload. This should be very easy. > > autoload? Is this the thing we discussed to automatically load > commands? Not only. Currently, GRUB has no way to resolve dependencies automatically, so I want to implement this feature. > > - Make it possible to call a hook when a variable is read/written. > > This would require some consideration about the API design. > > We discussed this a long time ago and it is already implemented. > Perhaps you have forgotten about this. But just have a look at > env.[ch] or ask me when it is not clear. Oops. I forgot it completely. Great, things are better than what I thought. > > - Implement some basic variables and commands (such as root and > > boot). > > Done already. You told me `root' should not be a command, but a > variable. Boot is implemented already. This went into CVS together > with the variable stuff. Ok. Very good. Perhaps I didn't read all mails carefully. I'm sorry. > As you might have noticed I am not that active all the time. I have > several projects I work on and to prevent myself from being bored I > switch projects weekly. That is a good thing. I also do very different things from time to time, depending on my interest. > What would be useful is extending the TODO if you feel important > things are missing. GRUB 2 is quite an active project (people > already know it and are willing to work on it) and chances are high > people want to work on things you put in the TODO. Especially when > it is networking related, from what I have noticed people want to > work on it but don't really know what to do. I see. I will do that. But maybe we want to have Wiki? I think Wiki is very efficient to share some rough ideas, such as a TODO list. What do you think? Okuji ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: usability 2004-07-31 22:09 ` usability Yoshinori K. Okuji @ 2004-07-31 22:59 ` Marco Gerards 2004-08-01 11:00 ` usability Yoshinori K. Okuji 0 siblings, 1 reply; 13+ messages in thread From: Marco Gerards @ 2004-07-31 22:59 UTC (permalink / raw) To: The development of GRUB 2 "Yoshinori K. Okuji" <okuji@enbug.org> writes: > We need to discuss more on internationalization... I will post my idea > about this later. Please do. I know very little about this subject and I think that is true for many people. I am Dutch and for Dutch (and English) ASCII (or anything ASCII like) is enough. So I don't know much about it, when it is used, etc. But don't take me wrong, I find this very important. >> If selecting a menu item is not a noop anymore it can be used already >> to boot. I can implement this, if you want me to. > > I'm sorry, but I don't understand what you mean here. Ok. You already implemented a very simple menu. But when I choose an option, nothing happens. It is easy to change it so it actually boots the option you have chosen. I know you want to work more on this, but I think it is important to have something that works in an early stage. For the Pc and apple versions we have almost everything that is required. > BTW, if you have any new feature you want in GRUB 2, let me know. I'm > thinking these extensions: I think I told you my opinion in every case and I will continue to do so. > - Labelling entries What is a label used for? > - Tree interface > I'm not sure about this feature. I like it. Currently on my development box I have a boot item called "Network menu" (yeah, stupid name). When I choose that it loads the menu.lst from my tftp server. In that menu.lst some GNU Mach, L4 and toy kernels are listed. > - User-definable shortcuts Nice. >> I can commit Thomas' patch for the chainloader. I could do the other >> two as well, if you don't want to. > > Please. :) Ok. > Not only. Currently, GRUB has no way to resolve dependencies > automatically, so I want to implement this feature. I think Thomas sent in a patch for this, right? Could you please review it? You have more knowledge about module loading. >> What would be useful is extending the TODO if you feel important >> things are missing. GRUB 2 is quite an active project (people >> already know it and are willing to work on it) and chances are high >> people want to work on things you put in the TODO. Especially when >> it is networking related, from what I have noticed people want to >> work on it but don't really know what to do. > > I see. I will do that. But maybe we want to have Wiki? I think Wiki is > very efficient to share some rough ideas, such as a TODO list. What do > you think? This is a very good idea. Can you set up a wiki? Thanks, Marco ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: usability 2004-07-31 22:59 ` usability Marco Gerards @ 2004-08-01 11:00 ` Yoshinori K. Okuji 2004-08-01 15:24 ` wiki Yoshinori K. Okuji 2004-08-02 15:05 ` usability Tomas Ebenlendr 0 siblings, 2 replies; 13+ messages in thread From: Yoshinori K. Okuji @ 2004-08-01 11:00 UTC (permalink / raw) To: The development of GRUB 2 On Sunday 01 August 2004 00:59, Marco Gerards wrote: > Please do. I know very little about this subject and I think that is > true for many people. I am Dutch and for Dutch (and English) ASCII > (or anything ASCII like) is enough. Done. > Ok. You already implemented a very simple menu. But when I choose > an option, nothing happens. It is easy to change it so it actually > boots the option you have chosen. Ah, I understand. > > - Labelling entries > > What is a label used for? I wrote this example in the previous mail: default hurd-l4 title --label=hurd-l4 Hurd/L4 root=(hd0,0) ... Or title Hurd/L4 label hurd-l4 root=(hd0,0) ... Labels should be able to be used in everywhere you can specify entry numbers, such as default, savedefault and fallback. If this is implemented, it could be much easier to modify config files automatically by shell scripts. > I think Thomas sent in a patch for this, right? Could you please > review it? You have more knowledge about module loading. I think his patch is only for commands. Autoloading filesystem modules is not implemented, and I want to have commands in the normal mode to load/unload modules with/without resolving dependencies automatically. BTW, one problem in his patch is that autocmd.lst is maintained manually. It is better to generate this file automatically at the compilation time. > This is a very good idea. Can you set up a wiki? Do you know any site which we can use freely (and permanently, if possible) ? I can set it up on my server, but I'm afraid that mine is too poor for dynamic page rendering, because it is an OpenBrick. This may be a good occasion to get an OpenBrick NG, but I have no money to buy a new machine at the moment. One way is to use a hosting service, such as BerliOS or SourceForge. BerliOS might be a good option, because it has a builtin wiki interface, while you must set it up manually on SourceForge. It is unfortunate that Savannah does not have any way to set up a wiki site. I will talk about this with Savannah hackers. Okuji ^ permalink raw reply [flat|nested] 13+ messages in thread
* wiki 2004-08-01 11:00 ` usability Yoshinori K. Okuji @ 2004-08-01 15:24 ` Yoshinori K. Okuji 2004-08-01 20:40 ` wiki Marco Gerards 2004-08-02 15:05 ` usability Tomas Ebenlendr 1 sibling, 1 reply; 13+ messages in thread From: Yoshinori K. Okuji @ 2004-08-01 15:24 UTC (permalink / raw) To: The development of GRUB 2 I installed a wiki into my own server using MoinMoin: http://enbug.org/grubwiki/ I put this in my site temporarily. Probably I will move this to another server. Okuji ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: wiki 2004-08-01 15:24 ` wiki Yoshinori K. Okuji @ 2004-08-01 20:40 ` Marco Gerards 2004-08-02 11:41 ` wiki Yoshinori K. Okuji 0 siblings, 1 reply; 13+ messages in thread From: Marco Gerards @ 2004-08-01 20:40 UTC (permalink / raw) To: The development of GRUB 2 "Yoshinori K. Okuji" <okuji@enbug.org> writes: > I installed a wiki into my own server using MoinMoin: > > http://enbug.org/grubwiki/ It works perfectly for me. I just assume I have all freedom to do what I want. If you don't agree with something, just change it or bring it up for discussion, ok? I think that is the best way to work when using a wiki. I have added a section for bugs. I think for know it is best to maintain bugs in the wiki, instead of in CVS (like we discussed about earlier). If you think this is stupid, just remove it. > I put this in my site temporarily. Probably I will move this to another > server. Ok. Thanks, Marco ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: wiki 2004-08-01 20:40 ` wiki Marco Gerards @ 2004-08-02 11:41 ` Yoshinori K. Okuji 2004-08-04 11:14 ` wiki Yoshinori K. Okuji 0 siblings, 1 reply; 13+ messages in thread From: Yoshinori K. Okuji @ 2004-08-02 11:41 UTC (permalink / raw) To: The development of GRUB 2 On Sunday 01 August 2004 22:40, Marco Gerards wrote: > It works perfectly for me. I just assume I have all freedom to do > what I want. If you don't agree with something, just change it or > bring it up for discussion, ok? I think that is the best way to work > when using a wiki. I'm used to wiki, so don't worry. What I'm afraid of is what happens if many people access it. The machine does not have a lot of memory, so it would be too slow to use it. > I have added a section for bugs. I think for know it is best to > maintain bugs in the wiki, instead of in CVS (like we discussed about > earlier). If you think this is stupid, just remove it. It's ok for now. CVS is better, since it is in the well-maintained site (Savannah). Wiki is not very good, since it is in my personal site. Normally, personal sites cannot be trusted, because they can disappear or stop long suddenly. For example, if I decide to change my appartment, I will have to stop the server, obtain a new internet connection, change the ip address in the dns server, and so on. This may take one week or more, especially if this movement is across countries. If a fast connection is too expensive, I will just give up. So I'd like to find a more stable place as soon as possible. If you have any idea, let me know. Okuji ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: wiki 2004-08-02 11:41 ` wiki Yoshinori K. Okuji @ 2004-08-04 11:14 ` Yoshinori K. Okuji 0 siblings, 0 replies; 13+ messages in thread From: Yoshinori K. Okuji @ 2004-08-04 11:14 UTC (permalink / raw) To: The development of GRUB 2 I succeeded to find another place for the wiki: http://www.autistici.org/grub It is hosted by Autistici in Italy, and it is faster than my machine (probably the network speed rather than the machine itself). So please use the new one from now on. I will add a link to the wiki into the GRUB web site later. Can anybody move the contents to the new server? Okuji ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: usability 2004-08-01 11:00 ` usability Yoshinori K. Okuji 2004-08-01 15:24 ` wiki Yoshinori K. Okuji @ 2004-08-02 15:05 ` Tomas Ebenlendr 2004-08-04 11:18 ` usability Yoshinori K. Okuji 1 sibling, 1 reply; 13+ messages in thread From: Tomas Ebenlendr @ 2004-08-02 15:05 UTC (permalink / raw) To: The development of GRUB 2 > > I think Thomas sent in a patch for this, right? Could you please > > review it? You have more knowledge about module loading. > > I think his patch is only for commands. Autoloading filesystem modules > is not implemented, and I want to have commands in the normal mode to > load/unload modules with/without resolving dependencies automatically. > > BTW, one problem in his patch is that autocmd.lst is maintained > manually. It is better to generate this file automatically at the > compilation time. > I wrote something about module loading to wiki. (ModuleLoading, one click from TodoList (section grub-emu)). Today, grub-emu contains some modules (compiled in). If there will be way to run modules from unix, then we can replace function for registering commands with function which will write module name and function name to the file autocmd.lst. Other way is sed-like, but then one must be carefull where the he writes the registration of commands. -- Tomas 'ebi' Ebenlendr http://get.to/ebik PF 2004.58661540554 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: usability 2004-08-02 15:05 ` usability Tomas Ebenlendr @ 2004-08-04 11:18 ` Yoshinori K. Okuji 0 siblings, 0 replies; 13+ messages in thread From: Yoshinori K. Okuji @ 2004-08-04 11:18 UTC (permalink / raw) To: The development of GRUB 2 On Monday 02 August 2004 17:05, Tomas Ebenlendr wrote: > Today, grub-emu contains some modules (compiled in). If there will be > way to run modules from unix, then we can replace function for > registering commands with function which will write module name and > function name to the file autocmd.lst. Other way is sed-like, but > then one must be carefull where the he writes the registration of > commands. Another way is to define the information in the rmk files. Like this: foo_mod_COMMANDS = foo bar Then make can generate autocmd.lst. Okuji ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: usability 2004-07-31 19:50 ` usability Marco Gerards 2004-07-31 22:09 ` usability Yoshinori K. Okuji @ 2004-07-31 22:34 ` Yoshinori K. Okuji 2004-08-01 8:40 ` usability Jeroen Dekkers 1 sibling, 1 reply; 13+ messages in thread From: Yoshinori K. Okuji @ 2004-07-31 22:34 UTC (permalink / raw) To: The development of GRUB 2 About internationalization: GRUB 2 has a goal of internationalization. Here, i18n means these things (in my definition): - Messages can be translated - Non-ASCII characters can be used in config files - Non-ASCII characters can be displayed - Non-ASCII characters can be used in file names The last one might not be important, because you don't use non-ASCII in OS image files normally (consider /boot/vmlinuz). But I think filesystems should be able to list up file names with non-ASCII characters at least, so that the user can see some useful information on the screen when she types "ls". The first one should be realized in the same way as gettext, but it is not implemented yet. The third is possible in my test environment. I tested it with Japanese, and worked fine. When you want i18n, you need to define something about character code and encodings. For now, I select Unicode as the standard character code and use UTF-8 and UCS-4 as the encodings. I think this is a good idea, because Unicode makes things a bit simpler than mixing a lot of code (like ISO2022-JP-2). UTF-8 is used in most places, because it has a good compatibility with ASCII. UCS-4 is used only in the console stuff at the moment. This makes the implementation of a console device easier, because you can represent each character in a fixed size (this is not completely true, because of ligatures). Therefore, you must assume that UTF-8 is used when you use strings in your code. And, you must not assume that the length of a string is equal to the size of the string on the screen. For example, many European characters are 2-byte in UTF-8, but they are shown as 1-column characters on the screen. So you must distinguish between the length and the column size carefully. In reality, what does the user want to do? I guess she wants to do these: - See messages in her own language - See titles in the menu in her own language - Write comments in config files in her own languages So I'd like to assume that config files are written in UTF-8. Maybe we can support other encodings, but this requires some heuristic methods or an explicit declaration of an used encoding. I feel that this is too much, since people normally do not use UCS-2 or UTF-7 in text files. But some people may want to use "legacy" chracter code, such as ISO-8859-1 and EUC-JP. I'm not sure if it is better to translate error messages from commands. This should be a bad idea from developers' point of view, but useful for ordinary users. More thoughts are needed. Do you have any idea or question? Okuji ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: usability 2004-07-31 22:34 ` usability Yoshinori K. Okuji @ 2004-08-01 8:40 ` Jeroen Dekkers 0 siblings, 0 replies; 13+ messages in thread From: Jeroen Dekkers @ 2004-08-01 8:40 UTC (permalink / raw) To: The development of GRUB 2 At Sun, 1 Aug 2004 00:34:30 +0200, Yoshinori K. Okuji wrote: > I'm not sure if it is better to translate error messages from commands. > This should be a bad idea from developers' point of view, but useful > for ordinary users. More thoughts are needed. Sometimes users come to #gnu with a make error in their own language for example. It's pretty hard to know what's wrong. But if we give every error message a number that is displayed this shouldn't be a problem. People helping users can just look up what the corresponding error message is in their own language. Jeroen Dekkers ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2004-08-04 11:22 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-07-31 18:32 usability Yoshinori K. Okuji 2004-07-31 19:50 ` usability Marco Gerards 2004-07-31 22:09 ` usability Yoshinori K. Okuji 2004-07-31 22:59 ` usability Marco Gerards 2004-08-01 11:00 ` usability Yoshinori K. Okuji 2004-08-01 15:24 ` wiki Yoshinori K. Okuji 2004-08-01 20:40 ` wiki Marco Gerards 2004-08-02 11:41 ` wiki Yoshinori K. Okuji 2004-08-04 11:14 ` wiki Yoshinori K. Okuji 2004-08-02 15:05 ` usability Tomas Ebenlendr 2004-08-04 11:18 ` usability Yoshinori K. Okuji 2004-07-31 22:34 ` usability Yoshinori K. Okuji 2004-08-01 8:40 ` usability Jeroen Dekkers
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.