* New Makefile variable PKGLIST. When set to 1 will create a file outside the

appliance with the list of installed packages on that appliance.  PKGLIST
  is off by default.

* Works with baselayout-2 stage3s, including the fix for the current broken
  stage3 tarballs.

* The new stage3 tarballs are much more limited as far as what dev nodes
  are included.  In addition to being broken stage3s themselves, it also
  broke the UDEV=NO option.  So I have included my own device node tarball
  which is installed when UDEV=NO.

* Put double quotes around hostname in /etc/conf.d/hostname.
This commit is contained in:
Albert Hopkins 2011-06-22 21:42:59 -04:00
parent ea6bda4f2e
commit d86cb09e04
5 changed files with 16 additions and 3 deletions

View File

@ -21,6 +21,7 @@ HEADLESS = NO
EXTERNAL_KERNEL = NO EXTERNAL_KERNEL = NO
UDEV = YES UDEV = YES
SOFTWARE = 1 SOFTWARE = 1
PKGLIST = 0
ACCEPT_KEYWORDS = amd64 ACCEPT_KEYWORDS = amd64
DASH = NO DASH = NO
@ -138,6 +139,11 @@ stage3:
else rsync --no-motd $(RSYNC_MIRROR)/releases/`echo $(ARCH)|sed 's/i.86/x86/'`/autobuilds/latest-stage3.txt .; \ else rsync --no-motd $(RSYNC_MIRROR)/releases/`echo $(ARCH)|sed 's/i.86/x86/'`/autobuilds/latest-stage3.txt .; \
rsync --no-motd $(RSYNC_MIRROR)/releases/`echo $(ARCH)|sed 's/i.86/x86/'`/autobuilds/`tail -n 1 latest-stage3.txt` stage3-$(ARCH)-latest.tar.bz2; \ rsync --no-motd $(RSYNC_MIRROR)/releases/`echo $(ARCH)|sed 's/i.86/x86/'`/autobuilds/`tail -n 1 latest-stage3.txt` stage3-$(ARCH)-latest.tar.bz2; \
tar xjpf stage3-$(ARCH)-latest.tar.bz2 -C $(CHROOT); \ tar xjpf stage3-$(ARCH)-latest.tar.bz2 -C $(CHROOT); \
rm -f $(CHROOT)/dev/null ; \
mknod --mode=600 $(CHROOT)/dev/console c 5 1; \
mknod --mode=666 $(CHROOT)/dev/null c 1 3; \
mknod --mode=666 $(CHROOT)/dev/zero c 1 5; \
$(inroot) ln -nsf /etc/init.d/udev /etc/runlevels/sysinit/udev; \
fi fi
touch stage3 touch stage3
@ -181,7 +187,7 @@ $(CHROOT)/etc/fstab: fstab preproot
cp fstab $(CHROOT)/etc/fstab cp fstab $(CHROOT)/etc/fstab
$(CHROOT)/etc/conf.d/hostname: preproot $(CHROOT)/etc/conf.d/hostname: preproot
echo hostname=$(HOSTNAME) > $(CHROOT)/etc/conf.d/hostname echo hostname=\"$(HOSTNAME)\" > $(CHROOT)/etc/conf.d/hostname
sysconfig: preproot $(SWAP_FILE) $(CHROOT)/etc/fstab $(CHROOT)/etc/conf.d/hostname sysconfig: preproot $(SWAP_FILE) $(CHROOT)/etc/fstab $(CHROOT)/etc/conf.d/hostname
@echo $(VIRTIO) @echo $(VIRTIO)
@ -255,12 +261,15 @@ build-software: systools issue etc-update.conf $(CRITICAL) $(WORLD)
$(UNMERGE_CRITICAL) $(UNMERGE_CRITICAL)
software: stage3 $(software_extra) software: stage3 $(software_extra)
ifneq ($(PKGLIST),0)
(cd "$(CHROOT)"/var/db/pkg ; /bin/ls -1d */*) > $(APPLIANCE)-packages.lst
endif
touch software touch software
device-map: $(RAW_IMAGE) device-map: $(RAW_IMAGE)
echo '(hd0) ' $(RAW_IMAGE) > device-map echo '(hd0) ' $(RAW_IMAGE) > device-map
image: software device-map grub.shell grub image: software device-map grub.shell grub dev.tar.bz2
mkdir -p loop mkdir -p loop
mount -o noatime $(NBD_DEV)p1 loop mount -o noatime $(NBD_DEV)p1 loop
mkdir -p gentoo mkdir -p gentoo
@ -270,6 +279,7 @@ ifneq ($(EXTERNAL_KERNEL),YES)
loop/sbin/grub --device-map=device-map --no-floppy --batch < grub.shell loop/sbin/grub --device-map=device-map --no-floppy --batch < grub.shell
endif endif
ifeq ($(UDEV),NO) ifeq ($(UDEV),NO)
tar jxf dev.tar.bz2 -C loop/dev
rm -f loop/dev/vda* rm -f loop/dev/vda*
/bin/mknod loop/dev/vda b 254 0 /bin/mknod loop/dev/vda b 254 0
/bin/mknod loop/dev/vda1 b 254 1 /bin/mknod loop/dev/vda1 b 254 1

BIN
dev.tar.bz2 Normal file

Binary file not shown.

View File

@ -1,4 +1,5 @@
preinstall: preinstall:
eselect python set python2.7
postinstall: postinstall:
# we want sshd running # we want sshd running

View File

@ -1,3 +1,5 @@
app-editors/nano ncurses app-editors/nano ncurses
dev-lang/python ssl threads xml dev-lang/python ssl threads xml
sys-auth/pambase minimal
sys-kernel/gentoo-sources symlink sys-kernel/gentoo-sources symlink
sys-libs/ncurses minimal

View File

@ -1 +1 @@
net-misc/dhcpcd net-misc/openssh