From: Arne Fitzenreiter Date: Wed, 1 Dec 2010 23:08:48 +0000 (+0100) Subject: Fix unattended installation. X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=commitdiff_plain;h=40fff54d2bb52006b1af97248985d7362d15470d Fix unattended installation. --- diff --git a/lfs/usb-stick b/lfs/usb-stick index 427efe0de..acfa40939 100644 --- a/lfs/usb-stick +++ b/lfs/usb-stick @@ -66,8 +66,8 @@ define COPY_TO_IMG losetup $$LOOPDEV $$IMAGE && \ mount -t vfat $$LOOPDEV /install/mnt && \ cp -fR /install/cdrom/* /install/mnt && \ - mv /install/mnt/boot/isolinux/{instroot,vmlinuz,unattended.conf,splash.lss,*\.msg,memtest} /install/mnt && \ - rm -rf /install/mnt/boot && \ + mv /install/mnt/boot/isolinux/{instroot,vmlinuz,splash.lss,*\.msg,memtest} /install/mnt && \ + rm -rf /install/mnt/boot/isolinux && \ cp $(DIR_SRC)/config/syslinux/syslinux.cfg /install/mnt/syslinux.cfg && \ umount /install/mnt && \ losetup -d $$LOOPDEV && \ diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index 5de914f76..ca2d5bd61 100644 --- a/src/install+setup/install/main.c +++ b/src/install+setup/install/main.c @@ -557,10 +557,11 @@ EXIT: fclose(flog); newtFinished(); -// if (!unattended) { -// if (system("/usr/sbin/chroot /harddisk /usr/local/sbin/setup /dev/tty2 INSTALL")) -// printf("Unable to run setup.\n"); -// } + if (unattended) { + // Remove Setup autorun after boot + if (system("rm -f /harddisk/etc/rc.d/rcsysinit.d/S75firstsetup")) + printf("Unable to disable setup autorun.\n"); + } if (system("/bin/umount /harddisk/proc")) printf("Unable to umount /harddisk/proc.\n"); diff --git a/src/install+setup/install/unattended.c b/src/install+setup/install/unattended.c index cfdf33145..3e2f3f088 100644 --- a/src/install+setup/install/unattended.c +++ b/src/install+setup/install/unattended.c @@ -131,7 +131,7 @@ int unattended_setup(struct keyvalue *unattendedkv) { /* set root password */ fprintf(flog, "unattended: setting root password\n"); snprintf(commandstring, STRING_SIZE, - "/sbin/chroot /harddisk /bin/sh -c \"echo 'root:%s' | /usr/sbin/chpasswd\"", root_password); + "/usr/sbin/chroot /harddisk /bin/sh -c \"echo 'root:%s' | /usr/sbin/chpasswd\"", root_password); if (mysystem(commandstring)) { errorbox("unattended: ERROR setting root password"); return 0; @@ -140,7 +140,7 @@ int unattended_setup(struct keyvalue *unattendedkv) { /* set admin password */ fprintf(flog, "unattended: setting admin password\n"); snprintf(commandstring, STRING_SIZE, - "/sbin/chroot /harddisk /usr/sbin/htpasswd -c -m -b " CONFIG_ROOT "/auth/users admin '%s'", admin_password); + "/usr/sbin/chroot /harddisk /usr/sbin/htpasswd -c -m -b " CONFIG_ROOT "/auth/users admin '%s'", admin_password); if (mysystem(commandstring)) { errorbox("unattended: ERROR setting admin password"); return 0;