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: