Re: linuxboot 4.9 problems

Jason Oster <[email protected]>
Newsgroups gmane.comp.windows.unattended.devel
Message-ID <[email protected]>
On 05/19/2010 01:58 PM, Jason Oster wrote:
> Hi list,
>[snip]
>
> Seems like a cross-compiling problem! According to [1] "If you specify
> just ‘--build’, |configure| will get confused." So I changed it to use
> --host in the Makefile. To cross-compile gclibc properly, the -m32
> argument must be passed to gcc. After that, I hit another problem [2].
> Finally, I came up with the attached patch. (Yeah, it's ugly ... I tried
> setting those options in CFLAGS and CXXFLAGS where they belong, but it
> doesn't work ... ?!)
>
> I'm curious what else needs some similar cross-compiler fixes to get
> linuxboot to build properly?
>
>
> Finally, I tried the linuxboot-4.9 iso from SF. The kernel won't boot
> from the CD on a Dell Inspiron 400 (Zino HD); it says "cannot find
> `image`" or some similar error. That's why I was trying to build my own. ;(
>
> [1]
> http://www.gnu.org/s/libc/manual/html_node/Configuring-and-compiling.html
> [2] http://ubuntuforums.org/showthread.php?t=1001811

Update on this, for the list;

I've successfully built linuxboot, now.  I ran into a DOSEMU bug [1], 
and including that patch in the Makefile worked.  I also updated my 
patch to place the -m32 flag into the CC and CXX vars.  All of that is 
attached.

Some other fixes that went into this patch include:

* Missing menu.c32 in the final iso
* Remove *.tmp files on the tidy target
* Set the CXX variable when building libusb (else the link will fail 
because it compiles C++ for the native architecture)


That gets the whole thing to completion (assuming you have all of the 
build dependencies!  I was missing some 32-bit libs, libsndfile, 
g++-multilib, ...)


Hmm, do you really want menu.s32?  It's ugly and silly that it makes you 
press enter instead of just booting the kernel automagically.

------------------------------------------------------------------------------

_______________________________________________
unattended-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unattended-devel
unattended-linuxboot_crosscompile.patch (text/x-patch, 16.8 KB)
diff --git a/trunk/linuxboot/Makefile b/trunk/linuxboot/Makefile
--- a/trunk/linuxboot/Makefile
+++ b/trunk/linuxboot/Makefile
@@ -44,18 +44,18 @@ cwd:=$(shell pwd)
 packages=$(bash) $(busybox) $(convert-asn1) $(dbd-mysql) $(dbd-pgpp) $(dbi) \
 	$(dmidecode) $(dosemu) $(e2fsprogs) $(expat) $(glibc) $(kbd)	\
 	$(linux)  $(module-init-tools) $(mysql) $(nano)	\
 	$(ncurses) $(parted) $(perl) $(perl-ldap) $(perl-xml-parser)	\
 	$(perl-xml-xpath) $(pciutils) $(pmtools)		\
 	$(samba) $(slang) $(syslinux) $(libusb) $(usbutils)	\
 	$(wireless_tools) $(zlib) 
 
-CC=gcc
-CXX=g++
+CC=gcc -m32
+CXX=g++ -m32
 
 # Debian/Ubuntu systems likely use genisoimage to create iso files
 # otherwise try to use mkisofs
 ifneq ("$(strip $(wildcard /usr/bin/genisoimage))","")
   mkisofs=genisoimage
 else
   mkisofs=mkisofs
 endif
@@ -92,57 +92,57 @@ copy_lib=							\
 	build-$(glibc)/elf/ldconfig -r stage1
 
 all: iso tftpboot
 
 
 ## module-init-tools (depmod et. al.)
 
 $(module-init-tools)/build/depmod:
-	cd $(module-init-tools) && CC=$(CC) ./configure --prefix=/ 	\
+	cd $(module-init-tools) && CC="$(CC)" ./configure --prefix=/ 	\
 		--build=i586-linux && $(MAKE)
 	[ -e $@ ]
 
 stage1/sbin/depmod: $(module-init-tools)/build/depmod
 	$(MAKE) -C $(module-init-tools) DESTDIR=$(cwd)/stage1 install
 	rm stage1/sbin/insmod.static
 	[ -e $@ ]
 
 stage1 += stage1/sbin/depmod
 
 
 ## Linux
 
 $(linux)/.config: misc/linux-config
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(linux) mrproper
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(linux) mrproper
 	cp -f $< $@
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(linux) ARCH=i386 oldconfig
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(linux) ARCH=i386 oldconfig
 
 $(linux)/arch/x86/boot/bzImage: $(linux)/.config
 	rm -f $@
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(linux) ARCH=i386
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(linux) INSTALL_HDR_PATH=dest ARCH=i386 headers_install  
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(linux) ARCH=i386
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(linux) INSTALL_HDR_PATH=dest ARCH=i386 headers_install  
 	[ -e $@ ]
 
 stage1/.stamp-modules: $(linux)/arch/x86/boot/bzImage stage1/sbin/depmod
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(linux)		\
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(linux)		\
 			    INSTALL_MOD_PATH=$(cwd)/stage1	\
 			    DEPMOD=$(cwd)/stage1/sbin/depmod	\
 			    ARCH=i386				\
 			    modules_install
 	touch $@
 
 stage1 += stage1/.stamp-modules
 
 ## bash
 ## FIXME configure loading emacs shared files from system
 
 $(bash)/bash: fakeinclude/stdio.h
 	cd $(bash)							\
-	&& CC=$(CC) CFLAGS="$(fakelib_cflags)"				\
+	&& CC="$(CC)" CFLAGS="$(fakelib_cflags)"				\
 		bash_cv_termcap_lib=gnutermcap ./configure --prefix=/	\
 		--build=i586-linux					\
 	&& $(MAKE)
 	[ -e $@ ] && touch $@
 
 $(call copy_exe, $(bash)/bash, stage1/bin/bash)
 
 stage1/bin/sh: stage1/bin/bash
@@ -154,46 +154,50 @@ stage1 += stage1/bin/bash stage1/bin/sh
 ## BusyBox
 # This patch makes udhcpc fetch option 233 from the dhcp server
 $(busybox)/.stamp-busybox-patch: misc/busybox-patch
 	cd $(busybox) && patch -b -p1 < $(cwd)/$<
 	touch $@
 
 $(busybox)/.config: misc/busybox-config $(busybox)/.stamp-busybox-patch 
 	cp -f $< $@
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(busybox) oldconfig
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(busybox) oldconfig
 
 # BusyBox has some broken dependencies (changing CONFIG_INIT to off
 # does not rebuild reboot.o), hence the "make clean" here.
 $(busybox)/busybox: $(busybox)/.config fakeinclude/stdio.h
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(busybox) clean
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(busybox) CFLAGS_EXTRA="$(fakelib_cflags)" LDFLAGS="$(fakelib_cflags)"
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(busybox) clean
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(busybox) CFLAGS_EXTRA="$(fakelib_cflags)" LDFLAGS="$(fakelib_cflags)"
 
 stage1/bin/busybox: $(busybox)/busybox
-	$(MAKE) CC=$(CC) HOSTCC=$(CC) -C $(busybox) CONFIG_PREFIX=$(cwd)/stage1 install
+	$(MAKE) CC="$(CC)" HOSTCC="$(CC)" -C $(busybox) CONFIG_PREFIX=$(cwd)/stage1 install
 	cmp $< $@
 
 stage1 += stage1/bin/busybox
 
 ## dmidecode
 $(dmidecode)/dmidecode:
-	$(MAKE) CC=$(CC) -C $(dir $@)
+	$(MAKE) CC="$(CC)" -C $(dir $@)
 	[ -e $@ ]
 
 $(call copy_exe,$(dmidecode)/dmidecode,stage1/usr/sbin/dmidecode)
 stage1 += stage1/usr/sbin/dmidecode
 
 $(dosemu)/.stamp-dosemu-nolock-patch: misc/dosemu-nolock-patch
 	cd $(dosemu) && patch -b -p1 < $(cwd)/$<
 	touch $@
 
 $(dosemu)/.stamp-dosemu-configure-patch: misc/dosemu-configure-patch
 	cd $(dosemu) && patch -b -p1 < $(cwd)/$<
 	touch $@
 
+$(dosemu)/.stamp-dosemu-dexeconfig-patch: misc/dosemu-dexeconfig-patch
+	cd $(dosemu) && patch -b -p1 < $(cwd)/$<
+	touch $@
+
 fakeinclude/slang.h: $(slang)/src/slang.h
 	mkdir -p $(dir $@)
 	cp $< $@
 	[ -e $@ ] && touch $@
 
 $(slang)/src/objs/libslang.a: stage1/lib/libdl.so $(slang)/configure
 	rm -f $@
 	cd $(slang)						\
@@ -207,16 +211,17 @@ fakeinclude/slang.h: $(slang)/src/slang.
 	fakelib/libslang.a)
 
 # dosemu:
 # - use slang of build environment (not system's one): patched 
 #   configure script to create our custom options (--with-slangdir 
 #   option does not work for us).
 build-$(dosemu)/config.status: $(dosemu)/.stamp-dosemu-nolock-patch	\
 			$(dosemu)/.stamp-dosemu-configure-patch		\
+			$(dosemu)/.stamp-dosemu-dexeconfig-patch		\
 			$(dosemu)/configure fakelib/libslang.a		\
 			fakeinclude/slang.h
 	rm -f $@
 	mkdir -p $(dir $@)
 	cd $(dir $@)							\
 	&& CC="$(CC) $(fakelib_cflags)" $(cwd)/$(dosemu)/configure	\
 		--with-slang-inc=$(cwd)/fakeinclude			\
 		--with-slang-lib=$(cwd)/fakelib				\
@@ -288,17 +293,17 @@ stage1/var/lib/dosemu/drives/dosboot.img
 	rm $$tmpfile
 	mv [email protected] $@
 
 stage1 += stage1/var/lib/dosemu/drives/dosboot.img
 
 ## e2fsprogs (just libuuid.so, required for parted)
 $(e2fsprogs)/lib/libuuid.so:
 	cd $(e2fsprogs)							\
-	&& CC=$(CC) ./configure --enable-elf-shlibs --build=i586-linux	\
+	&& CC="$(CC)" ./configure --enable-elf-shlibs --build=i586-linux	\
 	&& $(MAKE)
 	[ -e $@ ]
 
 $(call copy_lib,$(e2fsprogs)/lib/libuuid.so,stage1/lib/libuuid.so)
 
 stage1 += stage1/lib/libuuid.so
 
 $(glibc)/.stamp-glibc-gen-translit.pl-patch:
@@ -306,25 +311,26 @@ stage1 += stage1/lib/libuuid.so
 	touch $@
 
 ## glibc
 # Configure switches cheerfully stolen from LFS project
 # (http://www.linuxfromscratch.org/lfs/view/development/chapter05/glibc.html).
 build-$(glibc)/libc.so: $(linux)/arch/x86/boot/bzImage	\
 			$(glibc)/.stamp-glibc-gen-translit.pl-patch
 	mkdir -p build-$(glibc)
-	cd build-$(glibc) && CC=$(CC) $(cwd)/$(glibc)/configure	\
+	cd build-$(glibc) && CC="$(CC)" CFLAGS="-O2 -U_FORTIFY_SOURCE -fno-stack-protector $(CFLAGS)"	\
+		$(cwd)/$(glibc)/configure	\
 	    --prefix=/usr					\
 	    --disable-profile  --enable-add-ons			\
             --enable-kernel=2.6.18				\
 	    --without-gd --without-cvs				\
             --without-selinux					\
 	    --includedir=$(cwd)/$(linux)/dest/include		\
 	    --with-headers=$(cwd)/$(linux)/dest/include		\
-	    --build=i586-linux					\
+	    --host=i586-linux					\
 	&& find . -name \*.d -print0 | xargs -0 -r rm -f	\
 	&& $(MAKE)
 	touch -c $@
 
 $(call copy_lib, build-$(glibc)/libc.so, stage1/lib/libc.so)
 
 # "Fake" library to link against
 $(call copy_file, build-$(glibc)/libc_nonshared.a, \
@@ -410,18 +416,18 @@ stage1 +=							\
 	  libm.so libutil.so libpthread.so librt.so		\
 	)
 
 ## kbd
 $(kbd)/src/loadkeys: fakeinclude/stdio.h
 	rm -f $@
 	cd $(kbd)					\
 	&& export CFLAGS="$(fakelib_cflags) -O2"	\
-	&& CC=$(CC) ./configure --prefix=/		\
-	&& $(MAKE) CC=$(CC) CFLAGS="$$CFLAGS"
+	&& CC="$(CC)" ./configure --prefix=/		\
+	&& $(MAKE) CC="$(CC)" CFLAGS="$$CFLAGS"
 	[ -e $@ ]
 
 ## TODO: get more info about why we are deleting some files
 stage1/bin/loadkeys: $(kbd)/src/loadkeys
 	rm -f $@
 	cd $(kbd)				\
 	&& $(MAKE) DESTDIR=$(cwd)/stage1 install
 	rm -rf stage1/usr/share/locale
@@ -430,31 +436,31 @@ stage1/bin/loadkeys: $(kbd)/src/loadkeys
 		setkeycodes setleds setmetamode showconsolefont showkey
 	[ -e $@ ]
 
 stage1 += stage1/bin/loadkeys
 
 ## nano
 $(nano)/src/nano: fakeinclude/stdio.h fakeinclude/curses.h
 	cd $(nano)							    \
-	&& CC=$(CC) CFLAGS="$(fakelib_cflags)"				    \
+	&& CC="$(CC)" CFLAGS="$(fakelib_cflags)"				    \
 		./configure --prefix=/usr				    \
 			--disable-browser --disable-mouse --disable-speller \
 			--build=i586-linux				    \
 	&& $(MAKE)
 	[ -e $@ ] && touch $@
 
 $(call copy_exe, $(nano)/src/nano, stage1/usr/bin/nano)
 
 stage1 += stage1/usr/bin/nano
 
 ## ncurses
 $(ncurses)/lib/libncursesw.so: fakeinclude/stdio.h
 	cd $(ncurses)							\
-	&& CC=$(CC) CXX=$(CXX) CFLAGS="$(fakelib_cflags)"		\
+	&& CC="$(CC)" CXX="$(CXX)" CFLAGS="$(fakelib_cflags)"		\
 	LDFLAGS="$(fakelib_cflags)" CXXFLAGS="$(fakelib_cflags)"	\
 		./configure --prefix=/usr --with-shared			\
 			--without-normal --without-debug		\
 			--disable-database --with-fallbacks=linux	\
 			--build=i586-linux --without-hashed-db		\
 			--enable-widec					\
 	&& $(MAKE)
 	[ -e $@ ] && touch $@
@@ -470,17 +476,17 @@ stage1 += stage1/usr/lib/libncursesw.so
 
 ## parted
 
 #FIXME: --disable-Werror added to compile parted 1.8.8 with gcc 4.2.1 and later
 #       This will probably be fixed in a later version of parted
 $(parted)/parted/.libs/parted: fakeinclude/stdio.h stage1/lib/libuuid.so \
 				stage1/lib/libdl.so
 	cd $(parted)							\
-	&& CC=$(CC) CXX=$(CXX)						\
+	&& CC="$(CC)" CXX="$(CXX)"						\
 		CFLAGS="$(fakelib_cflags) -I$(cwd)/$(e2fsprogs)/lib"	\
 		./configure --disable-nls --without-readline		\
 		--build=i586-linux --disable-Werror			\
 	&& $(MAKE)
 	[ -e $@ ]
 
 $(parted)/libparted/.libs/libparted.so: $(parted)/parted/.libs/parted
 	[ -e $@ ] && touch $@
@@ -488,41 +494,41 @@ stage1 += stage1/usr/lib/libncursesw.so
 $(call copy_exe, $(parted)/parted/.libs/parted, stage1/usr/sbin/parted)
 $(call copy_lib, $(parted)/libparted/.libs/libparted.so, \
 	stage1/lib/libparted.so)
 
 stage1 += stage1/usr/sbin/parted stage1/lib/libparted.so
 
 ## pciutils
 $(pciutils)/lspci:
-	$(MAKE) CC=$(CC) -C $(pciutils) PREFIX=/usr HOST="i586--linux"	\
+	$(MAKE) CC="$(CC)" -C $(pciutils) PREFIX=/usr HOST="i586--linux"	\
 		RELEASE="$(subst linux-,,$(linux))" OPT="$(fakelib_cflags)"
 	[ -e $@ ]
 
 $(call copy_exe, $(pciutils)/lspci, stage1/sbin/lspci)
 
 $(call copy_file,$(pciutils)/pci.ids,stage1/usr/share/pci.ids)
 
 stage1 += stage1/sbin/lspci stage1/usr/share/pci.ids
 
 ## pmtools (acpidump, for diagnostics)
 $(pmtools)/acpidump/acpidump: fakeinclude/stdio.h $(linux)/arch/x86/boot/bzImage
 	cd $(dir $@)							  \
 	&& $(MAKE) clean						  \
-	&& $(MAKE) CC=$(CC)
+	&& $(MAKE) CC="$(CC)"
 	[ -e $@ ]
 
 $(call copy_exe,$(pmtools)/acpidump/acpidump,stage1/sbin/acpidump)
 stage1 += stage1/sbin/acpidump
 
 ## Perl
 $(perl)/perl: fakeinclude/stdio.h
 	rm -f $@
 	cd $(perl)							\
-	&& ./Configure -Dcc=$(CC) -Dusethreads -Dprefix=/opt/perl	\
+	&& ./Configure -Dcc="$(CC)" -Dusethreads -Dprefix=/opt/perl	\
 		-Dlibpth="$(cwd)/fakelib $(cwd)/stage1/lib"		\
 		-Ud_sethostent_r -Ud_setprotoent_r -Ud_setservent_r	\
 		-Ud_endhostent_r -Ud_endprotoent_r -Ud_endservent_r	\
 		-Darchname=i586-linux -Ud_eaccess			\
 		-Accflags="$(fakelib_cflags)"				\
 		-deO							\
 	&& $(MAKE)
 	[ -e $@ ]
@@ -541,17 +547,17 @@ stage1 += stage1/opt/perl/bin/perl
 
 perllib=$(cwd)/stage1/opt/perl/lib/$(patsubst perl-%,%,$(perl))
 perlrun=$(cwd)/stage1/opt/perl/bin/perl -I$(cwd)/stage1/opt/perl/lib/site_perl -I$(perllib)
 
 ## mysql
 # It has a dependency on ncurses-dev fakeinclude/curses.h could fixed
 $(mysql)/Makefile: stage1/opt/perl/bin/perl fakeinclude/zlib.h
 	cd $(dir $@)							\
-	&& CC=$(CC) CXX=$(CXX)						\
+	&& CC="$(CC)" CXX="$(CXX)"						\
 		CFLAGS="$(fakelib_cflags)" CXXFLAGS="$(fakelib_cflags)"	\
 		./configure --prefix=/ --without-server --build=i586-linux
 
 $(mysql)/libmysql/.libs/libmysqlclient.so: $(mysql)/Makefile
 	rm -f $@
 	cd $(mysql)							\
 	&& $(MAKE)								\
 	&& $(MAKE) -C include includedir=$(cwd)/fakeinclude install
@@ -698,17 +704,17 @@ stage1 += stage1/.stamp-perl-xml-xpath
 
 ## Samba
 
 # Without -rdynamic, CP850.so craps out with "undefined symbol:
 # smb_register_charset".
 # so ensure that the kernel is built first
 $(samba)/source/config.status: stage1/.stamp-modules
 	cd $(samba)/source					\
-	    && CC=$(CC) LDFLAGS=-rdynamic ./configure --prefix=/usr	\
+	    && CC="$(CC)" LDFLAGS=-rdynamic ./configure --prefix=/usr	\
 	        --disable-cups --without-readline		\
 		--without-ldap --without-krb5 --without-ads	\
 		--without-utmp --with-included-popt		\
 		--build=i586-linux
 
 # Without "make installmodules" (which installs CP850.so), smbmount
 # prints a tremendous number of "convert_string_internal: Conversion
 # not supported" errors.
@@ -737,77 +743,77 @@ stage1 += stage1/usr/lib/smb.conf
 stage1 += stage1/sbin/mount.cifs
 
 
 ## wireless_tools
 $(wireless_tools)/iwconfig: fakeinclude/stdio.h $(linux)/arch/x86/boot/bzImage
 	cd $(wireless_tools)				\
 	&& $(MAKE) clean				\
 	&& $(MAKE) KERNEL_SRC=$(cwd)/$(linux)		\
-		CC=$(CC) CFLAGS="$(fakelib_cflags) -O2 -Wall"
+		CC="$(CC)" CFLAGS="$(fakelib_cflags) -O2 -Wall"
 	[ -e $@ ]
 
 $(wireless_tools)/iwlist: $(wireless_tools)/iwconfig
 
 $(call copy_exe,$(wireless_tools)/iwconfig,stage1/sbin/iwconfig)
 $(call copy_exe,$(wireless_tools)/iwlist,stage1/sbin/iwlist)
 
 stage1 += stage1/sbin/iwconfig stage1/sbin/iwlist
 
 ## zlib (required by libmysqlclient.so)
 zlib_ver := $(patsubst zlib-%,%,$(zlib))
 zlib_so := libz.so.$(zlib_ver)
 
 $(zlib)/$(zlib_so): fakeinclude/stdio.h
 	rm -f $@
 	cd $(zlib)						\
-	&& $(MAKE) CC=$(CC) CFLAGS="-O $(fakelib_cflags)"	\
+	&& $(MAKE) CC="$(CC)" CFLAGS="-O $(fakelib_cflags)"	\
 		LDSHARED="$(CC) -shared -Wl,-soname,libz.so.1"	\
 		$(zlib_so)
 
 fakeinclude/zlib.h: $(zlib)/zlib.h $(zlib)/zconf.h
 	mkdir -p $(dir $@)
 	cp -f $^ $(dir $@)
 
 $(call copy_lib,$(zlib)/$(zlib_so),stage1/lib/libz.so)
 
 stage1 += stage1/lib/libz.so
 
 ## libexpat
 $(expat)/.libs/libexpat.so.1.5.2:
 	cd $(expat)						\
-	&& CC=$(CC) ./configure --prefix=/			\
+	&& CC="$(CC)" ./configure --prefix=/			\
 	&& $(MAKE)
 
 $(call copy_lib,$(expat)/.libs/libexpat.so.1.5.2,stage1/lib/libexpat.so)
 $(call copy_file,$(expat)/lib/expat.h,fakeinclude/expat.h)
 $(call copy_file,$(expat)/lib/expat_external.h,fakeinclude/expat_external.h)
 
 stage1 += stage1/lib/libexpat.so
 
 ## libusb
 $(libusb)/.libs/libusb-0.1.so.4.4.4:
 	cd $(libusb)						\
-	&& CC=$(CC) ./configure --disable-static		\
+	&& CC="$(CC)" CXX="$(CXX)" ./configure --disable-static		\
 	                        --build=i586-linux		\
 	                        --disable-dependency-tracking	\
 	&&  $(MAKE)
 	[ -e $@ ]
 
 $(call copy_lib,$(libusb)/.libs/libusb-0.1.so.4.4.4,stage1/lib/libusb.so)
 $(call copy_file,$(libusb)/usb.h,fakeinclude/usb.h)
 stage1 += stage1/lib/libusb.so
 
 ## usbutils
 ##   use LIBUSB_CFLAGS and LIBUSB_LIBS to avoid pkg-config usage.
 ##   FIXME '-lusb' is sufficient since usage of fakelib_cflags for CFLAGS.
 
 $(usbutils)/lsusb: stage1/lib/libusb.so fakeinclude/usb.h
 	cd $(usbutils)							\
-	&& CC=$(CC) CFLAGS="$(fakelib_cflags)"				\
+	&& CC="$(CC)" CFLAGS="$(fakelib_cflags)"				\
 	   LIBUSB_CFLAGS="-I$(cwd)/fakeinclude" LIBUSB_LIBS="-lusb"	\
 		./configure --prefix=/usr				\
 	&& $(MAKE)
 
 $(call copy_exe, $(usbutils)/lsusb, stage1/sbin/lsusb)
 
 stage1 += stage1/sbin/lsusb
 
@@ -913,17 +919,18 @@ initrd: devices.cpio .stamp-stage2
 
 $(call copy_file,misc/isolinux.cfg,iso/isolinux/isolinux.cfg)
 
 $(call copy_file,$(syslinux)/com32/menu/menu.c32,iso/isolinux/menu.c32)
 
 $(call copy_file,$(syslinux)/core/isolinux.bin,iso/isolinux/isolinux.bin)
 
 linuxboot.iso: iso/isolinux/bzImage iso/isolinux/initrd \
-	iso/isolinux/isolinux.cfg iso/isolinux/isolinux.bin
+	iso/isolinux/isolinux.cfg iso/isolinux/isolinux.bin	\
+	iso/isolinux/menu.c32
 	$(mkisofs) -quiet -o [email protected] -m CVS				\
                 -b isolinux/isolinux.bin -c isolinux/boot.cat		\
                 -no-emul-boot -boot-load-size 4 -boot-info-table	\
 		iso > /dev/null
 	mv [email protected] $@
 
 iso: linuxboot.iso 
 
@@ -1083,16 +1090,17 @@ symlink_targets=$(addprefix symlink-,$(p
 symlinks: $(symlink_targets)
 
 # Blow away everything we do not want to ship.
 tidy:
 	rm -rf $(patsubst symlink-%,%,$(symlink_targets))
 	rm -rf dosboot iso
 	rm -rf .stamp-stage1 stage2 .stamp-stage2
 	rm -f devices.cpio initrd
+	rm -f *.tmp
 
 # Clean up all the stuff we built so we can build again
 clean: tidy
 	rm -rf tftpboot
 	rm -rf linuxboot.iso
 	rm -rf ../install/linuxaux
 
 FORCE:
diff --git a/trunk/linuxboot/misc/dosemu-dexeconfig-patch b/trunk/linuxboot/misc/dosemu-dexeconfig-patch
new file mode 100644
--- /dev/null
+++ b/trunk/linuxboot/misc/dosemu-dexeconfig-patch
@@ -0,0 +1,12 @@
+diff -ur dosemu-1.4.0.1/src/tools/periph/dexeconfig.c dosemu-1.4.0.1-dev1/src/tools/periph/dexeconfig.c
+--- dosemu-1.4.0.1/src/tools/periph/dexeconfig.c	2007-05-04 06:59:48.000000000 +0100
++++ dosemu-1.4.0.1-dev1/src/tools/periph/dexeconfig.c	2009-05-17 11:09:27.000000000 +0100
+@@ -238,7 +238,7 @@
+     exit(1);
+   }
+   close(fd);
+-  fc = open(cfile, O_WRONLY | O_CREAT | O_TRUNC);
++  fc = open(cfile, O_WRONLY | O_CREAT | O_TRUNC, 0666);
+   if (fc < 0) {
+     perror("cannot open config file");
+     exit(1);
jason_oster.vcf (text/x-vcard, 304 B)
begin:vcard
fn:Jason Oster
n:Oster;Jason
org:Camp Navajo;Information Technology
adr:Bldg 1;;1 Hughes Ave;Bellemont;AZ;86015;USA
email;internet:[email protected]
title:IT Specialist III
tel;work:928-773-3363
x-mozilla-html:FALSE
url:http://www.campnavajo.com/
version:2.1
end:vcard
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.