[lxc-devel] [PATCH] introduce --with-distro=raspbian

Serge Hallyn serge.hallyn at ubuntu.com
Mon Aug 11 14:58:12 UTC 2014


Quoting S.Çağlar Onur (caglar at 10ur.org):
> Raspberry Pi kernel finally supports all the bits required by LXC [1]
> 
> This patch makes "./configure --with-distro=raspbian" to install lxcbr0 based config file and upstart jobs.
> Also src/lxc/lxc.net now checks the existence of the lxc-dnsmasq user (and fallbacks to dnsmasq)
> 
> RPI users still need to pass "MIRROR=http://archive.raspbian.org/raspbian/" parameter to lxc-create to pick the correct packages
> 
> MIRROR=http://archive.raspbian.org/raspbian/ lxc-create -t debian -n rpi
> 
> [Could be applied to stable-1.0 if you cherry-pick 7157a508ba3015b830877a5e4d6ca9debb3fd064]
> 
> [1] https://github.com/raspberrypi/linux/issues/176
> 
> Signed-off-by: S.Çağlar Onur <caglar at 10ur.org>

Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>

> ---
>  configure.ac    | 6 +++---
>  src/lxc/lxc.net | 6 +++++-
>  2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 720fac4..462217e 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -59,7 +59,7 @@ if test "z$with_distro" = "z"; then
>  	with_distro="unknown"
>  fi
>  case $with_distro in
> -	ubuntu)
> +	ubuntu|raspbian)
>  		distroconf=default.conf.ubuntu
>  		;;
>  	redhat|centos|fedora|oracle|oracleserver)
> @@ -70,7 +70,7 @@ case $with_distro in
>  		;;
>  esac
>  AC_MSG_RESULT([$with_distro])
> -AM_CONDITIONAL([HAVE_DEBIAN], [test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu"])
> +AM_CONDITIONAL([HAVE_DEBIAN], [test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu" -o x"$with_distro" = "xraspbian"])
>  AM_CONDITIONAL([DISTRO_UBUNTU], [test "x$with_distro" = "xubuntu"])
>  
>  # Check for init system type
> @@ -88,7 +88,7 @@ case "$with_init_script" in
>  			redhat|centos|oracle|oracleserver)
>  				init_script=sysvinit
>  				;;
> -			debian)
> +			debian|raspbian)
>  				init_script=upstart,systemd
>  				;;
>  			ubuntu)
> diff --git a/src/lxc/lxc.net b/src/lxc/lxc.net
> index 5ea4f1d..9ec9695 100755
> --- a/src/lxc/lxc.net
> +++ b/src/lxc/lxc.net
> @@ -59,7 +59,11 @@ start() {
>  	if [ -n "$LXC_DOMAIN" ]; then
>  		LXC_DOMAIN_ARG="-s $LXC_DOMAIN -S /$LXC_DOMAIN/"
>  	fi
> -	dnsmasq $LXC_DOMAIN_ARG -u lxc-dnsmasq --strict-order --bind-interfaces --pid-file=${varrun}/dnsmasq.pid --conf-file=${LXC_DHCP_CONFILE} --listen-address ${LXC_ADDR} --dhcp-range ${LXC_DHCP_RANGE} --dhcp-lease-max=${LXC_DHCP_MAX} --dhcp-no-override --except-interface=lo --interface=${LXC_BRIDGE} --dhcp-leasefile=/var/lib/misc/dnsmasq.${LXC_BRIDGE}.leases --dhcp-authoritative || cleanup
> +	DNSMASQ_USER="lxc-dnsmasq"
> +	if ! getent passwd ${DNSMASQ_USER} >/dev/null; then
> +		DNSMASQ_USER="dnsmasq"
> +	fi
> +	dnsmasq $LXC_DOMAIN_ARG -u ${DNSMASQ_USER} --strict-order --bind-interfaces --pid-file=${varrun}/dnsmasq.pid --conf-file=${LXC_DHCP_CONFILE} --listen-address ${LXC_ADDR} --dhcp-range ${LXC_DHCP_RANGE} --dhcp-lease-max=${LXC_DHCP_MAX} --dhcp-no-override --except-interface=lo --interface=${LXC_BRIDGE} --dhcp-leasefile=/var/lib/misc/dnsmasq.${LXC_BRIDGE}.leases --dhcp-authoritative || cleanup
>  	touch ${varrun}/network_up
>  }
>  
> -- 
> 1.9.1
> 
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel


More information about the lxc-devel mailing list