Skip to content

Commit

Permalink
x86, build: Do not set the root_dev field in bzImage
Browse files Browse the repository at this point in the history
This has been obsoleted by the root= commandline and the rdev utility
for many, many years.  People who still depend on this will surely
have a copy of the rdev utility around, the rest of the world gets rid
of another piece of buildhost-dependent data in the build. Thanks to
Paul Bolle for the build.c cleanup.

Cc: Paul Bolle <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: H. Peter Anvin <[email protected]>
  • Loading branch information
michal42 authored and H. Peter Anvin committed May 25, 2011
1 parent 61c4f2c commit 079f85e
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 37 deletions.
9 changes: 1 addition & 8 deletions arch/x86/boot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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)
Expand Down
33 changes: 4 additions & 29 deletions arch/x86/boot/tools/build.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,47 +130,22 @@ 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)
{
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");
Expand All @@ -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);

Expand Down

0 comments on commit 079f85e

Please sign in to comment.