Gujin is a PC boot loader that can analyze your partitions and filesystems. It finds the Linux kernel images available, as well as other bootable partitions (for *BSD, MS-DOS, Windows, etc.), files (*.kgz) and bootable disk images (*.bdi), and displays a graphical menu for selecting which system to boot. It boots the Linux kernel using the documented interface, like LILO and GRUB, so it doesn't need any other pre-installed bootloader. It can also directly load gzipped ELF32 or ELF64 files, with a simple interface to collect real-mode BIOS data. There is no need to execute anything after making a new kernel: just copy the kernel image file into the "/boot" directory, with a standard name. Gujin is written almost entirely in C with GCC, and it fully executes in real mode to be as compatible as possible.
| Tags | Boot Init |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux OS Independent |
| Implementation | C Assembly |
Recent releases


Changes: This release fixes SATA detection with PCI BIOS, screen definition detection, ISO images to superfloppy modification, and some ELF treatment bugs. Better FAT filesystems are now generated. A simplified "gujin" command was introduced to install and remove the bootloader. Examples are included to create your own directly bootable compressed ELF32 or ELF64 files with the kgz extension.


Changes: This release can compile and install on 64-bit based PCs without any 32-bit libraries. A simple way was introduced to create a superfloppy from an ISO CDROM/DVD image to boot from SD cards or USB drives. It has basic support for the EXT4 filesystem and can now create a FAT32 filesystem when initializing a USB thumb drive. It also has some bugfixes and other small improvements.


Changes: This version fix the problem with booting kernels after Linux 2.6.22. It can also install the second stage inside a filesystem (contigous file, no RAID supported) simply by: "instboot boot.bin /boot/gujin.ebios". It moves DBG messages into the "xdata" segment to stop "stack overflow" messages in debug executables, adds confirmation before restoration of MBR and partition table from backup, and adds a small executable "gujin-cmdline" to edit the "embedded command line" of vmlinuz files.


Changes: This version solves a problem with the VESA linear graphic menu and Intel BIOS. Real disk BIOS number switching is done to boot Windows XP with a USB thumb key. Problems of time-offset on the display were fixed. The generic kernel parameter root=/dev/sd* (default) or root=/dev/hd* can be used to specify the namespace to use for root autodetection. Two "tiny" targets, named tinyusb.bin and tinycdrom.bin, were added to load a Linux kernel (or a *.kgz file) from USB or CDROM without user intervention. A check is done to see if the target device is mounted. More bugs were fixed.


Changes: This release fixes the bug related to saving Gujin parameters to the boot device, adds a 10x20 font for graphic modes over 768 lines (and a small software "fnthex2h" to convert hex font from gbdfed to gujin format), recognizes the file "bootsect.dos" as a copy of a partition boot sector and tries to boot from it, and better manages the write_enable flag when the boot device is read-only. It also treats Windows XP like Windows 98, and should be able to run them in extended partitions or on a different (BIOS) drive than the first one.