[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

shell in debian-installer, building without network-connection



I started playing around a little bit with the new debian-installer
under bochs. 

When I try to start "3. Execute a shell" and pressing enter to get
behind the cdebconf-notice I get a 
"postinst exited with status 65280".

It works well when calling
tmp/tree/var/lib/dpkg/info/di-utils-shell.postinst
so I first suspected some problem with library reduction, but
running "make demo" seem to work, too.

It might be some bug in bochs, but using the old boot-floppies
the installing seemed to work quite well. (Though I could not bear
seeing the virtual framebuffer of a simulated machine moving
slowly in an x-window tunneled over ssh much longer than creating 
paritions and filesystems)

Another difference between chroot and running in bochs are a number
of "kmod: failed to exec /sbin/modprobe -s -k net-pf-1, errno=2"
lines before and after the "init started: BusyBox..."

Hochachtungsvoll,
	Bernhard R. Link

BTW, as my university lost internet-connecting while I was experimenting
I modified build/Makefile to add a option for not calling apt and only
taking things out of localudebs:

Index: Makefile
===================================================================
RCS file: /cvs/debian-boot/debian-installer/build/Makefile,v
retrieving revision 1.107
diff -u -r1.107 Makefile
--- Makefile	21 Sep 2002 09:03:25 -0000	1.107
+++ Makefile	23 Sep 2002 08:57:00 -0000
@@ -52,6 +52,10 @@
 # debug versions of the needed udebs
 DEBUG=n
 
+# set NODOWLOAD to y, if everything should be in localudebs,
+# so APT should not be used.
+NODOWNLOAD=n
+
 # All output files will go here.
 DEST=dest
 
@@ -153,17 +157,24 @@
 # Get all required udebs and put in UDEBDIR.
 get_udebs: get_udebs-stamp
 get_udebs-stamp:
-	mkdir -p $(APTDIR)/state/lists/partial
-	mkdir -p $(APTDIR)/cache/archives/partial
-	$(APT_GET) update
-	$(APT_GET) autoclean
+	if [ "$(NODOWNLOAD)" != "y" ] ; then \
+		mkdir -p $(APTDIR)/state/lists/partial && \
+		mkdir -p $(APTDIR)/cache/archives/partial && \
+		$(APT_GET) update && \
+		$(APT_GET) autoclean ; \
+	fi
 	# If there are local udebs, remove them from the list of things to
 	# get. Then get all the udebs that are left to get.
 	needed="$(UDEBS)"; \
 	for file in `find $(LOCALUDEBDIR) -name "*_*" -printf "%f\n" 2>/dev/null`; do \
 		package=`echo $$file | cut -d _ -f 1`; \
-		needed=`echo " $$needed " | sed "s/ $$package */ /"`; \
+		needed=`echo "$${needed}" | sed "s/ *$$package */ /"`; \
 	done; \
+	if [ "x$$needed" != 'x ' ] ; then \
+	if [ $(NODOWNLOAD) = y ] ; then \
+		echo Still missing: $$needed; \
+		exit 1 ; \
+	else \
 	if [ $(DEBUG) = y ] ; then \
 		mkdir -p $(DEBUGUDEBDIR); \
 		cd $(DEBUGUDEBDIR); \
@@ -175,7 +186,7 @@
 		if [ -n "$$needed" ]; then \
 		$(APT_GET) -dy install $$needed; \
 		fi; \
-	fi; \
+	fi; fi; fi; \
 
 	# Now the udebs are in APTDIR/cache/archives/ and maybe LOCALUDEBDIR
 	# or DEBUGUDEBDIR, but there may be other udebs there too besides those
@@ -197,7 +208,9 @@
 		fi; \
 	}; \
 	for package in $(UDEBS); do \
-		lnpkg $$package $(APTDIR)/cache/archives; \
+		if [ $(NODOWNLOAD) != y ] ; then \
+			lnpkg $$package $(APTDIR)/cache/archives; \
+		fi ; \
 		lnpkg $$package $(LOCALUDEBDIR); \
 		lnpkg $$package $(DEBUGUDEBDIR); \
 		if ! [ -e $(UDEBDIR)/$$package.udeb ]; then \

        
-- 
The man who trades freedom for security does not deserve 
nor will he ever receive either. (Benjamin Franklin)



Reply to: