# HG changeset patch # User Paul Boddie # Date 1310343417 -7200 # Node ID d61059aa86c71e139d3f2dae28dc1b4f7a477149 # Parent 5f0c57a96935c3aab5224864b1ba2d74d41e2952 Integrated the UML functionality better with the package root functionality. Made various POSIX shell compatibility fixes. Improved the reliability of various operations. diff -r 5f0c57a96935 -r d61059aa86c7 README.txt --- a/README.txt Thu May 26 23:55:42 2011 +0200 +++ b/README.txt Mon Jul 11 02:16:57 2011 +0200 @@ -209,10 +209,10 @@ The user-setup, user-postsetup and user-do scripts also support a --root option which sets up a package manager for a user with root privileges. To -set up such an installation, the following commands could be used: +set up such an installation, the following commands can be used: sudo user-setup --root -sudo user-postsetup +sudo user-postsetup --root Entering the installation is done using the user-do script: @@ -254,30 +254,19 @@ environment for package installation and testing. This can be performed using the User Mode Linux (UML) software. -To convert a package manager installation into a UML instance, start with the -user-to-uml script which changes the installation's configuration in a number -of areas: +Since UML needs to see its filesystems as images, not directories within an +existing filesystem, the uml-make-image script needs to create these image +files. For example, to create a root filesystem 1GB in size, along with a swap +file 512MB in size: -user-to-uml - -Then, as a privileged user, run the uml-setupdev script to initialise some -UML-specific device files: - -sudo uml-setupdev +uml-make-image 4 512 -Since UML needs to see its filesystems as images, not directories within an -existing filesystem, the uml-setupfs script needs to create these image files. -For example, to create a root filesystem 1GB in size, along with a swap file -512MB in size: - -uml-setupfs 4 512 +This will create a UML instance from an existing package manager installation. -Again, as a privileged user, these images are then populated with the package -manager contents as follows: +Building User Mode Linux +------------------------ -sudo uml-postsetupfs - -NOTE: Add Linux build process. +To make a User Mode Linux executable, run the uml-build-linux script. Enabling Networking for UML Instances ------------------------------------- diff -r 5f0c57a96935 -r d61059aa86c7 uml-do --- a/uml-do Thu May 26 23:55:42 2011 +0200 +++ b/uml-do Mon Jul 11 02:16:57 2011 +0200 @@ -1,25 +1,23 @@ -#!/bin/bash -# Usage: uml-enter [ ] +#!/bin/sh # Configuration: if [ -e userinstall-defaults-uml ]; then - source userinstall-defaults-uml + . "$PWD/userinstall-defaults-uml" elif [ -e /etc/default/userinstall-uml ]; then - source /etc/default/userinstall-uml + . /etc/default/userinstall-uml else - echo "No defaults found for userinstall (UML)." + echo "No defaults found for userinstall (UML)." 1>&2 exit 1 fi +PROGNAME=`basename "$0"` + if [ ! "$1" ]; then - echo "$0 " + echo "Usage: $PROGNAME " 1>&2 exit 1 fi -export IMAGE="$UMLROOT/rootfs" -export SWAPIMAGE="$UMLROOT/swap" -export UML_MEMORY="$1" -export THIS_DIR="`dirname $0`" +UML_MEMORY="$1" # Discard the memory argument. @@ -27,12 +25,12 @@ # Test for networking. -if [ "$1" == '--net' ]; then - export UML_NETWORKING="$NETDEVICE=tuntap,$TUNDEVICE,fe:fd:0:0:0:1,$HOSTADDRESS" +if [ "$1" = '--net' ]; then + UML_NETWORKING="$NETDEVICE=tuntap,$TUNDEVICE,fe:fd:0:0:0:1,$HOSTADDRESS" xhost +"$GUESTADDRESS" shift 1 fi # Now we start the virtual machine... -"$THIS_DIR/linux" ubd0="$IMAGE" ubd1="$SWAPIMAGE" mem="$UML_MEMORY" "$UML_NETWORKING" $* +./linux ubd0="$IMAGE" ubd1="$SWAPIMAGE" mem="$UML_MEMORY" "$UML_NETWORKING" $* diff -r 5f0c57a96935 -r d61059aa86c7 uml-linux-build --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uml-linux-build Mon Jul 11 02:16:57 2011 +0200 @@ -0,0 +1,76 @@ +#!/bin/sh + +# Configuration: +if [ -e userinstall-defaults-uml ]; then + . "$PWD/userinstall-defaults-uml" +elif [ -e /etc/default/userinstall-uml ]; then + . /etc/default/userinstall-uml +else + echo "No defaults found for userinstall (UML)." 1>&2 + exit 1 +fi + +if [ ! -e "$PACKAGEROOT" ]; then + echo "A package root must first be made using user-setup." 1>&2 + exit 1 +fi + +THISDIR=`dirname "$0"` + +if [ ! -e linux ]; then + if [ ! -e "$LINUXDIRNAME" ]; then + if [ ! -e "$LINUXARCHIVE" ]; then + echo "Getting the Linux kernel archive..." 1>&2 + wget -O "$LINUXARCHIVE" "$LINUXADDRESS" + fi + + echo "Unpacking the archive..." 1>&2 + tar jxf "$LINUXARCHIVE" + fi + if [ ! -e "$LINUXDIRNAME/linux" ]; then + + # Copy our configuration into the unpacked directory. + # Normally we would do this: + # make defconfig ARCH=um + # make menuconfig ARCH=um + # In "File systems", "CD-ROM/DVD Filesystems", press Y for "ISO 9660...". + # The supplied configuration file should include this information. + echo "Adding configuration..." 1>&2 + if [ -e "$LINUXDIRNAME/.config" ]; then + if [ ! -e "$LINUXDIRNAME/.config.original" ]; then + echo "$LINUXDIRNAME/.config -> $LINUXDIRNAME/.config.original" 1>&2 + mv "$LINUXDIRNAME/.config" "$LINUXDIRNAME/.config.original" + fi + fi + + echo "uml-linux-build.config -> $LINUXDIRNAME/.config" + cp "$THISDIR/uml-linux-build.config" "$LINUXDIRNAME/.config" + fi + + # Enter the unpacked directory and build. + cd "$LINUXDIRNAME" + + #echo "Patching hostaudio for SDL..." + #patch -p0 < ../patches/hostaudio_kern.c.diff + + echo "Building..." 1>&2 + make ARCH=um + + # Mount the root filesystem and install the modules. + echo "Making the modules..." 1>&2 + make modules ARCH=um + + echo "Installing the modules..." 1>&2 + make modules_install INSTALL_MOD_PATH="$PACKAGEROOT" ARCH=um + cd .. +fi + +# Now get the executable and remove the build directory. +if [ ! -e linux ]; then + mv "$LINUXDIRNAME/linux" . +fi + +if [ -e linux ]; then + echo "To remove the Linux kernel sources, do this:" 1>&2 + echo "rm -rf '$LINUXDIRNAME'" 1>&2 +fi diff -r 5f0c57a96935 -r d61059aa86c7 uml-linux-build.config --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uml-linux-build.config Mon Jul 11 02:16:57 2011 +0200 @@ -0,0 +1,569 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.24.3 +# Sat Mar 15 21:01:57 2008 +# +CONFIG_DEFCONFIG_LIST="arch/$ARCH/defconfig" +CONFIG_GENERIC_HARDIRQS=y +CONFIG_UML=y +CONFIG_MMU=y +CONFIG_NO_IOMEM=y +# CONFIG_TRACE_IRQFLAGS_SUPPORT is not set +CONFIG_LOCKDEP_SUPPORT=y +# CONFIG_STACKTRACE_SUPPORT is not set +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_IRQ_RELEASE_METHOD=y + +# +# UML-specific options +# +# CONFIG_STATIC_LINK is not set + +# +# Host processor type and features +# +# CONFIG_M386 is not set +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_M586MMX is not set +CONFIG_M686=y +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +# CONFIG_MPENTIUM4 is not set +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +# CONFIG_MCRUSOE is not set +# CONFIG_MEFFICEON is not set +# CONFIG_MWINCHIPC6 is not set +# CONFIG_MWINCHIP2 is not set +# CONFIG_MWINCHIP3D is not set +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set +# CONFIG_MPSC is not set +# CONFIG_MCORE2 is not set +# CONFIG_GENERIC_CPU is not set +# CONFIG_X86_GENERIC is not set +CONFIG_X86_CMPXCHG=y +CONFIG_X86_L1_CACHE_SHIFT=5 +CONFIG_X86_XADD=y +CONFIG_X86_PPRO_FENCE=y +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_INVLPG=y +CONFIG_X86_BSWAP=y +CONFIG_X86_POPAD_OK=y +CONFIG_X86_GOOD_APIC=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_X86_TSC=y +CONFIG_X86_CMOV=y +CONFIG_X86_MINIMUM_CPU_FAMILY=4 +CONFIG_UML_X86=y +CONFIG_X86_32=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +# CONFIG_64BIT is not set +CONFIG_SEMAPHORE_SLEEPERS=y +CONFIG_HOST_VMSPLIT_3G=y +# CONFIG_HOST_VMSPLIT_3G_OPT is not set +# CONFIG_HOST_VMSPLIT_2G is not set +# CONFIG_HOST_VMSPLIT_1G is not set +CONFIG_TOP_ADDR=0xC0000000 +# CONFIG_3_LEVEL_PGTABLES is not set +CONFIG_ARCH_HAS_SC_SIGNALS=y +CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +# CONFIG_TICK_ONESHOT is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_LD_SCRIPT_DYN=y +CONFIG_NET=y +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +CONFIG_BINFMT_MISC=m +# CONFIG_HOSTFS is not set +# CONFIG_HPPFS is not set +CONFIG_MCONSOLE=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_SMP is not set +CONFIG_NEST_LEVEL=0 +# CONFIG_HIGHMEM is not set +CONFIG_KERNEL_STACK_ORDER=2 + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=128 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_BSD_PROCESS_ACCT=y +# CONFIG_BSD_PROCESS_ACCT_V3 is not set +# CONFIG_TASKSTATS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_CGROUPS is not set +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FAIR_USER_SCHED=y +# CONFIG_FAIR_CGROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_KALLSYMS_EXTRA_PASS=y +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set +# CONFIG_BLK_DEV_BSG is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_AS=y +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="anticipatory" +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_UBD=y +# CONFIG_BLK_DEV_UBD_SYNC is not set +CONFIG_BLK_DEV_COW_COMMON=y +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# Character Devices +# +CONFIG_STDERR_CONSOLE=y +CONFIG_STDIO_CONSOLE=y +CONFIG_SSL=y +CONFIG_NULL_CHAN=y +CONFIG_PORT_CHAN=y +CONFIG_PTY_CHAN=y +CONFIG_TTY_CHAN=y +CONFIG_XTERM_CHAN=y +# CONFIG_NOCONFIG_CHAN is not set +CONFIG_CON_ZERO_CHAN="fd:0,fd:1" +CONFIG_CON_CHAN="xterm" +CONFIG_SSL_CHAN="pty" +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +# CONFIG_RAW_DRIVER is not set +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_WATCHDOG is not set +CONFIG_UML_SOUND=m +CONFIG_SOUND=m +CONFIG_HOSTAUDIO=m +# CONFIG_HW_RANDOM is not set +CONFIG_UML_RANDOM=y +# CONFIG_MMAPPER is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set + +# +# Networking +# + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set + +# +# Wireless +# +# CONFIG_CFG80211 is not set +# CONFIG_WIRELESS_EXT is not set +# CONFIG_MAC80211 is not set +# CONFIG_IEEE80211 is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# UML Network Devices +# +CONFIG_UML_NET=y +CONFIG_UML_NET_ETHERTAP=y +CONFIG_UML_NET_TUNTAP=y +CONFIG_UML_NET_SLIP=y +CONFIG_UML_NET_DAEMON=y +# CONFIG_UML_NET_VDE is not set +CONFIG_UML_NET_MCAST=y +# CONFIG_UML_NET_PCAP is not set +CONFIG_UML_NET_SLIRP=y +CONFIG_NETDEVICES=y +# CONFIG_NETDEVICES_MULTIQUEUE is not set +CONFIG_DUMMY=m +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +CONFIG_TUN=m +# CONFIG_VETH is not set + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_WAN is not set +CONFIG_PPP=m +# CONFIG_PPP_MULTILINK is not set +# CONFIG_PPP_FILTER is not set +# CONFIG_PPP_ASYNC is not set +# CONFIG_PPP_SYNC_TTY is not set +# CONFIG_PPP_DEFLATE is not set +# CONFIG_PPP_BSDCOMP is not set +# CONFIG_PPP_MPPE is not set +# CONFIG_PPPOE is not set +# CONFIG_PPPOL2TP is not set +CONFIG_SLIP=m +# CONFIG_SLIP_COMPRESSED is not set +CONFIG_SLHC=m +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_CONNECTOR is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_XATTR is not set +# CONFIG_EXT4DEV_FS is not set +CONFIG_JBD=y +CONFIG_REISERFS_FS=y +# CONFIG_REISERFS_CHECK is not set +# CONFIG_REISERFS_PROC_INFO is not set +# CONFIG_REISERFS_FS_XATTR is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QFMT_V1 is not set +# CONFIG_QFMT_V2 is not set +CONFIG_QUOTACTL=y +CONFIG_DNOTIFY=y +CONFIG_AUTOFS_FS=m +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +# CONFIG_ZISOFS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +# CONFIG_NFS_FS is not set +# CONFIG_NFSD is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +# CONFIG_NLS_CODEPAGE_437 is not set +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +# CONFIG_NLS_ISO8859_1 is not set +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=m +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=m +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_PLIST=y +CONFIG_HAS_DMA=y + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set +# CONFIG_SCSI_DMA is not set +# CONFIG_SCSI_NETLINK is not set +# CONFIG_MD is not set +# CONFIG_INPUT is not set +CONFIG_INSTRUMENTATION=y +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +CONFIG_DEBUG_SLAB=y +# CONFIG_DEBUG_SLAB_LEAK is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_SAMPLES is not set +# CONFIG_GPROF is not set +# CONFIG_GCOV is not set +# CONFIG_DEBUG_STACK_USAGE is not set diff -r 5f0c57a96935 -r d61059aa86c7 uml-make-devices --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uml-make-devices Mon Jul 11 02:16:57 2011 +0200 @@ -0,0 +1,22 @@ +#!/bin/sh + +if [ ! "$1" ]; then + echo "Need an image directory for the UML system." 1>&2 + exit 1 +fi + +IMAGEDIR=$1 + +echo "Creating special UML devices..." 1>&2 +if [ ! -e "$IMAGEDIR/dev/ubda" ]; then + for i in `seq 0 7`; do + let=$(echo $i|tr '0-7' 'a-z') + mknod "$IMAGEDIR/dev/ubd$let" b 98 $((16 * $i)) + for p in `seq 1 16`; do + mknod "$IMAGEDIR/dev/ubd$let$p" b 98 $((16 * $i + $p)) + done + done +fi + +echo "Initialising device files..." 1>&2 +chroot "$IMAGEDIR" /bin/sh -c 'mount -t proc proc /proc; cd /dev; ./MAKEDEV generic; umount /proc' diff -r 5f0c57a96935 -r d61059aa86c7 uml-make-image --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uml-make-image Mon Jul 11 02:16:57 2011 +0200 @@ -0,0 +1,100 @@ +#!/bin/sh + +# Configuration: +if [ -e userinstall-defaults-uml ]; then + . "$PWD/userinstall-defaults-uml" +elif [ -e /etc/default/userinstall-uml ]; then + . /etc/default/userinstall-uml +else + echo "No defaults found for userinstall (UML)." 1>&2 + exit 1 +fi + +if [ ! "$1" ]; then + echo "Need a root image size in GB." 1>&2 + exit 1 +fi + +if [ ! "$2" ]; then + echo "Need a swap image size in MB." 1>&2 + exit 1 +fi + +IMAGESIZE=$1 +SWAPSIZE=$2 +THISDIR=`dirname "$0"` + +if [ ! -e "$PACKAGEROOT" ]; then + echo "A package root must first be made using user-setup." 1>&2 + exit 1 +fi + +if [ ! "$IMAGEDIR" ]; then + echo "An image directory must be defined." 1>&2 + exit 1 +fi + +echo "Making the filesystem with size ${IMAGESIZE}GB..." +dd if=/dev/zero of=$IMAGE bs=1024 count=1 seek=$(($IMAGESIZE*1024*1024-1024)) +mkfs.ext3 $IMAGE + +echo "Making the swap file with size ${SWAPSIZE}MB..." +dd if=/dev/zero of=$SWAPIMAGE bs=1M count=$SWAPSIZE + +echo "Accessing the image..." 1>&2 +if [ ! -e "$IMAGEDIR" ]; then + mkdir "$IMAGEDIR" +fi +sudo mount -o loop "$IMAGE" "$IMAGEDIR" + +echo "Installing the package root..." 1>&2 +cp -a "$PACKAGEROOT/"* "$IMAGEDIR"/ + +echo "Removing any linked /dev entry..." 1>&2 +if [ -h "$IMAGEDIR/dev" ]; then + rm "$IMAGEDIR/dev" +fi + +if [ ! -e "$IMAGEDIR/dev" ]; then + mkdir "$IMAGEDIR/dev" +fi + +cp "/dev/MAKEDEV" "$IMAGEDIR/dev" + +echo "Removing any linked /proc entry..." 1>&2 +if [ -h "$IMAGEDIR/proc" ]; then + rm "$IMAGEDIR/proc" +fi + +if [ ! -e "$IMAGEDIR/proc" ]; then + mkdir "$IMAGEDIR/proc" +fi + +echo "Using a special fstab..." 1>&2 +if [ -e "$IMAGEDIR/etc/fstab" ]; then + if [ ! -e "$IMAGEDIR/etc/fstab.orig" ]; then + mv "$IMAGEDIR/etc/fstab" "$IMAGEDIR/etc/fstab.orig" + fi +fi +cp "$THISDIR/UML/fstab" "$IMAGEDIR/etc/fstab" + +# Tweak the inittab to only use tty0 and add it to securetty. +echo "Reconfiguring the console settings..." 1>&2 +if [ ! -e "$IMAGEDIR/etc/inittab.orig" ]; then + if [ -e "$IMAGEDIR/etc/inittab" ]; then + cp "$IMAGEDIR/etc/inittab" "$IMAGEDIR/etc/inittab.orig" + grep -v "getty" "$IMAGEDIR/etc/inittab.orig" > "$IMAGEDIR/etc/inittab" + fi + echo "# We launch just one console for UML:" >> "$IMAGEDIR/etc/inittab" + echo "c0:1235:respawn:/sbin/getty 38400 tty0 linux" >> "$IMAGEDIR/etc/inittab" + + echo "# UML modification: use tty0 or vc/0" >> "$IMAGEDIR/etc/securetty" + echo "tty0" >> "$IMAGEDIR/etc/securetty" + echo "vc/0" >> "$IMAGEDIR/etc/securetty" +fi + +sudo "$THISDIR/uml-make-devices" "$IMAGEDIR" + +echo "Unmounting the image..." 1>&2 +sudo umount "$IMAGEDIR" +rmdir "$IMAGEDIR" diff -r 5f0c57a96935 -r d61059aa86c7 uml-net --- a/uml-net Thu May 26 23:55:42 2011 +0200 +++ b/uml-net Mon Jul 11 02:16:57 2011 +0200 @@ -1,17 +1,17 @@ -#!/bin/bash +#!/bin/sh # Usage: uml-net ( --start | --stop ) # Configuration: if [ -e userinstall-defaults-uml ]; then - source userinstall-defaults-uml + . "$PWD/userinstall-defaults-uml" elif [ -e /etc/default/userinstall-uml ]; then - source /etc/default/userinstall-uml + . /etc/default/userinstall-uml else - echo "No defaults found for userinstall (UML)." + echo "No defaults found for userinstall (UML)." 1>&2 exit 1 fi -if [ "$1" == "--start" ]; then +if [ "$1" = "--start" ]; then chgrp adm /dev/net/tun tunctl -u "$2" -t "$TUNDEVICE" ifconfig "$TUNDEVICE" "$HOSTADDRESS" up @@ -20,7 +20,7 @@ iptables -I FORWARD -i "$TUNDEVICE" -j ACCEPT iptables -I FORWARD -o "$TUNDEVICE" -j ACCEPT -elif [ "$1" == "--stop" ]; then +elif [ "$1" = "--stop" ]; then iptables -t nat -D POSTROUTING 1 iptables -D FORWARD 1 iptables -D FORWARD 1 diff -r 5f0c57a96935 -r d61059aa86c7 uml-postsetupfs --- a/uml-postsetupfs Thu May 26 23:55:42 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -#!/bin/bash -# Usage: uml-postsetupfs - -# Configuration: -if [ -e userinstall-defaults-uml ]; then - source userinstall-defaults-uml -elif [ -e /etc/default/userinstall-uml ]; then - source /etc/default/userinstall-uml -else - echo "No defaults found for userinstall (UML)." - exit 1 -fi - -# Ensure that images have been set up. -if [ ! -e "$UMLROOT" ]; then - echo "No UML instances set up at $UMLROOT." - exit 1 -fi - -export IMAGE="$UMLROOT/rootfs" - -if [ ! -e "$IMAGE" ]; then - echo "No image set up at $IMAGE." - exit 1 -fi - -export IMAGEDIR="$UMLROOT/rootfsdir" - -if [ ! -e "$IMAGEDIR" ]; then - mkdir "$IMAGEDIR" -fi - -echo "Initialising device files..." -chroot "$PACKAGEROOT" /bin/bash -c 'mount -t proc proc /proc; cd /dev; ./MAKEDEV generic; umount /proc' - -echo "Accessing the image..." -mount -o loop "$IMAGE" "$IMAGEDIR" || exit 1 - -echo "Copying the filesystem into the image..." -cp -a "$PACKAGEROOT/"* "$IMAGEDIR" - -echo "Unmounting the image..." -umount "$IMAGEDIR" -rmdir "$IMAGEDIR" diff -r 5f0c57a96935 -r d61059aa86c7 uml-setupdev --- a/uml-setupdev Thu May 26 23:55:42 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -#!/bin/bash -# From UMLconfig... - -# Configuration: -if [ -e userinstall-defaults ]; then - source userinstall-defaults -elif [ -e /etc/default/userinstall ]; then - source /etc/default/userinstall -else - echo "No defaults found for userinstall." - exit 1 -fi - -echo "Creating special UML devices..." -if [ ! -e "$PACKAGEROOT/dev/ubda" ]; then - if [ -e "$PACKAGEROOT/dev" ]; then - for ((i=0; i<8; i++)) - do - let=$(echo $i|tr '0-7' 'a-z') - mknod "$PACKAGEROOT/dev/ubd$let" b 98 $[16 * $i] - for ((p=1; p<=16; p++)) do - mknod "$PACKAGEROOT/dev/ubd$let$p" b 98 $[16 * $i + $p] - done - done - else - echo "/dev not found!" - exit 1 - fi -fi diff -r 5f0c57a96935 -r d61059aa86c7 uml-setupfs --- a/uml-setupfs Thu May 26 23:55:42 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -#!/bin/bash -# Usage: uml-setupfs - -# Configuration: -if [ -e userinstall-defaults-uml ]; then - source userinstall-defaults-uml -elif [ -e /etc/default/userinstall-uml ]; then - source /etc/default/userinstall-uml -else - echo "No defaults found for userinstall (UML)." - exit 1 -fi - -# Ensure arguments have been provided. -if [[ ! "$1" || ! "$2" ]]; then - echo "$0 " - exit 1 -fi - -# Make the UML instance directory if not already present. - -echo "Making the UML instance directory at $UMLROOT..." -if [ ! -e "$UMLROOT" ]; then - mkdir "$UMLROOT" -fi - -export IMAGE="$UMLROOT/rootfs" -export IMAGESIZE="$1" -export SWAPIMAGE="$UMLROOT/swap" -export SWAPSIZE="$2" - -echo "Making the filesystem with size ${IMAGESIZE}GB..." -dd if=/dev/zero of="$IMAGE" bs=1024 count=1 seek=$((${IMAGESIZE}*1024*1024-1024)) -mkfs.ext3 "$IMAGE" - -echo "Making the swap file with size ${SWAPSIZE}MB..." -dd if=/dev/zero of="$SWAPIMAGE" bs=1M count="$SWAPSIZE" diff -r 5f0c57a96935 -r d61059aa86c7 user-do --- a/user-do Thu May 26 23:55:42 2011 +0200 +++ b/user-do Mon Jul 11 02:16:57 2011 +0200 @@ -1,37 +1,44 @@ -#!/bin/bash +#!/bin/sh # Usage: user-do [ --root [ --dev ] ] [ ] # Configuration: if [ -e userinstall-defaults ]; then - source userinstall-defaults + . "$PWD/userinstall-defaults" elif [ -e /etc/default/userinstall ]; then - source /etc/default/userinstall + . /etc/default/userinstall else echo "No defaults found for userinstall." exit 1 fi -if [[ "$1" == '--root' ]]; then +if [ "$1" = '--root' ]; then shift 1 mount -o bind /proc "$PACKAGEROOT/proc" mount -o bind /sys "$PACKAGEROOT/sys" - if [[ "$1" == '--dev' ]]; then + if [ "$1" = '--dev' ]; then + DEV=$1 shift 1 if [ -e "$PACKAGEROOT/dev.orig" ]; then echo "Devices may already be defined for the installation." else - mv "$PACKAGEROOT/dev" "$PACKAGEROOT/dev.orig" - mkdir "$PACKAGEROOT/dev" + if [ -e "$PACKAGEROOT/dev" ]; then + mv "$PACKAGEROOT/dev" "$PACKAGEROOT/dev.orig" + fi + if [ ! -e "$PACKAGEROOT/dev" ]; then + mkdir "$PACKAGEROOT/dev" + fi mount -o bind /dev "$PACKAGEROOT/dev" fi fi chroot "$PACKAGEROOT" $* umount "$PACKAGEROOT/proc" umount "$PACKAGEROOT/sys" - if [ -e "$PACKAGEROOT/dev.orig" ]; then + if [ "$DEV" ]; then umount "$PACKAGEROOT/dev" rmdir "$PACKAGEROOT/dev" - mv "$PACKAGEROOT/dev.orig" "$PACKAGEROOT/dev" + if [ -e "$PACKAGEROOT/dev.orig" ]; then + mv "$PACKAGEROOT/dev.orig" "$PACKAGEROOT/dev" + fi fi else fakeroot fakechroot $FAKECHROOT_OPTIONS chroot "$PACKAGEROOT" $* diff -r 5f0c57a96935 -r d61059aa86c7 user-path --- a/user-path Thu May 26 23:55:42 2011 +0200 +++ b/user-path Mon Jul 11 02:16:57 2011 +0200 @@ -1,11 +1,11 @@ -#!/bin/bash +#!/bin/sh # Usage: user-path # Configuration: if [ -e userinstall-defaults ]; then - source userinstall-defaults + . "$PWD/userinstall-defaults" elif [ -e /etc/default/userinstall ]; then - source /etc/default/userinstall + . /etc/default/userinstall else echo "No defaults found for userinstall." exit 1 diff -r 5f0c57a96935 -r d61059aa86c7 user-postsetup --- a/user-postsetup Thu May 26 23:55:42 2011 +0200 +++ b/user-postsetup Mon Jul 11 02:16:57 2011 +0200 @@ -1,24 +1,24 @@ -#!/bin/bash +#!/bin/sh # Usage: user-postsetup [ --root [ --dev ] ] [ ] # Configuration: if [ -e userinstall-defaults ]; then - source userinstall-defaults + . "$PWD/userinstall-defaults" elif [ -e /etc/default/userinstall ]; then - source /etc/default/userinstall + . /etc/default/userinstall else echo "No defaults found for userinstall." exit 1 fi -if [[ "$1" && "$1" == '--root' ]]; then +if [[ "$1" && "$1" = '--root' ]]; then export AS_ROOT=' --root' shift 1 fi export COUNTRY="$1" -export THIS_DIR="`dirname $0`" +THIS_DIR=`dirname "$0"` echo "Copying host DNS configuration..." cp /etc/resolv.conf "$PACKAGEROOT/etc/" @@ -31,7 +31,7 @@ cp /etc/network/interfaces "$PACKAGEROOT/etc/network/" echo "Copying package repository configuration..." -if [ "$USERINSTALL_CODENAME" == "$DISTRIB_CODENAME" ]; then +if [ "$USERINSTALL_CODENAME" = "$DISTRIB_CODENAME" ]; then cp /etc/apt/sources.list "$PACKAGEROOT/etc/apt/" elif [ -e "$USERINSTALL_CODENAME/sources.list" ]; then cp "$USERINSTALL_CODENAME/sources.list" "$PACKAGEROOT/etc/apt/" @@ -42,20 +42,20 @@ if [ "$AS_ROOT" ]; then echo "Mounting filesystems..." - "$THIS_DIR/user-do$AS_ROOT" mount -t proc proc /proc + "$THIS_DIR/user-do"$AS_ROOT mount -t proc proc /proc fi echo "Updating package details and upgrading..." -"$THIS_DIR/user-do$AS_ROOT" apt-get update -"$THIS_DIR/user-do$AS_ROOT" apt-get upgrade +"$THIS_DIR/user-do"$AS_ROOT apt-get update +"$THIS_DIR/user-do"$AS_ROOT apt-get upgrade if [ "$AS_ROOT" ]; then echo "Configuring a root installation..." - "$THIS_DIR/user-do$AS_ROOT" apt-get install locales console-data - "$THIS_DIR/user-do$AS_ROOT" dpkg-reconfigure locales - "$THIS_DIR/user-do$AS_ROOT" dpkg-reconfigure tzdata - "$THIS_DIR/user-do$AS_ROOT" dpkg-reconfigure console-data + "$THIS_DIR/user-do"$AS_ROOT apt-get install locales console-data + "$THIS_DIR/user-do"$AS_ROOT dpkg-reconfigure locales + "$THIS_DIR/user-do"$AS_ROOT dpkg-reconfigure tzdata + "$THIS_DIR/user-do"$AS_ROOT dpkg-reconfigure console-data echo "Unmounting filesystems..." - "$THIS_DIR/user-do$AS_ROOT" umount /proc + "$THIS_DIR/user-do"$AS_ROOT umount /proc fi diff -r 5f0c57a96935 -r d61059aa86c7 user-setup --- a/user-setup Thu May 26 23:55:42 2011 +0200 +++ b/user-setup Mon Jul 11 02:16:57 2011 +0200 @@ -1,17 +1,17 @@ -#!/bin/bash +#!/bin/sh # Usage: user-setup [ --root ] [ ] # Configuration: if [ -e userinstall-defaults ]; then - source userinstall-defaults + . "$PWD/userinstall-defaults" elif [ -e /etc/default/userinstall ]; then - source /etc/default/userinstall + . /etc/default/userinstall else echo "No defaults found for userinstall." exit 1 fi -if [ "$1" == "--help" ]; then +if [ "$1" = "--help" ]; then echo "Usage: user-setup [ --root ] [ ]" echo echo "Examples:" @@ -23,7 +23,7 @@ exit 1 fi -if [[ "$1" && "$1" == '--root' ]]; then +if [[ "$1" && "$1" = '--root' ]]; then export AS_ROOT=' --root' export MIRROR="$2" else diff -r 5f0c57a96935 -r d61059aa86c7 user-to-uml --- a/user-to-uml Thu May 26 23:55:42 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -#!/bin/bash -# Usage: user-to-uml - -# Configuration: -if [ -e userinstall-defaults ]; then - source userinstall-defaults -elif [ -e /etc/default/userinstall ]; then - source /etc/default/userinstall -else - echo "No defaults found for userinstall." - exit 1 -fi - -echo "Removing any linked /dev entry..." -if [ -h "$PACKAGEROOT/dev" ]; then - rm "$PACKAGEROOT/dev" - mkdir "$PACKAGEROOT/dev" -fi - -cp /dev/MAKEDEV $PACKAGEROOT/dev - -echo "Removing any linked /proc entry..." -if [ -h "$PACKAGEROOT/proc" ]; then - rm "$PACKAGEROOT/proc" - mkdir "$PACKAGEROOT/proc" -fi - -echo "Using a special fstab..." -if [ -e "$PACKAGEROOT/etc/fstab" ]; then - if [ ! -e "$PACKAGEROOT/etc/fstab.orig" ]; then - mv "$PACKAGEROOT/etc/fstab" "$PACKAGEROOT/etc/fstab.orig" - fi -fi -cp "`dirname $0`/UML/fstab" "$PACKAGEROOT/etc/fstab" - -# Tweak the inittab to only use tty0 and add it to securetty. -echo "Reconfiguring the console settings..." -if [ ! -e "$PACKAGEROOT/etc/inittab.orig" ]; then - cp "$PACKAGEROOT/etc/inittab" "$PACKAGEROOT/etc/inittab.orig" - grep -v "getty" "$PACKAGEROOT/etc/inittab.orig" > "$PACKAGEROOT/etc/inittab" - echo "# We launch just one console for UML:" >> "$PACKAGEROOT/etc/inittab" - echo "c0:1235:respawn:/sbin/getty 38400 tty0 linux" >> "$PACKAGEROOT/etc/inittab" - - echo "# UML modification: use tty0 or vc/0" >> "$PACKAGEROOT/etc/securetty" - echo "tty0" >> "$PACKAGEROOT/etc/securetty" - echo "vc/0" >> "$PACKAGEROOT/etc/securetty" -fi diff -r 5f0c57a96935 -r d61059aa86c7 userinstall-defaults --- a/userinstall-defaults Thu May 26 23:55:42 2011 +0200 +++ b/userinstall-defaults Mon Jul 11 02:16:57 2011 +0200 @@ -1,6 +1,6 @@ -#!/bin/bash +#!/bin/sh -source /etc/lsb-release +. /etc/lsb-release # If not using the same distribution inside the userinstall, replace these # definitions: @@ -16,5 +16,5 @@ # Configuration details for building and using a personal package manager. -export PACKAGEROOT="$HOME/.userinstall" -export KEYRING=$(echo $USERINSTALL_ID | tr '[:upper:]' '[:lower:]')-keyring +PACKAGEROOT="$HOME/.userinstall" +KEYRING=$(echo $USERINSTALL_ID | tr '[:upper:]' '[:lower:]')-keyring diff -r 5f0c57a96935 -r d61059aa86c7 userinstall-defaults-uml --- a/userinstall-defaults-uml Thu May 26 23:55:42 2011 +0200 +++ b/userinstall-defaults-uml Mon Jul 11 02:16:57 2011 +0200 @@ -1,18 +1,33 @@ -#!/bin/bash +#!/bin/sh # Main configuration: if [ -e userinstall-defaults ]; then - source userinstall-defaults + . "$PWD/userinstall-defaults" elif [ -e /etc/default/userinstall ]; then - source /etc/default/userinstall + . /etc/default/userinstall else echo "No defaults found for userinstall." exit 1 fi -# Configuration details for building a UML instance. +# Make sure the package root can be appended to. + +PACKAGEROOT=$(dirname "$PACKAGEROOT")/$(basename "$PACKAGEROOT") + +# Define the image locations. -export UMLROOT="$HOME/.userinstall-uml" +IMAGEDIR="$PACKAGEROOT-root" +IMAGE="$IMAGEDIR.fs" +SWAPIMAGE="$PACKAGEROOT-swap.fs" + +# The Linux version, location of the Linux kernel archive, and the download +# address. + +LINUXVERSION=2.6.39.2 +LINUXDIRNAME=linux-$LINUXVERSION +LINUXFILENAME=$LINUXDIRNAME.tar.bz2 +LINUXARCHIVE=$LINUXFILENAME +LINUXADDRESS=http://www.kernel.org/pub/linux/kernel/v2.6/$LINUXFILENAME # Optional settings. # Guest: the address used inside the UML instance @@ -20,7 +35,7 @@ # Devices: the tunnelling device (or interface) used by the actual machine, plus # the device (or interface) used inside the UML instance -export GUESTADDRESS=192.168.0.99 -export HOSTADDRESS=192.168.0.254 -export TUNDEVICE=tap0 -export NETDEVICE=eth0 +GUESTADDRESS=192.168.0.99 +HOSTADDRESS=192.168.0.254 +TUNDEVICE=tap0 +NETDEVICE=eth0