Date: Mon, 3 Sep 2007 18:47:03 +0400 (MSD) From: Dmitry Morozovsky <marck@rinet.ru> To: Julian Stacey <jhs@berklix.org> Cc: Yar Tikhiy <yar@comp.chem.msu.su>, hackers@freebsd.org Subject: Re: Useful tools missing from /rescue Message-ID: <20070903184218.B52310@woozle.rinet.ru> In-Reply-To: <200709011240.l81CeTKd056036@fire.js.berklix.net> References: <200709011240.l81CeTKd056036@fire.js.berklix.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 1 Sep 2007, Julian Stacey wrote: JS> > I've had to use /rescue recently and felt lack of a few basic tools JS> > in it, namely pgrep(1), head(1), tail(1), tee(1), and a text filter, JS> > e.g., sed(1). Well, in fact most functionality of pgrep(1), head(1), JS> > tail(1), and even tee(1) can be emulated if one has sed(1), but the JS> > tools are so tiny and convenient that it's a pity not to have them JS> > all handy during hard times. JS> > JS> > In addition, there are chflags and chmod in /rescue, but there's JS> > no chown in it, so the toolset is a bit incomplete. JS> > JS> > Would anyone mind if I add those tools to /rescue? The size growth JS> > will be rather small: JS> > JS> > -r-xr-xr-x 121 root wheel 3715096 1 ΣΕΞ 10:22 /mnt2/rescue.old/rescue JS> > -r-xr-xr-x 129 root wheel 3761828 1 ΣΕΞ 11:22 /mnt2/rescue/rescue JS> JS> Don't do it without approval of re@ (who might be too busy just now JS> anyway) It might blow the limit on the tight packed rescue floppy. JS> (& though desk workstations have CDs, lost of small boxes still JS> just have floppies for rescue) Best try to build a rescue floppy JS> yourself before adding bloat. JS> JS> BTW I've never used pgrep thus superfluous to rescue. Others also JS> not really needed, merely nice. True rescue is just to fix FS at JS> which point you can mount other FS or CDROM or NFS etc for more JS> tools. What about adding support for zfs then (see below)? I found it especially useful when you have zfs-on-root and copy /rescue to /bootdisk and symlink bin and sbin to rescue - this allows emergency management of zfs when booting with /bootdisk as root. Trick with -lm seems to be needed because libzfs itself refers to pow(3) - or did I miss something trivial to resolve this? Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck@FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------ Index: Makefile =================================================================== RCS file: /home/ncvs/src/rescue/rescue/Makefile,v retrieving revision 1.56 diff -u -r1.56 Makefile --- Makefile 14 Jul 2007 21:49:22 -0000 1.56 +++ Makefile 31 Aug 2007 11:24:34 -0000 @@ -71,7 +71,7 @@ CRUNCH_PROGS_bin= cat chflags chio chmod cp date dd df echo \ ed expr getfacl hostname kenv kill ln ls mkdir mv pax ps pwd \ realpath rm rmdir setfacl sh stty sync test -CRUNCH_LIBS+= -lcrypt -ledit -lkvm -ll -lm -ltermcap -lutil +CRUNCH_LIBS+= -lcrypt -ledit -lkvm -ll -ltermcap -lutil .if ${MK_OPENSSL} != "no" CRUNCH_LIBS+= -lcrypto .endif @@ -185,5 +185,17 @@ CRUNCH_PROGS_sbin+= dhclient CRUNCH_BUILDOPTS_dhclient= -DRELEASE_CRUNCH -Dlint +# zfs-related: zpool and zfs +.if ${MK_CDDL} != "no" && ${MK_ZFS} != "no" +CRUNCH_PROGS_sbin+= zfs zpool +CRUNCH_SRCDIR_zfs= $(.CURDIR)/../../cddl/sbin/zfs +CRUNCH_SRCDIR_zpool= $(.CURDIR)/../../cddl/sbin/zpool +CRUNCH_LIBS+= -lzfs -lavl -lnvpair -luutil +.endif + +# XXX libzfs needs pow() +CRUNCH_LIBS+= -lm + ################################################################## # Programs from stock /usr/bin #
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070903184218.B52310>