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.
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 $...@.tmp $@
 
 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 $...@.tmp -m CVS				\
                 -b isolinux/isolinux.bin -c isolinux/boot.cat		\
                 -no-emul-boot -boot-load-size 4 -boot-info-table	\
 		iso > /dev/null
 	mv $...@.tmp $@
 
 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);

<<attachment: jason_oster.vcf>>

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

_______________________________________________
unattended-devel mailing list
unattended-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unattended-devel

Reply via email to