On 11/30/2012 11:49 AM, Dwight Engen wrote: > I was getting a "Too many links" error when creating a busybox container on > a btrfs file system. This change has the template create the links as > symlinks instead. It also generates the list of commands to be symlinked from > busybox itself instead of a hardcoded list in the template. > > Also set the root password to root, to match what other templates do. > > Signed-off-by: Dwight Engen <dwight.en...@oracle.com>
Looks good, thanks. Acked-by: Stéphane Graber <stgra...@ubuntu.com> > --- > templates/lxc-busybox.in | 49 +++++++++------------------------------------ > 1 files changed, 10 insertions(+), 39 deletions(-) > > diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in > index f38d77e..91095a3 100644 > --- a/templates/lxc-busybox.in > +++ b/templates/lxc-busybox.in > @@ -151,40 +151,6 @@ configure_busybox() > { > rootfs=$1 > > - functions="\ > - [ [[ addgroup adduser adjtimex ar arp arping ash awk basename \ > - brctl bunzip2 bzcat bzip2 cal cat catv chattr chgrp chmod \ > - chown chpasswd chpst chroot chrt chvt cksum clear cmp comm \ > - cp cpio crond crontab cryptpw cut date dc dd deallocvt \ > - delgroup deluser df dhcprelay diff dirname dmesg dnsd dos2unix \ > - du dumpkmap dumpleases echo ed egrep eject env envdir envuidgid \ > - ether-wake expand expr fakeidentd false fbset fdformat fdisk \ > - fetchmail fgrep find findfs fold free freeramdisk fsck \ > - fsck.minix ftpget ftpput fuser getopt getty grep gunzip gzip \ > - halt hdparm head hexdump hostid hostname httpd hwclock id \ > - ifconfig ifdown ifenslave ifup inetd init insmod install ip \ > - ipaddr ipcalc ipcrm ipcs iplink iproute iprule iptunnel \ > - kbd_mode kill killall killall5 klogd last length less linux32 \ > - linux64 linuxrc ln loadfont loadkmap logger login logname \ > - logread losetup lpd lpq lpr ls lsattr lsmod lzmacat makedevs \ > - md5sum mdev mesg microcom mkdir mkfifo mkfs.minix mknod mkswap \ > - mktemp modprobe more mount mountpoint msh mt mv nameif nc \ > - netstat nice nmeter nohup nslookup od openvt passwd patch \ > - pgrep pidof ping ping6 pipe_progress pivot_root pkill poweroff \ > - printenv printf ps pscan pwd raidautorun rdate readahead \ > - readlink readprofile realpath reboot renice reset resize rm \ > - rmdir rmmod route rpm rpm2cpio run-parts runlevel runsv \ > - runsvdir rx script sed sendmail seq setarch setconsole \ > - setkeycodes setlogcons setsid setuidgid sh sha1sum slattach \ > - sleep softlimit sort split start-stop-daemon stat strings \ > - stty su sulogin sum sv svlogd swapoff swapon switch_root \ > - sync sysctl syslogd tac tail tar taskset tcpsvd tee telnet \ > - telnetd test tftp tftpd time top touch tr traceroute \ > - true tty ttysize udhcpc udhcpd udpsvd umount uname uncompress \ > - unexpand uniq unix2dos unlzma unzip uptime usleep uudecode \ > - uuencode vconfig vi vlock watch watchdog wc wget which \ > - who whoami xargs yes zcat zcip" > - > type busybox >/dev/null > > if [ $? -ne 0 ]; then > @@ -206,8 +172,14 @@ configure_busybox() > return 1 > fi > > - # do hardlink to busybox for the different commands > - for i in $functions; do ln $rootfs/bin/busybox $rootfs/bin/$i; done > + # symlink busybox for the commands it supports > + # it would be nice to just use "chroot $rootfs busybox --install -s /bin" > + # but that only works right in a chroot with busybox >= 1.19.0 > + pushd $rootfs/bin > /dev/null || return 1 > + ./busybox --help | grep 'Currently defined functions:' -A300 | \ > + grep -v 'Currently defined functions:' | tr , '\n' | \ > + xargs -n1 ln -s busybox > + popd > /dev/null > > # relink /sbin/init > ln $rootfs/bin/busybox $rootfs/sbin/init > @@ -215,9 +187,8 @@ configure_busybox() > # passwd exec must be setuid > chmod +s $rootfs/bin/passwd > touch $rootfs/etc/shadow > - chroot $rootfs /bin/passwd -d root > - > - echo "No password for 'root', please change !" > + echo "setting root passwd to root" > + echo "root:root" | chroot $rootfs chpasswd > > return 0 > } > -- Stéphane Graber Ubuntu developer http://www.ubuntu.com
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: TUNE You got it built. Now make it sing. Tune shows you how. http://goparallel.sourceforge.net
_______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel