From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1My2yS-0005sC-T4 for mharc-grub-devel@gnu.org; Wed, 14 Oct 2009 08:29:00 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1My2yQ-0005ox-Mg for grub-devel@gnu.org; Wed, 14 Oct 2009 08:28:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1My2yM-0005hK-MG for grub-devel@gnu.org; Wed, 14 Oct 2009 08:28:58 -0400 Received: from [199.232.76.173] (port=44630 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1My2yM-0005h1-Fx for grub-devel@gnu.org; Wed, 14 Oct 2009 08:28:54 -0400 Received: from xvm-190-8.ghst.net ([217.70.190.8]:45450 helo=aybabtu.com) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1My2yL-0005jJ-W6 for grub-devel@gnu.org; Wed, 14 Oct 2009 08:28:54 -0400 Received: from [192.168.10.10] (helo=thorin) by aybabtu.com with esmtp (Exim 4.69) (envelope-from ) id 1My2yH-0000Zd-HT for grub-devel@gnu.org; Wed, 14 Oct 2009 14:28:49 +0200 Received: from rmh by thorin with local (Exim 4.69) (envelope-from ) id 1My2yG-0007mS-TH for grub-devel@gnu.org; Wed, 14 Oct 2009 14:28:48 +0200 Date: Wed, 14 Oct 2009 14:28:48 +0200 From: Robert Millan To: grub-devel@gnu.org Message-ID: <20091014122848.GA29883@thorin> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="J/dobhs11T7y2rNN" Content-Disposition: inline Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.18 (2008-05-17) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Subject: [PATCH] Refer to kernel of FreeBSD as "kFreeBSD" X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Oct 2009 12:28:59 -0000 --J/dobhs11T7y2rNN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This fixes some confusing command names. They weren't present in 1.96, so I'd like to stabilize those before 1.97 release. Note: Some string lengths were hardcoded, and they're being replaced with sizeof() statements. I triple-checked them for off-by-one mistakes, but it doesn't hurt if someone else reviews it. Please avoid hardcoding constant string lengths! It makes it more error-prone to change those strings later. -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="kfreebsd.diff" 2009-10-14 Robert Millan Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between the Operating System (FreeBSD) and its kernel (kernel of FreeBSD). * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment from "kFreeBSD" namespace (rather than "FreeBSD"). Update all users. (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd", "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv" to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module", and "freebsd_module_elf" to "kfreebsd_module_elf". Update all users. Index: loader/i386/bsd.c =================================================================== --- loader/i386/bsd.c (revision 2629) +++ loader/i386/bsd.c (working copy) @@ -444,9 +444,9 @@ grub_freebsd_boot (void) auto int iterate_env (struct grub_env_var *var); int iterate_env (struct grub_env_var *var) { - if ((!grub_memcmp (var->name, "FreeBSD.", 8)) && (var->name[8])) + if ((!grub_memcmp (var->name, "kFreeBSD.", sizeof("kFreeBSD.") - 1)) && (var->name[sizeof("kFreeBSD.") - 1])) { - grub_strcpy (p, &var->name[8]); + grub_strcpy (p, &var->name[sizeof("kFreeBSD.") - 1]); p += grub_strlen (p); *(p++) = '='; grub_strcpy (p, var->value); @@ -1112,12 +1112,12 @@ grub_cmd_freebsd_loadenv (grub_command_t cmd __att if (*curr) { - char name[grub_strlen (curr) + 8 + 1]; + char name[grub_strlen (curr) + sizeof("kFreeBSD.")]; if (*p == '"') p++; - grub_sprintf (name, "FreeBSD.%s", curr); + grub_sprintf (name, "kFreeBSD.%s", curr); if (grub_env_set (name, p)) goto fail; } @@ -1252,26 +1252,26 @@ static grub_command_t cmd_freebsd_module_elf; GRUB_MOD_INIT (bsd) { - cmd_freebsd = grub_register_extcmd ("freebsd", grub_cmd_freebsd, + cmd_freebsd = grub_register_extcmd ("kfreebsd", grub_cmd_freebsd, GRUB_COMMAND_FLAG_BOTH, - "freebsd FILE", "Load kernel of FreeBSD.", + "kfreebsd FILE", "Load kernel of FreeBSD.", freebsd_opts); - cmd_openbsd = grub_register_extcmd ("openbsd", grub_cmd_openbsd, + cmd_openbsd = grub_register_extcmd ("kopenbsd", grub_cmd_openbsd, GRUB_COMMAND_FLAG_BOTH, - "openbsd FILE", "Load kernel of OpenBSD.", + "kopenbsd FILE", "Load kernel of OpenBSD.", openbsd_opts); - cmd_netbsd = grub_register_extcmd ("netbsd", grub_cmd_netbsd, + cmd_netbsd = grub_register_extcmd ("knetbsd", grub_cmd_netbsd, GRUB_COMMAND_FLAG_BOTH, - "netbsd FILE", "Load kernel of NetBSD.", + "knetbsd FILE", "Load kernel of NetBSD.", netbsd_opts); cmd_freebsd_loadenv = - grub_register_command ("freebsd_loadenv", grub_cmd_freebsd_loadenv, + grub_register_command ("kfreebsd_loadenv", grub_cmd_freebsd_loadenv, 0, "load FreeBSD env"); cmd_freebsd_module = - grub_register_command ("freebsd_module", grub_cmd_freebsd_module, + grub_register_command ("kfreebsd_module", grub_cmd_freebsd_module, 0, "load FreeBSD kernel module"); cmd_freebsd_module_elf = - grub_register_command ("freebsd_module_elf", grub_cmd_freebsd_module_elf, + grub_register_command ("kfreebsd_module_elf", grub_cmd_freebsd_module_elf, 0, "load FreeBSD kernel module (ELF)"); my_mod = mod; Index: util/grub.d/10_freebsd.in =================================================================== --- util/grub.d/10_freebsd.in (revision 2629) +++ util/grub.d/10_freebsd.in (working copy) @@ -60,17 +60,17 @@ menuentry "${OS}" { EOF prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/" cat << EOF - freebsd ${kfreebsd_rel_dirname}/${kfreebsd_basename} + kfreebsd ${kfreebsd_rel_dirname}/${kfreebsd_basename} EOF if [ x"$devices" != "x" ] ; then cat << EOF - freebsd_loadenv ${devices_rel_dirname}/${devices_basename} + kfreebsd_loadenv ${devices_rel_dirname}/${devices_basename} EOF fi cat << EOF - set FreeBSD.vfs.root.mountfrom=${kfreebsd_fs}:${GRUB_DEVICE} - set FreeBSD.vfs.root.mountfrom.options=rw + set kFreeBSD.vfs.root.mountfrom=${kfreebsd_fs}:${GRUB_DEVICE} + set kFreeBSD.vfs.root.mountfrom.options=rw } EOF fi --J/dobhs11T7y2rNN--