[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1302584470.26451.11.camel@x61.thuisdomein>
Date: Tue, 12 Apr 2011 07:01:10 +0200
From: Paul Bolle <pebolle@...cali.nl>
To: Michal Marek <mmarek@...e.cz>
Cc: "H. Peter Anvin" <hpa@...or.com>, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, x86@...nel.org
Subject: Re: [PATCH 09/34] x86: Allow to override the ROOT_DEV variable
On Mon, 2011-04-11 at 17:08 +0200, Michal Marek wrote:
> Subject: [PATCH] x86: Do not set the rood_dev field in bzImage
>
> This has been obsoleted by the root= commandline for several years.
> People who still depend on this will surely have a copy of the rdev
> command around, the rest of the world gets rid of another piece of
> buildhost-dependent data in the build.
>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Ingo Molnar <mingo@...hat.com>
> Cc: "H. Peter Anvin" <hpa@...or.com>
> Cc: x86@...nel.org
> Signed-off-by: Michal Marek <mmarek@...e.cz>
> ---
> arch/x86/boot/Makefile | 9 +--------
> 1 files changed, 1 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
> index f7cb086..95365a8 100644
> --- a/arch/x86/boot/Makefile
> +++ b/arch/x86/boot/Makefile
> @@ -9,12 +9,6 @@
> # Changed by many, many contributors over the years.
> #
>
> -# ROOT_DEV specifies the default root-device when making the image.
> -# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
> -# the default of FLOPPY is used by 'build'.
> -
> -ROOT_DEV := CURRENT
> -
> # If you want to preset the SVGA mode, uncomment the next line and
> # set SVGA_MODE to whatever number you want.
> # Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode.
> @@ -75,8 +69,7 @@ GCOV_PROFILE := n
> $(obj)/bzImage: asflags-y := $(SVGA_MODE)
>
> quiet_cmd_image = BUILD $@
> -cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \
> - $(ROOT_DEV) > $@
> +cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin > $@
>
> $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE
> $(call if_changed,image)
I'm not familiar with the rdev command. I assume it allows one to
manipulate the two rootdev bytes in a kernel image. Anyhow, shouldn't
the above patch be complemented with something like the following?
diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c
index ee3a4ea..fdc60a0 100644
--- a/arch/x86/boot/tools/build.c
+++ b/arch/x86/boot/tools/build.c
@@ -130,7 +130,7 @@ static void die(const char * str, ...)
static void usage(void)
{
- die("Usage: build setup system [rootdev] [> image]");
+ die("Usage: build setup system [> image]");
}
int main(int argc, char ** argv)
@@ -138,39 +138,14 @@ int main(int argc, char ** argv)
unsigned int i, sz, setup_sectors;
int c;
u32 sys_size;
- u8 major_root, minor_root;
struct stat sb;
FILE *file;
int fd;
void *kernel;
u32 crc = 0xffffffffUL;
- if ((argc < 3) || (argc > 4))
+ if (argc != 3)
usage();
- if (argc > 3) {
- if (!strcmp(argv[3], "CURRENT")) {
- if (stat("/", &sb)) {
- perror("/");
- die("Couldn't stat /");
- }
- major_root = major(sb.st_dev);
- minor_root = minor(sb.st_dev);
- } else if (strcmp(argv[3], "FLOPPY")) {
- if (stat(argv[3], &sb)) {
- perror(argv[3]);
- die("Couldn't stat root device.");
- }
- major_root = major(sb.st_rdev);
- minor_root = minor(sb.st_rdev);
- } else {
- major_root = 0;
- minor_root = 0;
- }
- } else {
- major_root = DEFAULT_MAJOR_ROOT;
- minor_root = DEFAULT_MINOR_ROOT;
- }
- fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
/* Copy the setup code */
file = fopen(argv[1], "r");
@@ -193,8 +168,8 @@ int main(int argc, char ** argv)
memset(buf+c, 0, i-c);
/* Set the default root device */
- buf[508] = minor_root;
- buf[509] = major_root;
+ buf[508] = DEFAULT_MINOR_ROOT;
+ buf[509] = DEFAULT_MAJOR_ROOT;
fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i);
--
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