lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <26299.12218.qm@web23602.mail.ird.yahoo.com>
Date:	Tue, 12 May 2009 22:01:08 +0000 (GMT)
From:	Etienne Lorrain <etienne_lorrain@...oo.fr>
To:	linux-kernel@...r.kernel.org
Subject: [ANNOUNCE] Gujin GPL bootloader version 2.6


There is a new version v2.6 of Gujin at http://gujin.sf.net with 

bugfixes and improvement, like: 

  - Better PCI BIOS to detect IDE interfaces (SATA CDROM at non

  conventional address)

  - Better EDID BIOS support (screen definition detection)

  - Fix modification of *.iso images, fix ELF32/64 handling by

  tiny images.

  - works with GCC-4.4, works with every distribution-provided

  compiler I tested.

  - Align by default the clusters of FAT16/32 filesystems even if

  the start of the partition isn't aligned, generate FAT32 useable

  by Windows.

  - Completely remove the support for zImage and for locating

  the ELF in the Linux kernel, now only the official way to boot a

  bzImage Linux kernel is possible, and *.kgz files have to be

  compressed ELF32/64 files.

  - Gives few examples of ELF32 and ELF64 bootable kgz files,

  with and without memory relocation by using ld option --emit-relocs:

  see hello*.kgz in Makefile.

  - Generate a "gujin" executable, which is "instboot + few embedded

  boot images" for either 32 or 64 bits Linux, to use like (as root):



    -> to install the way GRUB or LILO installs themselves:

./gujin /boot/gujin.ebios

    -> to remove (and re-install previous bootloader)

./gujin --remove=/dev/sda && rm /boot/gujin.ebios

    -> to initialise a "superfloppy" FAT filesystem on a USB drive:

umount /dev/sdz*      # device /dev/sdz will be ERASED

./gujin --disk=BIOS:0x0,auto /dev/sdz

    -> to  transform a bootable ISO file and write it to a USB stick:

umount /dev/sdz*      # device /dev/sdz will be ERASED

./gujin eeebuntu-2.0-standard.iso \\

        && cat eeebuntu-2.0-standard.iso > /dev/sdz && sync

    -> for more example, use gujin without parameters,

        or with --help parameter.

 



 The simplest bootable "hello world" kgz file is:

/*  To be compiled by:

$ gcc -m32 -Wall -O2 -s -static -nostartfiles -nodefaultlibs \

   -Wl,-Ttext=0x110000 hello.c -o hello.elf

$ gzip -9 hello.elf -c > hello.kgz

*/

const char msg1[] = "Hello protected-mode text world! please reboot ...";

#define STACKSIZE 64 * 1024

static unsigned stack[STACKSIZE / 4] __attribute__ ((aligned(32)));

void _start (void)

{

    /* We are flat non-paged memory and interrupt disabled */

    asm (" mov %0,%%esp " : : "i" (&stack[STACKSIZE / 4]));

    /* This work only in text modes (assumed mode 3), video

    memory at real mode address 0xB800:0000. At this address,

    we shall write two bytes per char, one  containing the foreground

    and background color, the other containing the letter: */

    volatile unsigned short *video_array
         = (volatile unsigned short *)0xB8000;

    unsigned cpt1;



    video_array += 10 * 80;  /* few empty lines */

    /* We want blue background color and lightgray foreground: */

    for (cpt1 = 0; cpt1 < sizeof(msg1) - 1; cpt1++)

            video_array[cpt1] = 0x1700 + msg1[cpt1];

    while (1)

        continue;

}



 Downloads at:

http://sourceforge.net/project/showfiles.php?group_id=15465



  Have fun,

  Etienne.



      
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ