Commit 1b6f6b13 authored by Ryan Jackson's avatar Ryan Jackson

Update of Linux MFS to kernel 2.6.32.9, etc.

The following components of the Linux MFS were updated:

Linux kernel => 2.6.32.9
buildroot => 2010.02
uClibc => 0.9.30.2
busybox => 1.16.0
binutils => 2.20
gcc => 4.2.4
gmp => 4.2.4

The Dell Optiplex reboot patch was removed from the kernel build as it
is already present in 2.6.32.9.

The update was done because:
- The kernel was over a year old and significant updates have happened
  since then.
- A few new useful features were added to busybox
- The kernel now supports bzip2 and lzma compression for itself and
  initramfs in addition to gzip.  Using lzma instead of gzip saves us at
  least 1.5 MB for the kernel+initramfs, possibly more.
parent 04dc2999
......@@ -4,7 +4,8 @@ TARGET_PATH = $(PWD)/target
TARGET_BUILD_PATH = $(PWD)/build
SCRIPTS_PATH = $(PWD)/scripts
INITRAMFS_PATH = $(PWD)/initramfs.tmp
BUILDROOT_PATH = $(PWD)/buildroot
BUILDROOT_VERSION = 2010.02
BUILDROOT_PATH = $(PWD)/buildroot-$(BUILDROOT_VERSION)
FAKEROOT_ENVIRONMENT = $(PWD)/fs_fakeroot.env
STAGING_DIR = $(PWD)/buildroot/build_$(MFS_ARCH)/staging_dir
BOOT_PATH = $(PWD)/boot
......@@ -68,7 +69,7 @@ $(INSTALL_MODULES):
$(TARGET_PATH)/lib/libc.so.0:
mkdir -p $(TARGET_PATH)/lib
cp -dpR $(BUILDROOT_PATH)/project_build_$(MFS_ARCH)/uclibc/root/lib/* $(TARGET_PATH)/lib
cp -dpR $(BUILDROOT_PATH)/output/target/lib/* $(TARGET_PATH)/lib
uclibc-install: $(TARGET_PATH)/lib/libc.so.0
......
......@@ -4,4 +4,4 @@ TARGET="$1"
INITRAMFS="$2"
cd "$TARGET"
find . -print | cpio --quiet -H newc -o | gzip -c -9 > "$INITRAMFS"
find . -print | cpio --quiet -H newc -o | lzma -c -9 > "$INITRAMFS"
include ../../variables.mk
BUSYBOX_CONFIG = $(SOURCE_PATH)/busybox/busybox.config
BUSYBOX_VERSION = 1.13.1
BUSYBOX_VERSION = 1.16.0
BUSYBOX_PATH = $(TARGET_BUILD_PATH)/busybox-$(BUSYBOX_VERSION)
.PHONY: extract patch config busybox
......
This diff is collapsed.
--- busybox-1.13.1/miscutils/crond.c Sun Nov 9 18:28:17 2008
+++ busybox-1.13.1-crond/miscutils/crond.c Thu Dec 4 14:56:10 2008
@@ -779,6 +779,8 @@
xmove_fd(mailFd, mail_filename ? 1 : 0);
dup2(1, 2);
}
+ /* crond 3.0pl1-100 puts tasks in separate process groups */
+ bb_setpgrp();
execlp(prog, prog, cmd, arg, NULL);
crondlog(ERR20 "can't exec, user %s cmd %s %s %s", user, prog, cmd, arg);
if (mail_filename) {
@@ -914,6 +916,8 @@
if (DebugOpt) {
crondlog(LVL5 "child running %s", DEFAULT_SHELL);
}
+ /* crond 3.0pl1-100 puts tasks in separate process groups */
+ bb_setpgrp();
execl(DEFAULT_SHELL, DEFAULT_SHELL, "-c", line->cl_Shell, NULL);
crondlog(ERR20 "can't exec, user %s cmd %s %s %s", user,
DEFAULT_SHELL, "-c", line->cl_Shell);
--- busybox-1.13.1/init/init.c Sat Nov 29 07:48:56 2008
+++ busybox-1.13.1-init/init/init.c Tue Dec 9 22:17:43 2008
@@ -118,18 +118,18 @@
msg[0] = '\r';
va_start(arguments, fmt);
- l = vsnprintf(msg + 1, sizeof(msg) - 2, fmt, arguments);
- if (l > sizeof(msg) - 2)
- l = sizeof(msg) - 2;
+ l = 1 + vsnprintf(msg + 1, sizeof(msg) - 2, fmt, arguments);
+ if (l > sizeof(msg) - 1)
+ l = sizeof(msg) - 1;
msg[l] = '\0';
va_end(arguments);
if (ENABLE_FEATURE_INIT_SYSLOG) {
- /* Log the message to syslogd */
if (where & L_LOG) {
- /* don't print out "\r" */
- openlog(applet_name, 0, LOG_DAEMON);
- syslog(LOG_INFO, "init: %s", msg + 1);
+ /* Log the message to syslogd */
+ openlog("init", 0, LOG_DAEMON);
+ /* don't print "\r" */
+ syslog(LOG_INFO, "%s", msg + 1);
closelog();
}
msg[l++] = '\n';
--- busybox-1.13.1/networking/ip.c Sun Nov 9 18:27:59 2008
+++ busybox-1.13.1-ip/networking/ip.c Thu Dec 4 13:16:29 2008
@@ -31,7 +31,7 @@
static int ip_do(int (*ip_func)(char **argv), char **argv)
{
- argv = ip_parse_common_args(argv);
+ argv = ip_parse_common_args(argv + 1);
return ip_func(argv);
}
--- busybox-1.13.1/coreutils/printf.c Sun Nov 9 18:28:07 2008
+++ busybox-1.13.1-printf/coreutils/printf.c Wed Dec 10 12:50:55 2008
@@ -359,8 +359,15 @@
* We will mimic coreutils. */
if (argv[1] && argv[1][0] == '-' && argv[1][1] == '-' && !argv[1][2])
argv++;
- if (!argv[1])
+ if (!argv[1]) {
+ if (ENABLE_ASH_BUILTIN_PRINTF
+ && applet_name[0] != 'p'
+ ) {
+ bb_error_msg("usage: printf FORMAT [ARGUMENT...]");
+ return 2; /* bash compat */
+ }
bb_show_usage();
+ }
format = argv[1];
argv2 = argv + 2;
diff -urpN busybox-1.16.0/shell/ash.c busybox-1.16.0-ash/shell/ash.c
--- busybox-1.16.0/shell/ash.c 2010-01-25 01:59:38.000000000 +0100
+++ busybox-1.16.0-ash/shell/ash.c 2010-02-21 01:52:22.000000000 +0100
@@ -4539,7 +4539,7 @@ forkchild(struct job *jp, union node *n,
if (mode == FORK_NOJOB /* is it `xxx` ? */
&& n && n->type == NCMD /* is it single cmd? */
/* && n->ncmd.args->type == NARG - always true? */
- && strcmp(n->ncmd.args->narg.text, "trap") == 0
+ && n->ncmd.args && strcmp(n->ncmd.args->narg.text, "trap") == 0
&& n->ncmd.args->narg.next == NULL /* "trap" with no arguments */
/* && n->ncmd.args->narg.backquote == NULL - do we need to check this? */
) {
@@ -4627,7 +4627,7 @@ forkchild(struct job *jp, union node *n,
}
#if JOBS
if (n && n->type == NCMD
- && strcmp(n->ncmd.args->narg.text, "jobs") == 0
+ && n->ncmd.args && strcmp(n->ncmd.args->narg.text, "jobs") == 0
) {
TRACE(("Job hack\n"));
/* "jobs": we do not want to clear job list for it,
diff -urpN busybox-1.16.0/shell/ash_test/ash-misc/nulltick1.right busybox-1.16.0-ash/shell/ash_test/ash-misc/nulltick1.right
--- busybox-1.16.0/shell/ash_test/ash-misc/nulltick1.right 1970-01-01 01:00:00.000000000 +0100
+++ busybox-1.16.0-ash/shell/ash_test/ash-misc/nulltick1.right 2010-02-21 01:52:22.000000000 +0100
@@ -0,0 +1,3 @@
+Test 1
+Test 2
+Done
diff -urpN busybox-1.16.0/shell/ash_test/ash-misc/nulltick1.tests busybox-1.16.0-ash/shell/ash_test/ash-misc/nulltick1.tests
--- busybox-1.16.0/shell/ash_test/ash-misc/nulltick1.tests 1970-01-01 01:00:00.000000000 +0100
+++ busybox-1.16.0-ash/shell/ash_test/ash-misc/nulltick1.tests 2010-02-21 01:52:22.000000000 +0100
@@ -0,0 +1,3 @@
+echo Test ` ` 1
+echo Test `</dev/null` 2
+echo Done
This diff is collapsed.
This diff is collapsed.
diff -urpN busybox-1.16.0/util-linux/volume_id/linux_swap.c busybox-1.16.0-linux_swap/util-linux/volume_id/linux_swap.c
--- busybox-1.16.0/util-linux/volume_id/linux_swap.c 2010-01-25 01:59:39.000000000 +0100
+++ busybox-1.16.0-linux_swap/util-linux/volume_id/linux_swap.c 2010-02-21 01:53:21.000000000 +0100
@@ -52,7 +52,11 @@ int FAST_FUNC volume_id_probe_linux_swap
goto found;
}
- if (memcmp(buf, "SWAPSPACE2", 10) == 0) {
+ if (memcmp(buf, "SWAPSPACE2", 10) == 0
+ || memcmp(buf, "S1SUSPEND", 9) == 0
+ || memcmp(buf, "S2SUSPEND", 9) == 0
+ || memcmp(buf, "ULSUSPEND", 9) == 0
+ ) {
sw = volume_id_get_buffer(id, off, sizeof(struct swap_header_v1_2));
if (sw == NULL)
return -1;
diff -urpN busybox-1.16.0/coreutils/md5_sha1_sum.c busybox-1.16.0-md5_sha_compat/coreutils/md5_sha1_sum.c
--- busybox-1.16.0/coreutils/md5_sha1_sum.c 2010-01-25 01:59:38.000000000 +0100
+++ busybox-1.16.0-md5_sha_compat/coreutils/md5_sha1_sum.c 2010-02-21 01:53:28.000000000 +0100
@@ -101,8 +101,10 @@ int md5_sha1_sum_main(int argc UNUSED_PA
unsigned flags;
/*hash_algo_t hash_algo = applet_name[3];*/
- if (ENABLE_FEATURE_MD5_SHA1_SUM_CHECK)
- flags = getopt32(argv, "scw");
+ if (ENABLE_FEATURE_MD5_SHA1_SUM_CHECK) {
+ /* -b "binary", -t "text" are ignored (shaNNNsum compat) */
+ flags = getopt32(argv, "scwbt");
+ }
else optind = 1;
argv += optind;
//argc -= optind;
diff -urpN busybox-1.16.0/sysklogd/syslogd.c busybox-1.16.0-syslogd/sysklogd/syslogd.c
--- busybox-1.16.0/sysklogd/syslogd.c 2010-01-25 01:59:38.000000000 +0100
+++ busybox-1.16.0-syslogd/sysklogd/syslogd.c 2010-02-21 01:53:33.000000000 +0100
@@ -698,7 +698,7 @@ int syslogd_main(int argc UNUSED_PARAM,
if (!(opts & OPT_nofork)) {
bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv);
}
- umask(0);
+ //umask(0); - why??
write_pidfile("/var/run/syslogd.pid");
do_syslogd();
/* return EXIT_SUCCESS; */
diff -urpN busybox-1.16.0/networking/tftp.c busybox-1.16.0-tftp/networking/tftp.c
--- busybox-1.16.0/networking/tftp.c 2010-01-25 01:59:38.000000000 +0100
+++ busybox-1.16.0-tftp/networking/tftp.c 2010-02-21 01:53:41.000000000 +0100
@@ -308,7 +308,7 @@ static int tftp_protocol(
if (!ENABLE_TFTP || our_lsa) { /* tftpd */
/* Open file (must be after changing user) */
- local_fd = open(local_file, open_mode);
+ local_fd = open(local_file, open_mode, 0666);
if (local_fd < 0) {
error_pkt_reason = ERR_NOFILE;
strcpy((char*)error_pkt_str, "can't open file");
This diff is collapsed.
diff -urpN busybox-1.16.0/networking/wget.c busybox-1.16.0-wget/networking/wget.c
--- busybox-1.16.0/networking/wget.c 2010-01-25 01:59:38.000000000 +0100
+++ busybox-1.16.0-wget/networking/wget.c 2010-02-21 01:53:53.000000000 +0100
@@ -546,6 +546,8 @@ int wget_main(int argc UNUSED_PARAM, cha
"passive-ftp\0" No_argument "\xff"
"header\0" Required_argument "\xfe"
"post-data\0" Required_argument "\xfd"
+ /* Ignored (we don't do ssl) */
+ "no-check-certificate\0" No_argument "\xfc"
;
#endif
@@ -590,6 +592,7 @@ int wget_main(int argc UNUSED_PARAM, cha
if (use_proxy) {
proxy = getenv(target.is_ftp ? "ftp_proxy" : "http_proxy");
if (proxy && proxy[0]) {
+ server.user = NULL;
parse_url(proxy, &server);
} else {
use_proxy = 0;
This diff is collapsed.
......@@ -71,6 +71,7 @@ $(ETHTOOL_PATH)/ethtool: $(ETHTOOL_PATH)/.config-stamp
$(TARGET_PATH)/usr/sbin/ethtool: $(ETHTOOL_PATH)/ethtool
install -d -m 755 $(TARGET_PATH)/usr
install -d -m 755 $(TARGET_PATH)/usr/bin
mkdir -p $(TARGET_PATH)/usr/sbin
install -m 755 $(ETHTOOL_PATH)/ethtool \
$(TARGET_PATH)/usr/sbin/ethtool
$(STRIPCMD) --strip-unneeded $(TARGET_PATH)/usr/sbin/ethtool
......
include ../../variables.mk
LINUX_VERSION = 2.6.27.8
LINUX_VERSION = 2.6.32.9
LINUX_PATH = $(TARGET_BUILD_PATH)/linux-$(LINUX_VERSION)
KERNEL_CONFIG = $(SOURCE_PATH)/linux/linux.config.$(MFS_ARCH)
......
--- linux-2.6.23.i686/arch/x86/kernel/reboot.c~ 2008-02-29 10:06:46.000000000 -0700
+++ linux-2.6.23.i686/arch/x86/kernel/reboot.c 2008-02-29 10:05:50.000000000 -0700
@@ -122,6 +122,15 @@
DMI_MATCH(DMI_BOARD_NAME, "0WF810"),
},
},
+ { /* Handle problems with rebooting on Dell Optiplex 745's SFF*/
+ .callback = set_bios_reboot,
+ .ident = "Dell OptiPlex 745",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
+ DMI_MATCH(DMI_BOARD_NAME, "0RF703"),
+ },
+ },
{ /* Handle problems with rebooting on Dell 2400's */
.callback = set_bios_reboot,
.ident = "Dell PowerEdge 2400",
......@@ -28,6 +28,7 @@ install: $(PORTMAP_PATH)/portmap
install -m 755 $(PORTMAP_PATH)/portmap $(TARGET_PATH)/sbin
install -m 755 $(PORTMAP_PATH)/pmap_dump $(TARGET_PATH)/sbin
install -m 755 $(PORTMAP_PATH)/pmap_set $(TARGET_PATH)/sbin
mkdir -p $(TARGET_PATH)/etc/init.d
install -m 755 $(SOURCE_PATH)/portmap/S45portmap \
$(TARGET_PATH)/etc/init.d
$(STRIPCMD) --strip-unneeded $(TARGET_PATH)/sbin/portmap
......
include ../../variables.mk
BUILDROOT_CONFIG = $(SOURCE_PATH)/buildroot/buildroot.config.$(MFS_ARCH)
BUILDROOT_VERSION = 20081211
.PHONY: extract patch config toolchain
.PHONY: all clean
......@@ -36,8 +35,9 @@ $(BUILDROOT_PATH)/.patch-stamp: $(BUILDROOT_PATH)/.extract-stamp
$(BUILDROOT_PATH)/.config-stamp: $(BUILDROOT_PATH)/.patch-stamp
cp $(BUILDROOT_CONFIG) $(BUILDROOT_PATH)/.config
$(MAKE) -C $(BUILDROOT_PATH) oldconfig
rmdir $(BUILDROOT_PATH)/dl || true
ln -s $(TARBALL_PATH) $(BUILDROOT_PATH)/dl
mkdir -p $(BUILDROOT_PATH)/output
rmdir $(BUILDROOT_PATH)/output/dl || true
ln -s $(TARBALL_PATH) $(BUILDROOT_PATH)/output/dl
PATH=$(STAGING_DIR)/usr/bin:$(PATH) $(MAKE) -C $(BUILDROOT_PATH) oldconfig
touch $@
......
This diff is collapsed.
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