Date: Fri, 29 Oct 2010 13:52:06 -0700 From: Randi Harper <randi@freebsd.org> To: freebsd-sysinstall@freebsd.org, Devin Teske <dteske@vicor.com> Subject: Fwd: [patch] cpioVerbose=medium breaks sysinstall(8) during install of FreeBSD-8.x/CURRENT (all platforms/media) Message-ID: <AANLkTi=_Vcc9cUSG2Zo2=g3UpvW4jMrtDLDgnBoMh1qF@mail.gmail.com> In-Reply-To: <1288377694.17949.10.camel@localhost.localdomain> References: <1288377694.17949.10.camel@localhost.localdomain>
index | next in thread | previous in thread | raw e-mail
I'm going to get on this in the next few days as I have some pending commits from gcooper to take care of as well. Still in the middle of unpacking. The boxes containing my computers have not even been touched yet. ;) -- randi ---------- Forwarded message ---------- From: Devin Teske <dteske@vicor.com> Date: Fri, Oct 29, 2010 at 11:41 AM Subject: [patch] cpioVerbose=medium breaks sysinstall(8) during install of FreeBSD-8.x/CURRENT (all platforms/media) To: FreeBSD-gnats-submit@freebsd.org Cc: Randi Harper <randi@freebsd.org>, Devin Teske <dteske@vicor.com> X-send-pr-version: 3.113 X-GNATS-Notify: >Submitter-Id: current-users >Originator: Devin Teske <dteske@vicor.com> >Organization: VICOR >Confidential: no <FreeBSD PRs are public data> >Synopsis: [patch] cpioVerbose=medium breaks sysinstall(8) during install of FreeBSD-8.x/CURRENT (all platforms/media) >Severity: serious >Priority: low >Category: bin >Class: sw-bug >Release: FreeBSD 8.1-RELEASE i386 >Environment: System: FreeBSD push810.linux.vicor.com 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 Occurs on all archs: alpha/amd64/arm/i386/ia64/mips/pc98/ppc/sparc64/sun4v Occurs on all platforms: Walnut Creek CD/DVD, FreeBSD Mall CD/DVD, USB, and from installed distribution. Occurs on tags: RELENG_8_BP RELENG_8_0_BP RELENG_8_0 RELENG_8_0_0_RELEASE RELENG_8_1_BP RELENG_8_1 RELENG_8_1_0_RELEASE RELENG_8 MAIN HEAD First occurred: Mon May 26 17:15:34 2008 UTC (2 years, 5 months ago) when src/usr.bin/cpio/* was committed to MAIN by kientzle with comment: Initial commit of bsddcpio 0.9.11b A new implementation of cpio that uses libarchive as it's back-end archiving/dearchiving infrastructure. Includes test harness; "make check" in the bsdcpio directory to build and run the test harness. >Description: When installing FreeBSD, either (a) as scripted installation using install.cfg, environment variables, or command-line arguments to sysinstall(8) or (b) as a manual installation using ncurses(3)-based menus, if the cpioVerbose feature is set to "medium", the installation fails with the following errors (after performing newfs(8), upon attempting to extract the first binary distribution-set [base]): 1. "Copy returned error status of 1!" See: http://druidbsd.sf.net/images/cpioVerbose_medium_ttyv0_error1.png 2. "installInitial: Couldn't clone the boot floppy onto the root file system. Aborting!" See: http://druidbsd.sf.net/images/cpioVerbose_medium_ttyv0_error2.png NOTE: These errors (#1 and #2) occur one after the other. 3. (on the debug console): DEBUG: Executing command `find -x /stand | cpio -V -pdum /mnt' Brief Usage: List: cpio -it < archive Extract: cpio -i < archive Create: cpio -o < filenames > archive Help: cpio --help DEBUG: Command `find -x /stand | cpio -V -pdum /mnt' returns status of 1 See: http://druidbsd.sf.net/images/cpioVerbose_medium_ttyv1_error.png NOTE: When installing from CD/DVD release, this output is visible by pressing Alt+F4 to bring up the debug console. Also note that much of the information displayed in the above image requires debug=YES to be set for sysinstall(8) (either as an environment variable, as a command-line argument, or in install.cfg). >From this point-on, you must restart the installation process as you are returned to the main install menu of sysinstall(8) after acknowledging errors #1 and #2 above. The problem is entirely that cpio(1) was replaced with a new version that does not accept the `-V' (or `--dot') flag. Historically, previous releases used GNU cpio(1) (in contrib) whereas FreeBSD-8.x uses BSD cpio (1) which is not forward-compatible with the GNU flags. In the error visible on the debug console, we see that passing of `-V' for when cpioVerbose=medium results in BSD cpio(1) producing a short usage-statement followed by an exit with error status 1. >How-To-Repeat: Start your installation process of installing a new FreeBSD system. Feel free to use any FreeBSD-8.x disc/media. 1. At the main menu of sysinstall(8), choose the option entitled: "Options View/Set various installation options" 2. Use the UP/DOWN cursor keys to highlight the "Extract Detail" option 3. Press SPACE until `medium' is shown 4. Press Q to exit the Options-Editor 5. Perform the rest of your install as usual 6. After newfs(8) is performed, just as sysinstall(8) attempts to extract the first binary distribution-set (using cpio(1)), the installation will error-out with the above errors. >Fix: Below is a unified patch for three files: usr.sbin/sysinstall/help/shortcuts.hlp,v 1.13 (RELENG_8_1) usr.sbin/sysinstall/media.c,v 1.127.2.2.4.1 (RELENG_8_1) usr.sbin/sysinstall/sysinstall.8,v 1.81.2.3.2.1 (RELENG_8_1) The below patch removes the `medium' option (passes `-V' to cpio(1)) for the cpioVerbose setting, making the only two options now `high' (passes `-v' flag to cpio(1)) or `low' (does not pass `-v' to cpio(1)). --- usr.sbin/sysinstall/help/shortcuts.hlp.orig 2007-06-25 09:37:17.000000000 -0700 +++ usr.sbin/sysinstall/help/shortcuts.hlp 2010-10-26 15:37:45.000000000 -0700 @@ -13,7 +13,7 @@ blanktime Screen blank tim bootManager Select boot manager: booteasy, standard or none browserBinary Which doc browser to use (default: links) browserPackage Which package to get browser from (default: links) -cpioVerbose How verbose to be with cpio: high, medium or low +cpioVerbose How verbose to be with cpio: high or low debug Extra debugging? defaultrouter IP address of default route disk Which disk to operate on (ad0, da0, etc). --- usr.sbin/sysinstall/media.c.orig 2010-06-13 19:09:06.000000000 -0700 +++ usr.sbin/sysinstall/media.c 2010-10-26 15:51:06.000000000 -0700 @@ -117,8 +117,6 @@ cpioVerbosity() if (cp && !strcmp(cp, "high")) return "-v"; - else if (cp && !strcmp(cp, "medium")) - return "-V"; return ""; } @@ -848,8 +846,6 @@ mediaSetCPIOVerbosity(dialogMenuItem *se } else { if (!strcmp(cp, "low")) - variable_set2(VAR_CPIO_VERBOSITY, "medium", 0); - else if (!strcmp(cp, "medium")) variable_set2(VAR_CPIO_VERBOSITY, "high", 0); else /* must be "high" - wrap around */ variable_set2(VAR_CPIO_VERBOSITY, "low", 0); --- usr.sbin/sysinstall/sysinstall.8.orig 2010-06-13 19:09:06.000000000 -0700 +++ usr.sbin/sysinstall/sysinstall.8 2010-10-26 15:57:21.000000000 -0700 @@ -749,8 +749,7 @@ .Sy Variables : .Bl -tag -width indent .It cpioVerbose -Can be used to set the verbosity of cpio extractions to low, medium or -high. +Can be used to set the verbosity of cpio extractions to low or high. .El .It mediaGetType Interactively get the user to specify some type of media.help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=_Vcc9cUSG2Zo2=g3UpvW4jMrtDLDgnBoMh1qF>
