Commit 54e11304 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 build changes from Ingo Molnar:
 "Two small changes"

* 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86, defconfig: Add DEVTMPFS and DEVTMPFS_MOUNT to *86*_defconfig
  x86, build: move build output statistics away from stderr
parents 014d595c 7f71be4c
...@@ -71,7 +71,8 @@ GCOV_PROFILE := n ...@@ -71,7 +71,8 @@ GCOV_PROFILE := n
$(obj)/bzImage: asflags-y := $(SVGA_MODE) $(obj)/bzImage: asflags-y := $(SVGA_MODE)
quiet_cmd_image = BUILD $@ quiet_cmd_image = BUILD $@
cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/zoffset.h > $@ cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \
$(obj)/zoffset.h $@
$(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE
$(call if_changed,image) $(call if_changed,image)
......
...@@ -5,14 +5,15 @@ ...@@ -5,14 +5,15 @@
*/ */
/* /*
* This file builds a disk-image from two different files: * This file builds a disk-image from three different files:
* *
* - setup: 8086 machine code, sets up system parm * - setup: 8086 machine code, sets up system parm
* - system: 80386 code for actual system * - system: 80386 code for actual system
* - zoffset.h: header with ZO_* defines
* *
* It does some checking that all files are of the correct type, and * It does some checking that all files are of the correct type, and writes
* just writes the result to stdout, removing headers and padding to * the result to the specified destination, removing headers and padding to
* the right amount. It also writes some system data to stderr. * the right amount. It also writes some system data to stdout.
*/ */
/* /*
...@@ -136,7 +137,7 @@ static void die(const char * str, ...) ...@@ -136,7 +137,7 @@ static void die(const char * str, ...)
static void usage(void) static void usage(void)
{ {
die("Usage: build setup system [zoffset.h] [> image]"); die("Usage: build setup system zoffset.h image");
} }
#ifdef CONFIG_EFI_STUB #ifdef CONFIG_EFI_STUB
...@@ -265,7 +266,7 @@ int main(int argc, char ** argv) ...@@ -265,7 +266,7 @@ int main(int argc, char ** argv)
int c; int c;
u32 sys_size; u32 sys_size;
struct stat sb; struct stat sb;
FILE *file; FILE *file, *dest;
int fd; int fd;
void *kernel; void *kernel;
u32 crc = 0xffffffffUL; u32 crc = 0xffffffffUL;
...@@ -280,10 +281,13 @@ int main(int argc, char ** argv) ...@@ -280,10 +281,13 @@ int main(int argc, char ** argv)
startup_64 = 0x200; startup_64 = 0x200;
#endif #endif
if (argc == 4) if (argc != 5)
parse_zoffset(argv[3]);
else if (argc != 3)
usage(); usage();
parse_zoffset(argv[3]);
dest = fopen(argv[4], "w");
if (!dest)
die("Unable to write `%s': %m", argv[4]);
/* Copy the setup code */ /* Copy the setup code */
file = fopen(argv[1], "r"); file = fopen(argv[1], "r");
...@@ -318,7 +322,7 @@ int main(int argc, char ** argv) ...@@ -318,7 +322,7 @@ int main(int argc, char ** argv)
/* Set the default root device */ /* Set the default root device */
put_unaligned_le16(DEFAULT_ROOT_DEV, &buf[508]); put_unaligned_le16(DEFAULT_ROOT_DEV, &buf[508]);
fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i); printf("Setup is %d bytes (padded to %d bytes).\n", c, i);
/* Open and stat the kernel file */ /* Open and stat the kernel file */
fd = open(argv[2], O_RDONLY); fd = open(argv[2], O_RDONLY);
...@@ -327,7 +331,7 @@ int main(int argc, char ** argv) ...@@ -327,7 +331,7 @@ int main(int argc, char ** argv)
if (fstat(fd, &sb)) if (fstat(fd, &sb))
die("Unable to stat `%s': %m", argv[2]); die("Unable to stat `%s': %m", argv[2]);
sz = sb.st_size; sz = sb.st_size;
fprintf (stderr, "System is %d kB\n", (sz+1023)/1024); printf("System is %d kB\n", (sz+1023)/1024);
kernel = mmap(NULL, sz, PROT_READ, MAP_SHARED, fd, 0); kernel = mmap(NULL, sz, PROT_READ, MAP_SHARED, fd, 0);
if (kernel == MAP_FAILED) if (kernel == MAP_FAILED)
die("Unable to mmap '%s': %m", argv[2]); die("Unable to mmap '%s': %m", argv[2]);
...@@ -348,27 +352,31 @@ int main(int argc, char ** argv) ...@@ -348,27 +352,31 @@ int main(int argc, char ** argv)
#endif #endif
crc = partial_crc32(buf, i, crc); crc = partial_crc32(buf, i, crc);
if (fwrite(buf, 1, i, stdout) != i) if (fwrite(buf, 1, i, dest) != i)
die("Writing setup failed"); die("Writing setup failed");
/* Copy the kernel code */ /* Copy the kernel code */
crc = partial_crc32(kernel, sz, crc); crc = partial_crc32(kernel, sz, crc);
if (fwrite(kernel, 1, sz, stdout) != sz) if (fwrite(kernel, 1, sz, dest) != sz)
die("Writing kernel failed"); die("Writing kernel failed");
/* Add padding leaving 4 bytes for the checksum */ /* Add padding leaving 4 bytes for the checksum */
while (sz++ < (sys_size*16) - 4) { while (sz++ < (sys_size*16) - 4) {
crc = partial_crc32_one('\0', crc); crc = partial_crc32_one('\0', crc);
if (fwrite("\0", 1, 1, stdout) != 1) if (fwrite("\0", 1, 1, dest) != 1)
die("Writing padding failed"); die("Writing padding failed");
} }
/* Write the CRC */ /* Write the CRC */
fprintf(stderr, "CRC %x\n", crc); printf("CRC %x\n", crc);
put_unaligned_le32(crc, buf); put_unaligned_le32(crc, buf);
if (fwrite(buf, 1, 4, stdout) != 4) if (fwrite(buf, 1, 4, dest) != 4)
die("Writing CRC failed"); die("Writing CRC failed");
/* Catch any delayed write failures */
if (fclose(dest))
die("Writing image failed");
close(fd); close(fd);
/* Everything is OK */ /* Everything is OK */
......
...@@ -142,6 +142,8 @@ CONFIG_MAC80211=y ...@@ -142,6 +142,8 @@ CONFIG_MAC80211=y
CONFIG_MAC80211_LEDS=y CONFIG_MAC80211_LEDS=y
CONFIG_RFKILL=y CONFIG_RFKILL=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEBUG_DEVRES=y CONFIG_DEBUG_DEVRES=y
CONFIG_CONNECTOR=y CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
......
...@@ -141,6 +141,8 @@ CONFIG_MAC80211=y ...@@ -141,6 +141,8 @@ CONFIG_MAC80211=y
CONFIG_MAC80211_LEDS=y CONFIG_MAC80211_LEDS=y
CONFIG_RFKILL=y CONFIG_RFKILL=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEBUG_DEVRES=y CONFIG_DEBUG_DEVRES=y
CONFIG_CONNECTOR=y CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment