All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Millan <rmh@aybabtu.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Cc: tgingold@free.fr
Subject: Re: IA64 port
Date: Wed, 30 Jan 2008 16:07:01 +0100	[thread overview]
Message-ID: <20080130150701.GA25196@thorin> (raw)
In-Reply-To: <20080130054811.GA4665@saphi>

On Wed, Jan 30, 2008 at 06:48:11AM +0100, Tristan Gingold wrote:
> +
> +# For grub-emu.
> +grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c	\
> +	commands/configfile.c commands/help.c				\
> +	commands/terminal.c commands/ls.c commands/test.c 		\
> +	commands/search.c commands/blocklist.c				\
> +	disk/loopback.c							\
> +	\
> +	fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c			\
> +	fs/hfsplus.c fs/iso9660.c fs/jfs.c fs/minix.c			\
> +	fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c			\
> +	fs/ufs.c fs/xfs.c						\
> +	\
> +	io/gzio.c							\
> +	kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c 	\
> +	normal/execute.c kern/file.c kern/fs.c normal/lexer.c 		\
> +	kern/loader.c kern/main.c kern/misc.c kern/parser.c		\
> +	grub_script.tab.c kern/partition.c kern/rescue.c kern/term.c	\
> +	normal/arg.c normal/cmdline.c normal/command.c normal/function.c\
> +	normal/completion.c normal/main.c				\
> +	normal/menu.c normal/menu_entry.c normal/misc.c normal/script.c	\
> +	partmap/amiga.c	partmap/apple.c partmap/pc.c partmap/sun.c	\
> +	partmap/acorn.c partmap/gpt.c					\
> +	util/console.c util/grub-emu.c util/misc.c			\
> +	util/i386/pc/misc.c grub_emu_init.c

grub-probe is missing.  Did you check if it works?  Although, I think it
should just move to common.rmk.  I'll have a look at that.

> diff -ruNp -x '*~' -x CVS -x autom4te.cache -x '*.mk' -x configure grub2.orig/util/ia64/efi/grub-install.in grub2/util/ia64/efi/grub-install.in
> --- grub2.orig/util/ia64/efi/grub-install.in	1970-01-01 01:00:00.000000000 +0100
> +++ grub2/util/ia64/efi/grub-install.in	2008-01-28 16:29:58.000000000 +0100
> [...]
> +grub_probefs=${sbindir}/grub-probefs

grub-probefs was renamed to grub-probe.

> +# Create the core image. First, auto-detect the filesystme module.
> +#fs_module=`$grub_probefs --device-map=${device_map} ${grubdir}`
> +#if test "x$fs_module" = x -a "x$modules" = x; then
> +#    echo "Auto-detection of a filesystem module failed." 1>&2
> +#    echo "Please specify the module with the option \`--modules' explicitly." 1>&2
> +#    exit 1
> +#fi

Why is this commented out?  Is ${grubdir} a mount point to efi's boot
memory device?  We do that on i386 (I don't claim that it is a good way,
in fact I dislike it and Okuji does as well, but if we want to change it I
expect we'll want to change it in both).

Also, missing partmap_module and devabstraction_module.  I think you should
resync this with the latest version of i386/efi/grub-install.in.

> +modules="kernel

kernel isn't implicit?

> gpt

Is gpt mandatory?  We can use gpt without efi;  I wonder if we can also use
efi without gpt.  If you can access the raw disk, any partition map (even no
partition map at all!) could be used, right?

> fat

Even if fat is mandated by the standard, I think it's safer to probe for that,
since we have the mechanism to do it (grub-probe also performs some sanity
checks that would detect if the fat is corrupted or so).

> gzio normal ls cat fshelp help _linux linux memmap systab boot

Why this selection specificaly?  Other ports without significant size limit
just encourage the user to do "grub-mkimage *.mod -o foo" or manually select
what is needed.

Or it wasn't possible to load additional modules in runtime yet?  I don't
remember well..

> +# Generate init/fini for modules.
> +modfile=$tmpdir/mod.c
> +echo "/* Dummy modules.  */" > $modfile
> +list=""
> +init_list=""
> +fini_list=""
> +for m in $modules; do
> +  file="$pkglibdir/${m}.mod"
> +  name=`nm $file | sed -n "/ r grub_module_name/ s/.* r grub_module_name_\(.*\)/\1/p"`
> +  init=`nm $file | sed -n "/ T grub_module_.*_init/ s/.* T //p"`
> +  fini=`nm $file | sed -n "/ T grub_module_.*_fini/ s/.* T //p"`
> +  init_list="$init_list $init"
> +  fini_list="$fini_list $fini"
> +  arg="\"$name\",${init:-0},${fini:-0}"
> +  list="$list $arg"
> +done

Is there a way we can do this before to avoid runtime dependency on binutils?

Btw has this been tested on i386-efi ?

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call… if you are unable to speak?
(as seen on /.)



  reply	other threads:[~2008-01-30 15:08 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-28 16:09 IA64 port Tristan Gingold
2008-01-28 16:55 ` Robert Millan
2008-01-29  5:12   ` Tristan Gingold
2008-01-29  9:17     ` Robert Millan
2008-01-29 10:31       ` tgingold
2008-01-29 11:08         ` Robert Millan
2008-01-29  9:59     ` Robert Millan
2008-01-29 10:35       ` tgingold
2008-01-29 11:32         ` Robert Millan
2008-01-29 12:56           ` tgingold
2008-01-29 13:19             ` Robert Millan
2008-01-29 14:46               ` Marco Gerards
2008-01-29 15:30                 ` Robert Millan
2008-01-29 16:38                   ` tgingold
2008-01-29 18:48                     ` Robert Millan
2008-01-30  5:23                       ` Tristan Gingold
2008-01-30 13:19                         ` Robert Millan
2008-01-29 16:35                 ` tgingold
2008-01-30  5:48                 ` Tristan Gingold
2008-01-30 15:07                   ` Robert Millan [this message]
2008-01-30 15:33                     ` Robert Millan
2008-01-30 16:22                     ` tgingold
2008-01-30 18:38                       ` Robert Millan
2008-02-04 15:45                   ` Marco Gerards
2008-02-04 16:07                     ` Robert Millan
2008-02-05  9:51                       ` tgingold
2008-02-10 22:43                   ` Alexandre Boeglin
2008-02-11  8:59                     ` tgingold
2010-01-18 18:03                   ` Robert Millan
2008-01-30  5:48                 ` Tristan Gingold
2008-01-30  5:57                 ` Tristan Gingold
2008-01-30 13:25                   ` Robert Millan
2008-01-30 16:04                     ` tgingold
2008-03-19 17:11                       ` Robert Millan
2008-03-20  6:34                         ` Tristan Gingold
2008-02-05 22:49       ` Alexandre Boeglin
2008-01-29  5:49   ` Tristan Gingold
2008-01-29  9:08     ` Robert Millan
2008-01-29 10:10       ` tgingold
2008-01-29 11:07         ` Robert Millan
2008-01-29 12:53           ` tgingold
2008-01-29 13:39             ` Robert Millan
2008-01-29 13:36     ` Robert Millan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080130150701.GA25196@thorin \
    --to=rmh@aybabtu.com \
    --cc=grub-devel@gnu.org \
    --cc=tgingold@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.