Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-tools.git;a=commitdiff;h=177e0e1490a8b2f8f8f3c4aa8e9e37182b90de5c
commit 177e0e1490a8b2f8f8f3c4aa8e9e37182b90de5c Author: Miklos Vajna <vmik...@frugalware.org> Date: Thu Dec 9 03:08:58 2010 +0100 mkiso: add gui installer initrd to the menu diff --git a/mkiso/boot.c b/mkiso/boot.c index 1f895ee..b55d4b0 100644 --- a/mkiso/boot.c +++ b/mkiso/boot.c @@ -1,7 +1,7 @@ /* * boot.c * - * Copyright (c) 2006 by Miklos Vajna <vmik...@frugalware.org> + * Copyright (c) 2006, 2010 by Miklos Vajna <vmik...@frugalware.org> * parts are from gzip, Copyright (C) 1992-1993 by Jean-loup Gailly * * This program is free software; you can redistribute it and/or modify @@ -42,7 +42,7 @@ int gunzip_size(char *path) return(LG(buf+4)); } -int boot_size(char *root, char *kernel, char *initrd) +int boot_size(char *root, char *kernel, char *initrd, char *ginitrd) { struct stat buf; int ret; @@ -52,9 +52,16 @@ int boot_size(char *root, char *kernel, char *initrd) if(stat(path, &buf)) return(0); ret = buf.st_size/1024; + snprintf(path, PATH_MAX, "%s/%s", root, initrd); if(stat(path, &buf)) return(0); ret += buf.st_size/1024; + + snprintf(path, PATH_MAX, "%s/%s", root, ginitrd); + if(stat(path, &buf)) + return(0); + ret += buf.st_size/1024; + return(ret); } diff --git a/mkiso/boot.h b/mkiso/boot.h index 58354dd..4f6567b 100644 --- a/mkiso/boot.h +++ b/mkiso/boot.h @@ -1,7 +1,7 @@ /* * boot.h * - * Copyright (c) 2006 by Miklos Vajna <vmik...@frugalware.org> + * Copyright (c) 2006, 2010 by Miklos Vajna <vmik...@frugalware.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,4 +20,4 @@ */ int gunzip_size(char *path); -int boot_size(char *root, char *kernel, char *initrd); +int boot_size(char *root, char *kernel, char *initrd, char *ginitrd); diff --git a/mkiso/menu.c b/mkiso/menu.c index 8f5d1f0..7110355 100644 --- a/mkiso/menu.c +++ b/mkiso/menu.c @@ -39,6 +39,7 @@ char *mkmenu(volume_t *volume) FILE *fp; char *kernel = detect_kernel(volume->arch); char *ptr = g_strdup_printf("%s/boot/initrd-%s.img.gz", fst_root, volume->arch); + char *gptr = g_strdup_printf("%s/boot/initrd-%s-gui.img.gz", fst_root, volume->arch); struct stat buf; mkstemp(flist); @@ -49,12 +50,14 @@ char *mkmenu(volume_t *volume) "timeout=10\n"); if(!stat("/boot/grub/message", &buf)) fprintf(fp, "gfxmenu /boot/grub/message\n\n"); + fprintf(fp, "title Frugalware %s (%s) - %s\n", fst_ver, fst_codename, kernel); fprintf(fp, "\tkernel /boot/vmlinuz-%s initrd=initrd-%s.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=%d rw root=/dev/ram quiet\n", kernel, volume->arch, gunzip_size(ptr)/1024); fprintf(fp, "\tinitrd /boot/initrd-%s.img.gz\n", volume->arch); + fprintf(fp, "title Frugalware %s (%s) - %s (vga fb)\n", fst_ver, fst_codename, kernel); fprintf(fp, "\tkernel /boot/vmlinuz-%s initrd=initrd-%s.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=%d rw root=/dev/ram quiet vga=791\n", @@ -62,8 +65,16 @@ char *mkmenu(volume_t *volume) fprintf(fp, "\tinitrd /boot/initrd-%s.img.gz\n", volume->arch); + fprintf(fp, "title Frugalware %s (%s) - %s (gui)\n", + fst_ver, fst_codename, kernel); + fprintf(fp, "\tkernel /boot/vmlinuz-%s initrd=initrd-%s-gui.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=%d rw root=/dev/ram quiet\n", + kernel, volume->arch, gunzip_size(gptr)/1024); + fprintf(fp, "\tinitrd /boot/initrd-%s-gui.img.gz\n", + volume->arch); + fclose(fp); free(ptr); + free(gptr); free(kernel); return(flist); } diff --git a/mkiso/mkiso.c b/mkiso/mkiso.c index 0480948..7fc1798 100644 --- a/mkiso/mkiso.c +++ b/mkiso/mkiso.c @@ -1,7 +1,7 @@ /* * mkiso.c * - * Copyright (c) 2006 by Miklos Vajna <vmik...@frugalware.org> + * Copyright (c) 2006, 2007, 2008, 2010 by Miklos Vajna <vmik...@frugalware.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -260,7 +260,7 @@ int mkiso(volume_t *volume, int countonly, int stable, int dryrun) int total=0, myvolume=1, bootsize; char *fname=get_filename(fst_ver, volume->arch, volume->media, volume->serial); char *label=get_label(fst_ver, volume->arch, volume->media, volume->serial); - char *flist, *cmdline = NULL, *ptr, *kptr = NULL, *iptr; + char *flist, *cmdline = NULL, *ptr, *kptr = NULL, *iptr, *giptr; char cwd[PATH_MAX] = ""; FILE *fp; char *menu = NULL, *bootmsg = NULL, *conf = NULL; @@ -285,10 +285,13 @@ int mkiso(volume_t *volume, int countonly, int stable, int dryrun) iso_add(dryrun, fp, kptr); iptr = g_strdup_printf("boot/initrd-%s.img.gz", volume->arch); iso_add(dryrun, fp, iptr); + giptr = g_strdup_printf("boot/initrd-%s-gui.img.gz", volume->arch); + iso_add(dryrun, fp, giptr); // how many space is needed for the kernel & initrd? - bootsize = boot_size(fst_root, kptr, iptr); + bootsize = boot_size(fst_root, kptr, iptr, giptr); free(kptr); free(iptr); + free(giptr); if (!strcmp(volume->arch, "i686") || !strcmp(volume->arch, "x86_64")) { menu = mkmenu(volume); iso_add(dryrun, fp, "boot/grub/message"); _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git