Work In Progress; 2011-05-07: Currently working on a better command line prompt for ROSH as gets() has a lot of shortcomings (home/end, insert/overwrite editing, line wrap navigation).
I should look at possibly doing something similar to the UI/DEFAULT with menu.c32/vesamenu.c32. I'm not sure how they'll behave at the moment. The order should probably be ONTIMEOUT, "MENU DEFAULT" then DEFAULT but I want to explore it first.
Some patches I've submitted and are waiting for review/integration (in no particular order)
- libfat: Fix to handle certain corrupt but usable FAT file systems. Awaiting a response from Alain. This spawned the idea of an additional installer command line option "-p"/"--permissive" to allow some FAT checks to fail but not all.
- com32: parse_args() to parse a string to an argc/argv pair. Currently __parse_args() is a COM32-specific implementation but my proposal is more portable.
- core: UI/DEFAULT directives: If UI fails for any of several reasons (file not found, COM32 but not COM32R), use DEFAULT instead of UI.
- comboot: module to clear the screen then run a command
- com32: module to fetch a file and display estimated overall speed
My public repositories
- Main public
- Backup publics
Recently (2009-03-21), I've been making progress in making certain directory functions available from the Syslinux layer through to COM32. These are strictly read-only functions that will help with the implementation of a simple read-only shell. At this time, the API is still under minor revisions but should be solidifying shortly. The API is only available at this time from the GIT tree and only for SYSLINUX (ldlinux.sys). rosh, my read-only shell, is making progress and I feel that it is approaching the phase of being relatively user friendly.
The aforementioned API was destroyed in favor of C-based protected mode code to do the same operation in 4.00. After some updates back in May to rosh and some work on helping out on testing 4.00 pre releases, I've been working on some miscellaneous things. DRMK support in chain.c32.
├─ boot │ ├── centos/ │ │ └── 6.2/ │ │ └── x86_64/ │ │ ├── initrd.img │ │ └── vmlinuz │ └── fedora/ │ ├── initrd.img │ └── vmlinuz ├── SplashP.png ├── graphics.conf ├─ bios │ ├── ldlinux.c32 │ ├── libcom32.c32 │ ├── libutil.c32 │ ├── pxelinux.cfg │ │ └── default │ ├── pxelinux.0 │ └── vesamenu.c32 └── efi.x64 ├── ldlinux.e64 ├── libcom32.c32 ├── libutil.c32 ├── pxelinux.cfg │ └── default ├── syslinux.efi └── vesamenu.c32