Google Summer of Code Ideas/2012

From Syslinux Wiki
Jump to: navigation, search

We are inviting students to help us out by joining the Google Summer of Code. This page lists some project suggestions, see also the Help wanted page.

All our projects will require a solid understanding of C programming and Unix/GNU style Makefiles. Most projects will require an understanding of PC hardware, and the most advanced projects will require x86 assembly language (NASM and gas syntax). Our development platform is Linux, and our revision control system is git.

A COM32 module (Comboot_API) is a module written in C using an API very similar to the standard C library.

XFS readonly file system support

Syslinux currently does not support booting on XFS filesystems. Primarily, EXTLINUX will have to be able to install Syslinux into a XFS filesystem -- so one will have to write code to mount a XFS filesystem as a read-and-write one through Linux APIs to be able then to write ldlinux.sys file in it. Note also that XFS filesystem are ones used on SGI systems, which means XFS filesystem doesn't support MBR partitioning scheme and we won't be able to boot it up without a MBR. Therefore, Syslinux will have to be able to handle this issue. The XFS driver will handle the filesystem-specific code, which includes on-disk structures, filesystem operations such as finding root directory, finding files, finding next extents, listing directory entries, etc on XFS filesystems. The XFS filesystem-specific code will be located in core/fs.

Multi-disk support

Syslinux currently does not support a scheme where one can specify a disk/partition on the command line. We propose the implementation of this schema using some kind of syntax similar to the one we have developed for COM32 module chain.c32. So perhaps something like [hd0,3]/foo/bar/baz or [mbr:0x12345678,5]/foo/bar, or even file://hd0,3/foo/bar/baz to make it URL-like.

Btrfs compression support

Btrfs has built-in compression (support for both lzo and zlib). This allows you to automatically compress data for the entire filesystem, subvolumes or even down to individual files. Since Syslinux won’t be able to read files from compressed subvolumes, or individual files, it’s needed to make Syslinux able to read files from compressed subvolumes and individual files, at least. No need to be able to support reading files from entire compressed btrfs filesystems.

Rewritten of gfxboot to pure C

Basically move gfxboot to pure C as well as better graphics/font handling.