grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Interesting GSoC project ideas for 09


From: phcoder
Subject: Re: Interesting GSoC project ideas for 09
Date: Sat, 28 Feb 2009 12:54:54 +0100
User-agent: Thunderbird 2.0.0.19 (X11/20090105)

Robert Millan wrote:
Seems nice.  Would you be willing to write a summary for these?  Then we
could add it to grub-soc.html.
Where is this file?
Here is elaborated list:
HID:
-bluetooth keyboard
Often BIOS lacks bluetooth support completely. This means that if someone uses bluetooth keyboard he may even need a separate ps/2 or usb keyboard just to make his choice in grub. Implementing bluetooth stack is a difficult task
-mouse support
This feature isn't something that is really useful. It's actually just to make the bootloader nicer. It requires some changes in the grub's design to be able to receive output from multiple sources in the same time. This architecture change can be reused later for e.g recieving input from both keyboard and serial or keyboard+ssh.
More graphics drivers
FS:
-zfs
It's mentionned in original e-mail. ZFS is a filesystem with many features absent in classical filesystems, like e.g. snapshotting. It's used by Solaris/OpenSolaris and FreeBSD. A port to fuse in linux exists but is too slow to consider booting from zfs with linux
-btrfs
A conceptual replacement for ZFS for linux. Contains some features absent from both ZFS and classical FS. For more details http://btrfs.wiki.kernel.org/index.php/Main_Page
-Hammer (dragonflybsd)
It's a new feature of DragonFlyBSD. I don't know how it is better then FFS or ZFS
Network
-TCP/IP
For many netbooting purposes a fairly complete TCP/IP stack is necessary. Marco Gerards has some very basic code but said that it shouldn't hold anybody interested in TCP/IP back http://savannah.nongnu.org/projects/lwip/ or freebsd could be the base of port. Following protocols need TCP/IP:
-TFTP
TFTP is a UDP-only protocol similar to very basic FTP used to transfer kernels and configuration in classical netboot environment
-NFS
NFS is usually used to mount remote root filesystem. Its support in grub can facilitate netbooting
-SMB
SMB is the protocol for which it's the easiest to setup a server. Windows, MacOS and many linux distribution propose GUI for it. Many organisations have an SMB server. Its support can make netbooting as trivial as "put this iso into your shared folder"
-FTP, HTTP and DNS
These are the most used protocol for internet servers. It's also heavily used to distribute OpenSource software. If grub2 supports at least FTP or HTTP and DN,. distributions like ubuntu and debian can put a configuration file on their server. Then user can just type
configfile (http,debian.org)/grub.cfg
Then a menu with mirrors will appear (random default selection is very useful in this context), after mirrors user can choose a version and/or variant. Then grub2 will download corresponding kernel and initrd. In this way installation doesn't need anything else then grub2 and internet access. No CD burning,...
Wireless stack
Wifi becomes more and more commonplace. If grub2 supports wireless the previous scenarios can even be done in wireless environment. IMO target cards should be intel and atheros because they have opensource drivers
Firewire
It's sometimes used for external harddrives, however USB2 is much more common. However it has an advantage of being symmetric. It means that a computer can also present itself as a disk. It's useful for cloning and disaster recovery
Scripts:
-Finish scripting engine, loops, functions, pipes,...
Scripting engine is still incomplete
-Runtime autoconfig.
It scans all the drives and creates a list of detected OSes in grub2. Very useful for demonstrations and recovery.

Realmode hooks
some tools are able to hook themselves onto bios interrupts to fool chainloaded bootloader. This includes map and memdisk. It's also possible to put dummies on interrupts under coreboot it may be enough in some cases instead of complete SeaBIOS

--

Regards
Vladimir 'phcoder' Serbinenko




reply via email to

[Prev in Thread] Current Thread [Next in Thread]