[Pkg-uml-pkgs] Re: Bug#399328: linux-patch-skas: user-mode-linux seems to not work on 2.6.18 patched with this package

Peder Chr. Nørgaard pcn at pogt.dk
Fri Nov 24 15:50:44 CET 2006


On Friday 24 November 2006 14:54, Stefano Melchior wrote:
> On Sun, Nov 19, 2006 at 11:34:43AM +0100, Peder Chr.N�rgaard wrote:
> Dear Peder,
>
	:
	:
>
> at first sigh it seems a problem related to rootstrap, not with
> linux-patch-skas. To affirm it I need to investigate a bit more.
> Did you test the just-compiled kernel (with SKAS patch)
> with an pre-build uml instance to check if it works?
> If I remember well you can find here, in http://uml.nagafix.co.uk/, some
> uml instances. Anyway what is your rootstrap.conf configuration?
>
> Cheers
>
> SteX

Hello Stefano, thanks for your answer.
	Yes, suspecting rootstrap is a natural thought, but I think it is not the 
case.  First, I did also try to start user-mode-linux directly, with the 
parameters derived from rootstrap.   Second, I did also try a root_fs 
successfully built with rootstrap under the non-SKAS kernel; starting 
user-mode-linux under the SKAS kernel it also hang at precisely the mentioned 
place.

	Third, since writing the report, I have found time to pick up the Debian 
2.6.17-9 source package and perform the same exercise with that.  And under 
my just-compiled 2.6.17-9 + SKAS kernel user-mode-linux runs just fine!  Same 
guest user-mode-linux (2.6.18-1um-2), same rootstrap, even same 
linux-patch-skas package, fortunately, as it holds patches for all older 
kernel sources, too.

	So the problem is clearly related to 2.6.18 - either the kernel source 
(linux-source-2.6.18 version 2.6.18-2) or the patch.

	I have a correction to the original report; well, the report is correct, but 
I had made a mistake, which I corrected with no effect to the problem.  I am 
not running this on a -686 CPU, but on an AMD Athlon, so I should really 
use -k7 kernels all the way through.  So I switched to a mainstream -k7 
kernel and a home-built -k7 kernel with SKAS; no changes, works fine on 
mainstream kernel, but the bug is still when SKAS patch is added to host 
system.  So the problem *may* theoretically be local to the fact that I am 
using an AMD Athlon CPU; I just don't think that is very likely.  If I can, I 
will try it out on a Pentium-based computer.

	Anyway, please find attached my rootstrap.conf - not that I think it is the 
cause of the problem.  The conf is based on having a squid running on the 
host system, with the lines

acl user-mode-linux src 172.16.0.0/255.240.0.0

http_access allow user-mode-linux

added suitable places in the squid.conf.  Also a stanza 
in /etc/network/interfaces:

auto tap0
iface tap0 inet static
        address 172.16.0.1
        netmask 255.255.255.0
        tunctl_user uml-net
        up /sbin/ip -4 route add to 172.16.1.0/24 via 172.16.0.2
        up /sbin/ip -4 route add to 172.16.2.0/24 via 172.16.0.2
	
best regards
-- 
Peder Chr. Nørgaard     e-mail: pcn at pogt.dk
Gefionsvej 19           spejder-e-mail: hathi at gallerne.dk
DK-8230 Åbyhøj          tel: +45 87 44 11 99
Denmark                 mob: +45 30 91 84 31
-------------- next part --------------
#
# Global settings, these are passed on to all modules
#
[global]
fstype=ext3

# How large to create the initial image (MB).  Be generous, as image
# creation will fail if it is too small, and it will be created as a
# sparse file, making it relatively inexpensive
initialsize=1024

# Will be resized to leave this much free space (MB) when building is
# complete.  Leave unset or set to 0 to disable resizing.
freespace=256

# Which modules to invoke.  Each module can have its own section
# below, with module-specific settings
modules=network mkfs mount debian uml umount

# Global environment variables
PATH=/bin:/sbin:/usr/bin:/usr/sbin

# Use of a caching proxy is highly recommended where a local mirror is
# not available, so that packages are not fetched many times
# unnecessarily.  I use squid.
http_proxy=http://172.16.0.1:3128

# UML supplemental arguments
# uncomment the following if you're running heavy processes in the
# image creation, such as creating locales
umlargs=mem=96M

# Debugging stuff, if a rootstrap module fails spawn a shell to allow
# investigating. Set the following variable to "true" if you want 
# such behaviour.
#debug=true

#
# Networking
#
# required unless you have a local copy of all packages to be installed
# these settings are only used during installation

[network]

hostname=pcnhuml

# TUN/TAP configuration

# For proxy ARP, use host=<your host's LAN IP address> and
# uml=<a free LAN IP address for UML's use>

# For a routing configuration, or if the installation process does not
# need to reach anywhere except the host, use a separate RFC1918
# subnet for the virtual network between the host and UML.

#interface=eth0
#transport=tuntap
#host=192.168.10.1
#uml=192.168.10.2
#netmask=255.255.255.252

# For a preconfigured tap device (see tunctl(1))
#host_if=tap0

# Use this for slirp
#interface=eth0
#transport=slirp
#host=
#uml=10.0.2.15
#nameserver=10.0.2.3
#gateway=10.0.2.2
#netmask=255.255.0.0
#slirp=slirp-fullbolt

# Use this for uml_switch.  uml-utilities will automatically start one
# up, and users in the uml-net group can access it.  Connect it to
# a tap device to access the host (see /etc/default/uml-utilities)
interface=eth0
transport=daemon
uml=172.16.0.2
netmask=255.255.255.0
control=/var/run/uml-utilities/uml_switch.ctl
data=/var/run/uml-utilities/uml_switch.data

# Gateway address (optional)
# Note: you must have IP forwarding set up, or use proxy ARP, in order
# to reach external hosts.  See the User-Mode Linux documentation.
gateway=172.16.0.1

# DNS configuration
# optional if you are fetching packages through a proxy

#domain=example.com
#nameserver=192.168.10.1

#
# Debian module
#
[debian]
dist=sid

# A local mirror is best, a caching proxy (such as squid) 
# is almost as good
mirror=http://ftp.dk.debian.org/debian

# Packages which should not be installed in the first place (be sure
# you know what you're doing)
exclude=pcmcia-cs setserial

# Packages which should be purged after the initial install
#<purge=base-config console-common console-tools console-data console-tools-libs

# Extra packages to install via debootstrap
#include=myfavoritepackage someotherpackage

# Extra packages to install via apt after initial debootstrap install
#install=myfavoritepackage someotherpackage

# A debconf DB file where to get preseeded answers
#debconf_preseed_file=/etc/rootstrap/config.dat

# Sources for target's sources list. If no value is given the default
# is to use the main section of $mirror
# NOTE: you can provide multiple lines if each new line is indented
# with blank spaces
#sources=
# deb http://security.debian.org/ stable/updates main contrib non-free
# deb http://http.us.debian.org/debian sarge main contrib non-free

# Use the --force-yes switch for apt-get, useful for e.g. installing
# packages from untrusted sources (in the apt-key sense)
#apt_force_yes=true

# Entries for target's /etc/apt/preferences
# NOTE: you can provide multiple lines if each new line is indented
# with blank spaces. apt_preferences atanzas mut be separated by
# a line containing only a dot (".")
#preferences=
# Package: *
# Pin: release unstable
# Pin-Priority: 300
# .
# Package: *
# Pin: release testing
# Pin-Priority: 400

# Entries for target's /etc/apt/apt.conf
# NOTE: you can provide multiple lines if each new line is indented
# with blank spaces
#apt_conf=
# Acquire::http::Proxy {"http://[[user][:pass]@]host[:port]/"};
# Acquire::ftp::Proxy {"ftp://[[user][:pass]@]host[:port]/"};

[base-config]
root_password=rootstrap

[tasksel]
# This should always include -n.  See tasksel(8)
#flags=-n -s

# kernel_modules can be one of none, hostfs or copy (default)
[uml]
kernel_modules=copy
kernel_modules_dir=/usr/lib/uml/modules
# deprecated option
#install_modules=yes


More information about the Pkg-uml-pkgs mailing list