From c34356ba58eba60c1e293ab28374080a043b738e Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Thu, 16 Aug 2001 08:26:13 +0000 Subject: [PATCH] o checked in the new driver, and the uml dir --- driver/device-mapper/device-mapper.c | 707 +++++++++++++++++++++++++++ driver/device-mapper/device-mapper.h | 72 +++ driver/user_mode_linux/README | 30 ++ driver/user_mode_linux/config-uml | 282 +++++++++++ driver/user_mode_linux/setup-uml | 195 ++++++++ driver/user_mode_linux/uml-lvm.patch | 22 + driver/user_mode_linux/uml.patch.bz2 | Bin 0 -> 99839 bytes 7 files changed, 1308 insertions(+) create mode 100644 driver/device-mapper/device-mapper.c create mode 100644 driver/device-mapper/device-mapper.h create mode 100644 driver/user_mode_linux/README create mode 100644 driver/user_mode_linux/config-uml create mode 100755 driver/user_mode_linux/setup-uml create mode 100644 driver/user_mode_linux/uml-lvm.patch create mode 100644 driver/user_mode_linux/uml.patch.bz2 diff --git a/driver/device-mapper/device-mapper.c b/driver/device-mapper/device-mapper.c new file mode 100644 index 000000000..4a27704cb --- /dev/null +++ b/driver/device-mapper/device-mapper.c @@ -0,0 +1,707 @@ +/* + * device-mapper.c + * + * Copyright (C) 2001 Sistina Software + * + * This software is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2, or (at + * your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU CC; see the file COPYING. If not, write to + * the Free Software Foundation, 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Changelog + * + * 14/08/2001 - First Version [Joe Thornber] + */ + + +/* TODO: + * + * dm_ctr_fn should provide the sector sizes, and hardsector_sizes set + * to the smallest of these. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * defines for blk.h + */ +#define MAJOR_NR DM_BLK_MAJOR +#define DEVICE_OFF(device) +#define LOCAL_END_REQUEST +#define MAX_DEPTH 16 +#define NODE_SIZE L1_CACHE_BYTES +#define KEYS_PER_NODE (NODE_SIZE / sizeof(offset_t)) + + +#include + +/* + * FIXME: write description + */ + +#define MAX_DEVICES 64 +#define DEFAULT_READ_AHEAD 64 + +#define WARN(f, x...) printk(KERN_WARNING "%s " f, _name , ## x) + +const char *_name = "device-mapper"; +int _version[3] = {1, 0, 0}; + + +struct mapper { + char *name; + dm_ctr_fn ctr; + dm_dtr_fn dtr; + dm_map_fn map; + + struct mapper *next; +}; + +struct mapped_device { + int in_use; + spinlock_t lock; + kdev_t dev; + + atomic_t pending; + int depth; + int counts[MAX_DEPTH]; /* in nodes */ + offset_t *index[MAX_DEPTH]; + + int num_targets; + dm_map_fn *targets; + void **contexts; +}; + + +static int _dev_count = 0; +static struct mapped_device _devices[MAX_DEVICES]; + +static spinlock_t _mappers_lock = SPIN_LOCK_UNLOCKED; +static struct mapper *_mappers; + +/* block device arrays */ +static int _block_size[MAX_DEVICES]; +static int _blksize_size[MAX_DEVICES]; +static int _hardsect_size[MAX_DEVICES]; + +static int _ctl_open(struct inode *inode, struct file *file); +static int _ctl_close(struct inode *inode, struct file *file); +static int _ctl_ioctl(struct inode *inode, struct file *file, + uint command, ulong a); + +static struct file_operations _ctl_fops = { + open: _ctl_open, + release: _ctl_close, + ioctl: _ctl_ioctl, +}; + +static int _blk_open(struct inode *inode, struct file *file); +static int _blk_close(struct inode *inode, struct file *file); +static int _blk_ioctl(struct inode *inode, struct file *file, + uint command, ulong a); + +static struct block_device_operations _blk_dops = { + open: _blk_open, + release: _blk_close, + ioctl: _blk_ioctl +}; + +static void _init_mds(void); +static struct mapped_device *_build_map(struct device_table *t); +static int _request_fn(request_queue_t *q, int rw, struct buffer_head *bh); +static int _register_std_targets(void); +static struct mapped_device *_get_free_md(void); +static void _put_free_md(struct mapped_device *md); +static int _setup_targets(struct mapped_device *md, struct device_table *t); +static int _setup_btree(struct mapped_device *md, struct device_table *t); +static int _setup_btree_index(int l, struct mapped_device *md); +struct mapper *_find_mapper(const char *name); + +/* + * setup and teardown the driver + */ +static int _init(void) +{ + _init_mds(); + + if (!_register_std_targets()) + return -EIO; /* FIXME: better error value */ + + /* set up the arrays */ + read_ahead[MAJOR_NR] = DEFAULT_READ_AHEAD; + blk_size[MAJOR_NR] = _block_size; + blksize_size[MAJOR_NR] = _blksize_size; + hardsect_size[MAJOR_NR] = _hardsect_size; + + if (register_chrdev(DM_CTL_MAJOR, _name, &_ctl_fops) < 0) { + printk(KERN_ERR "%s - register_chrdev failed\n", _name); + return -EIO; + } + + if (register_blkdev(MAJOR_NR, _name, &_blk_dops) < 0) { + printk(KERN_ERR "%s -- register_blkdev failed\n", _name); + if (unregister_chrdev(DM_CTL_MAJOR, _name) < 0) + printk(KERN_ERR "%s - unregister_chrdev failed\n", + _name); + return -EIO; + } + + blk_queue_make_request(BLK_DEFAULT_QUEUE(MAJOR_NR), _request_fn); + + printk(KERN_INFO "%s(%d, %d, %d) successfully initialised\n", _name, + _version[0], _version[1], _version[2]); + return 0; +} + +static void _fin(void) +{ + if (unregister_chrdev(DM_CTL_MAJOR, _name) < 0) + printk(KERN_ERR "%s - unregister_chrdev failed\n", _name); + + if (unregister_blkdev(MAJOR_NR, _name) < 0) + printk(KERN_ERR "%s -- unregister_blkdev failed\n", _name); + + read_ahead[MAJOR_NR] = 0; + blk_size[MAJOR_NR] = 0; + blksize_size[MAJOR_NR] = 0; + hardsect_size[MAJOR_NR] = 0; + + printk(KERN_INFO "%s(%d, %d, %d) successfully finalised\n", _name, + _version[0], _version[1], _version[2]); +} + +/* + * character device fns + */ +static int _ctl_open(struct inode *inode, struct file *file) +{ + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; + + MOD_INC_USE_COUNT; + return 0; +} + +static int _ctl_close(struct inode *inode, struct file *file) +{ + MOD_DEC_USE_COUNT; + return 0; +} + +static int _ctl_ioctl(struct inode *inode, struct file *file, + uint command, ulong a) +{ + struct device_table info; + + if (copy_from_user(&info, (void *) a, sizeof(info))) + return -EFAULT; + + switch (command) { + case MAPPED_DEVICE_CREATE: + /* FIXME: copy arrays */ + _build_map(&info); + break; + + case MAPPED_DEVICE_DESTROY: + /* FIXME: finish */ + break; + + + default: + printk(KERN_WARNING "%s -- _ctl_ioctl: unknown command 0x%x\n", + _name, command); + return -EINVAL; + } + + return 0; +} + + +/* + * block device functions + */ +static int _blk_open(struct inode *inode, struct file *file) +{ + int minor = MINOR(inode->i_rdev); + struct mapped_device *md = _devices + minor; + + if (minor >= MAX_DEVICES) + return -ENXIO; + + spin_lock(&md->lock); + + if (!md->in_use) { + spin_unlock(&md->lock); + return -ENXIO; + } + + md->in_use++; + spin_unlock(&md->lock); + + MOD_INC_USE_COUNT; + return 0; +} + +static int _blk_close(struct inode *inode, struct file *file) +{ + int minor = MINOR(inode->i_rdev); + struct mapped_device *md = _devices + minor; + + if (minor >= MAX_DEVICES) + return -ENXIO; + + spin_lock(&md->lock); + + if (md->in_use <= 1) { + WARN("reference count in mapped_device incorrect\n"); + spin_unlock(&md->lock); + return -ENXIO; + } + + md->in_use--; + spin_unlock(&md->lock); + + MOD_INC_USE_COUNT; + return 0; +} + +static int _blk_ioctl(struct inode *inode, struct file *file, + uint command, ulong a) +{ + /* FIXME: check in the latest Rubini that all expected ioctl's + are supported */ + + int minor = MINOR(inode->i_rdev); + long size; + + switch (command) { + case BLKGETSIZE: + size = _block_size[minor] * 1024 / _hardsect_size[minor]; + if (copy_to_user((void *) a, &size, sizeof(long))) + return -EFAULT; + break; + + case BLKFLSBUF: + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; + fsync_dev(inode->i_rdev); + invalidate_buffers(inode->i_rdev); + return 0; + + case BLKRAGET: + if (copy_to_user((void *) a, &read_ahead[MAJOR(inode->i_rdev)], + sizeof(long))) + return -EFAULT; + return 0; + + case BLKRASET: + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; + read_ahead[MAJOR(inode->i_rdev)] = a; + return 0; + + case BLKRRPART: + return -EINVAL; + + default: + printk(KERN_WARNING "%s - unknown block ioctl %d\n", + _name, command); + return -EINVAL; + } + + return 0; +} + +static int _request_fn(request_queue_t *q, int rw, struct buffer_head *bh) +{ + struct mapped_device *md; + offset_t *node; + int i = 0, l, next_node = 0, ret = 0; + int minor = MINOR(bh->b_dev); + dm_map_fn fn; + void *context; + + if (minor >= MAX_DEVICES) + return -ENXIO; + + md = _devices + minor; + if (MINOR(md->dev != minor)) + return -ENXIO; + + for (l = 0; l < md->depth; l++) { + next_node = ((KEYS_PER_NODE + 1) * next_node) + i; + node = md->index[l] + (next_node * KEYS_PER_NODE); + + for (i = 0; i < KEYS_PER_NODE; i++) + if (node[i] >= bh->b_rsector) + break; + } + + next_node = (KEYS_PER_NODE * next_node) + i; + fn = md->targets[next_node]; + context = md->contexts[next_node]; + + if (fn) { + if ((ret = fn(bh, context))) + atomic_inc(&md->pending); + } else + buffer_IO_error(bh); + + return ret; +} + + +static struct mapped_device *_build_map(struct device_table *t) +{ + struct mapped_device *md = _get_free_md(); + + if (!md) + return 0; + + if (!_setup_targets(md, t)) + goto bad; + + if (!_setup_btree(md, t)) + goto bad; + + return md; + + bad: + _put_free_md(md); + return 0; +} + +static inline void *__aligned(size_t s, unsigned int align) +{ + return vmalloc(s); +} + +static inline void __free_aligned(void *ptr) +{ + vfree(ptr); +} + +static int _setup_targets(struct mapped_device *md, struct device_table *t) +{ + int i; + offset_t low = 0; + + md->num_targets = t->count; + md->targets = __aligned(sizeof(*md->targets) * md->num_targets, + NODE_SIZE); + + for (i = 0; i < md->num_targets; i++) { + struct mapper *m = _find_mapper(t->map[i].type); + if (!m) + return 0; + + if (!m->ctr(low, t->map[i].high + 1, + t->map[i].context, md->contexts + i)) { + WARN("contructor for '%s' failed\n", m->name); + return 0; + } + + md->targets[i] = m->map; + } + + return 1; +} + +static inline ulong _round_up(ulong n, ulong size) +{ + ulong r = n % size; + return ((n / size) + (r ? 1 : 0)) * size; +} + +static inline ulong _div_up(ulong n, ulong size) +{ + return _round_up(n, size) / size; +} + +static int _setup_btree(struct mapped_device *md, struct device_table *t) +{ + int n, i; + offset_t *k; + + /* how many indexes will the btree have ? */ + for (n = _div_up(md->num_targets, KEYS_PER_NODE), i = 1; n != 1; i++) + n = _div_up(n, KEYS_PER_NODE + 1); + + md->depth = i; + md->counts[md->depth - 1] = _div_up(md->num_targets, KEYS_PER_NODE); + + while (--i) + md->counts[i - 1] = _div_up(md->counts[i], KEYS_PER_NODE + 1); + + for (i = 0; i < md->depth; i++) { + size_t s = NODE_SIZE * md->counts[i]; + md->index[i] = __aligned(s, NODE_SIZE); + memset(md->index[i], -1, s); + } + + /* bottom layer is easy */ + for (k = md->index[md->depth - 1], i = 0; i < md->num_targets; i++) + k[i] = t->map[i].high; + + /* fill in higher levels */ + for (i = md->depth - 1; i; i--) + _setup_btree_index(i - 1, md); + + return 1; +} + +static offset_t __high(struct mapped_device *md, int l, int n) +{ + while (1) { + if (n >= md->counts[l]) + return (offset_t) -1; + + if (l == md->depth - 1) + return md->index[l][((n + 1) * KEYS_PER_NODE) - 1]; + + l++; + n = (n + 1) * (KEYS_PER_NODE + 1) - 1; + } +} + +static int _setup_btree_index(int l, struct mapped_device *md) +{ + int n, c, cn; + + for (n = 0, cn = 0; n < md->counts[l]; n++) { + offset_t *k = md->index[l] + (n * KEYS_PER_NODE); + + for (c = 0; c < KEYS_PER_NODE; c++) + k[c] = __high(md, l + 1, cn++); + cn++; + } + + return 1; +} + +static void _init_mds(void) +{ + int i; + + _dev_count = 0; + memset(_devices, 0, sizeof(_devices)); + for (i = 0; i < MAX_DEVICES; i++) { + _devices[i].lock = SPIN_LOCK_UNLOCKED; + _devices[i].dev = MKDEV(MAJOR_NR, i); + } +} + +static struct mapped_device *_get_free_md(void) +{ + int i; + struct mapped_device *m; + + for (i = 0; i < MAX_DEVICES; i++) { + m = _devices + i; + + spin_lock(&m->lock); + if (!m->in_use) { + m->in_use = 1; + spin_unlock(m); + return m; + } + spin_unlock(&m->lock); + } + + WARN("no free devices available\n"); + return 0; +} + +static void _put_free_md(struct mapped_device *md) +{ + int i; + + spin_lock(&md->lock); + + for (i = 0; i < md->depth; i++) + __free_aligned(md->index[i]); + + __free_aligned(md->targets); + __free_aligned(md->contexts); + + /* FIXME: check this is the correct length */ + memset(&md->depth, 0, + sizeof(*md) - ((void *) &md->depth - (void *) md)); + md->in_use = 0; + spin_unlock(&md->lock); +} + +int register_mapping_type(const char *name, dm_ctr_fn ctr, + dm_dtr_fn dtr, dm_map_fn map) +{ + struct mapper *m; + + if (_find_mapper(name)) { + WARN("mapper(%s) already registered\n", name); + return -1; /* FIXME: what's a good return value ? */ + } + + /* FIXME: There's a race between the last check and insertion */ + + if ((m = kmalloc(sizeof(*m) + strlen(name) + 1, GFP_KERNEL))) { + WARN("couldn't allocate memory for mapper\n"); + return -ENOMEM; + } + + m->name = (char *) (m + 1); + m->ctr = ctr; + m->dtr = dtr; + m->map = map; + + spin_lock(&_mappers_lock); + m->next = _mappers; + _mappers = m; + spin_unlock(&_mappers_lock); + + return 0; +} + +struct mapper *_find_mapper(const char *name) +{ + struct mapper *m; + + spin_lock(&_mappers_lock); + for (m = _mappers; m && strcmp(m->name, name); m = m->next) + ; + spin_unlock(&_mappers_lock); + + return m; +} + + +/* + * now for a couple of simple targets: + * + * 'io-err' target always fails an io, useful for bringing up LV's + * that have holes in them. + * + * 'linear' target maps a linear range of a device + */ +int _io_err_ctr(offset_t b, offset_t e, const char *context, void **result) +{ + /* this takes no arguments */ + *result = 0; + return 1; +} + +void _io_err_dtr(void *c) +{ + /* empty */ +} + +int _io_err_map(struct buffer_head *bh, void *context) +{ + buffer_IO_error(bh); + return 0; +} + + +struct linear_c { + kdev_t dev; + int offset; /* FIXME: we need a signed offset type */ +}; + +int _linear_ctr(offset_t b, offset_t e, const char *context, void **result) +{ + /* context string should be of the form: + * + */ + char *ptr = (char *) context; + struct linear_c *lc; + int major, minor, start; + + /* FIXME: somewhat verbose */ + major = simple_strtol(context, &ptr, 10); + if (ptr == context) + return 0; + + context = ptr; + minor = simple_strtol(context, &ptr, 10); + if (ptr == context) + return 0; + + context = ptr; + start = simple_strtoul(context, &ptr, 10); + if (ptr == context) + return 0; + + if (!(lc = kmalloc(sizeof(lc), GFP_KERNEL))) { + WARN("couldn't allocate memory for linear context\n"); + return 0; + } + + lc->dev = MKDEV(major, minor); + lc->offset = start - b; + + /* FIXME: we should open the PV */ + + *result = lc; + return 1; +} + +void _linear_dtr(void *c) +{ + kfree(c); +} + +int _linear_map(struct buffer_head *bh, void *context) +{ + struct linear_c *lc = (struct linear_c *) context; + + bh->b_rdev = lc->dev; + bh->b_rsector = bh->b_rsector + lc->offset; + return 1; +} + +static int _register_std_targets(void) +{ + int ret; + +#define xx(n, fn) \ + if ((ret = register_mapping_type(n, \ + fn ## _ctr, fn ## _dtr, fn ## _map) < 0)) return ret + + xx("io-err", _io_err); + xx("linear", _linear); +#undef xx + + return 0; +} + +/* + * module hooks + */ +module_init(_init); +module_exit(_fin); + +/* + * Local variables: + * c-file-style: "linux" + * End: + */ diff --git a/driver/device-mapper/device-mapper.h b/driver/device-mapper/device-mapper.h new file mode 100644 index 000000000..b525c56d4 --- /dev/null +++ b/driver/device-mapper/device-mapper.h @@ -0,0 +1,72 @@ +/* + * device-mapper.h + * + * Copyright (C) 2001 Sistina Software + * + * This software is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2, or (at + * your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU CC; see the file COPYING. If not, write to + * the Free Software Foundation, 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Changelog + * + * 14/08/2001 - First version [Joe Thornber] + */ + +#ifndef DEVICE_MAPPER_H +#define DEVICE_MAPPER_H + +#include + +/* FIXME: steal LVM's devices for now */ +#define DM_BLK_MAJOR LVM_BLK_MAJOR +#define DM_CTL_MAJOR LVM_CHAR_MAJOR + +typedef unsigned int offset_t; + +struct device_map { + offset_t high; + const char *type; + const char *context; +}; + +struct device_table { + unsigned int minor; + unsigned int major; + + unsigned long count; + struct device_map *map; +}; + +#define MAPPED_DEVICE_CREATE _IOWR(DM_CTL_MAJOR, 0, struct device_table) +#define MAPPED_DEVICE_DESTROY _IOW(DM_CTL_MAJOR, 1, struct device_table) + +#ifdef __KERNEL__ +typedef int (*dm_ctr_fn)(offset_t b, offset_t e, + const char *context, void **result); +typedef void (*dm_dtr_fn)(void *c); +typedef int (*dm_map_fn)(struct buffer_head *bh, void *context); + +int register_mapping_type(const char *name, dm_ctr_fn ctr, dm_dtr_fn dtr, + dm_map_fn map); +#endif + +#endif + +/* + * Local variables: + * c-file-style: "linux" + * End: + */ diff --git a/driver/user_mode_linux/README b/driver/user_mode_linux/README new file mode 100644 index 000000000..34c5f1dc8 --- /dev/null +++ b/driver/user_mode_linux/README @@ -0,0 +1,30 @@ +FILES +----- + +setup-uml - script to build a user mode linux system, with the lvm driver + symbolically linked back to the LVM dir so I can work from CVS. + +uml-lvm.patch - patch to enable lvm in the uml configuration + +uml.patch.bz2 - uml patch from + http://sourceforge.net/project/showfiles.php?group_id=429 + +config-uml - .config which turns on LVM + + +RUNNING +------- + +o checkout an LVM dir for use with uml + make sure you've got a copy of a root filesystem kicking about + +o edit the variables at the top of 'setup' + +o run setup-uml + +o move to your uml dir and run lvm-install as root + +o then run the 'up' script to run uml + +o if you want to rebuild uml after changing the LVM driver just change into + the linux directory and do a 'make linux ARCH=um'. Don't forget the ARCH=um. diff --git a/driver/user_mode_linux/config-uml b/driver/user_mode_linux/config-uml new file mode 100644 index 000000000..3375bbc2c --- /dev/null +++ b/driver/user_mode_linux/config-uml @@ -0,0 +1,282 @@ +# +# Automatically generated make config: don't edit +# +CONFIG_USERMODE=y +# CONFIG_ISA is not set +# CONFIG_SBUS is not set +# CONFIG_PCI is not set +CONFIG_UID16=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y + +# +# Multi-device support (RAID and LVM) +# +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_MD_LINEAR is not set +# CONFIG_MD_RAID0 is not set +# CONFIG_MD_RAID1 is not set +# CONFIG_MD_RAID5 is not set +CONFIG_BLK_DEV_LVM=y + +# +# General Setup +# +CONFIG_STDIO_CONSOLE=y +CONFIG_NET=y +CONFIG_SYSVIPC=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_SYSCTL=y +CONFIG_BINFMT_AOUT=y +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_MISC=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX98_PTY_COUNT=256 +CONFIG_SSL=y +CONFIG_HOSTFS=m +CONFIG_MCONSOLE=y +# CONFIG_MAGIC_SYSRQ is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +# CONFIG_KMOD is not set + +# +# Devices +# +CONFIG_BLK_DEV_UBD=y +# CONFIG_BLK_DEV_UBD_SYNC is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_NBD=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_INITRD=y +# CONFIG_MMAPPER is not set + +# +# Networking options +# +# CONFIG_PACKET is not set +# CONFIG_NETLINK is not set +# CONFIG_NETFILTER is not set +# CONFIG_FILTER is not set +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_INET_ECN is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_IPV6 is not set +# CONFIG_KHTTPD is not set +# CONFIG_ATM is not set + +# +# +# +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_DECNET is not set +# CONFIG_BRIDGE is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_LLC is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_FASTROUTE is not set +# CONFIG_NET_HW_FLOWCONTROL is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network drivers +# + +# +# ARCnet devices +# +# CONFIG_ARCNET is not set +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# Ethernet (10 or 100Mbit) +# +# CONFIG_NET_ETHERNET is not set + +# +# Ethernet (1000 Mbit) +# +# CONFIG_ACENIC is not set +# CONFIG_ACENIC_OMIT_TIGON_I is not set +# CONFIG_DL2K is not set +# CONFIG_MYRI_SBUS is not set +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_SK98LIN is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# CONFIG_PLIP is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Token Ring devices +# +# CONFIG_TR is not set +# CONFIG_NET_FC is not set +# CONFIG_RCPCI is not set +# CONFIG_SHAPER is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set + +# +# Network device support +# +# CONFIG_NETDEVICES is not set + +# +# File systems +# +CONFIG_QUOTA=y +CONFIG_AUTOFS_FS=m +CONFIG_AUTOFS4_FS=m +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +# CONFIG_ADFS_FS is not set +# CONFIG_ADFS_FS_RW is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_BFS_FS is not set +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_UMSDOS_FS=m +CONFIG_VFAT_FS=m +# CONFIG_EFS_FS is not set +# CONFIG_JFFS_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_TMPFS is not set +# CONFIG_RAMFS is not set +CONFIG_ISO9660_FS=m +# CONFIG_JOLIET is not set +CONFIG_MINIX_FS=m +# CONFIG_VXFS_FS is not set +# CONFIG_NTFS_FS is not set +# CONFIG_NTFS_RW is not set +# CONFIG_HPFS_FS is not set +CONFIG_PROC_FS=y +CONFIG_DEVFS_FS=y +CONFIG_DEVFS_MOUNT=y +# CONFIG_DEVFS_DEBUG is not set +CONFIG_DEVPTS_FS=y +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX4FS_RW is not set +# CONFIG_ROMFS_FS is not set +CONFIG_EXT2_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UDF_FS is not set +# CONFIG_UDF_RW is not set +# CONFIG_UFS_FS is not set +# CONFIG_UFS_FS_WRITE is not set + +# +# Network File Systems +# +# CONFIG_CODA_FS is not set +# CONFIG_NFS_FS is not set +# CONFIG_NFS_V3 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFSD is not set +# CONFIG_NFSD_V3 is not set +# CONFIG_SUNRPC is not set +# CONFIG_LOCKD is not set +# CONFIG_SMB_FS is not set +# CONFIG_NCP_FS is not set +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +# CONFIG_NCPFS_NFS_NS is not set +# CONFIG_NCPFS_OS2_NS is not set +# CONFIG_NCPFS_SMALLDOS is not set +# CONFIG_NCPFS_NLS is not set +# CONFIG_NCPFS_EXTRAS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_SMB_NLS is not set +CONFIG_NLS=y + +# +# Native Language Support +# +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_1251 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 + +# +# Kernel hacking +# +CONFIG_DEBUGSYM=y +CONFIG_PT_PROXY=y +# CONFIG_GPROF is not set +# CONFIG_GCOV is not set diff --git a/driver/user_mode_linux/setup-uml b/driver/user_mode_linux/setup-uml new file mode 100755 index 000000000..c3274dd2e --- /dev/null +++ b/driver/user_mode_linux/setup-uml @@ -0,0 +1,195 @@ +#! /usr/bin/perl -w + +use Cwd; + +############################## +# Start user configurable bit +############################## + +# Please use absolute paths too. +# you can't use ~'s in your paths here. + +# the directory where you've checked out lvm, keep a seperate copy for uml, +# the uml kernel will have links to these files +$lvm_src="/home/joe/sistina/LVM-thin"; + + +# the debian root image, get it from here: +# http://prdownloads.sourceforge.net/user-mode-linux/root_fs_debian2.2_small.bz2 +# unzip it once you've downloaded it +$root_fs="/home/joe/uml/root_fs"; + +# these are 100 Meg files created with dd +# these become our PV's /dev/ubd/[1-4] +# I sometimes use ubd/1 as swap though. +@block_devices = ("/home/joe/uml/block_devices/scratch1", + "/home/joe/uml/block_devices/scratch2", + "/home/joe/uml/block_devices/scratch3", + "/home/joe/uml/block_devices/scratch4"); + +# directory where uml will be built, and the up, lvm-install scripts will +# be placed +$dest_dir="/home/joe/builds/uml-thin"; + +# It must be 2.4.8, can be .gz or .bz2 +$kernel_tarball="/home/joe/packages/2.4/linux-2.4.8.tar"; + +############################### +# end of user configurable bit +############################### + + +$wd = cwd; +$uml_patch = $wd . "/uml.patch.bz2"; +$lvm_uml_patch = $wd . "/uml-lvm.patch"; + + +# check we've got everything we need +&check_file($root_fs); +&check_dir($lvm_src); +&check_file($kernel_tarball); +&check_dir($dest_dir); +&check_file($uml_patch); +&check_file($lvm_uml_patch); + + +chdir($dest_dir); +&extract_kernel($dest_dir, $kernel_tarball); +chdir("linux"); +&run_command("bzip2 -dc $uml_patch | patch -p1", "patching kernel with uml"); +&run_command("patch -p1 < $lvm_uml_patch", "enabling LVM driver"); + +#chdir($lvm_src); +#&run_command("make clean; rm -f config.cache", "cleaning lvm src"); +#&run_command("./configure --prefix=$dest_dir/root_fs_mnt " . +# "--with-kernel_dir=$dest_dir/linux", +# "configuring lvm"); + +chdir("$dest_dir/linux"); + +#&run_command("patch -p1 < $lvm_src/PATCHES/lvm--2.4.6.patch", +# "patching lvm driver"); + +&run_command("cd include/linux; rm -f lvm.h", "removing lvm.h"); + +&run_command("cd drivers/md; rm -f lvm*", + "removing the rest of the lvm files"); + +&run_command("cd include/linux; ln -s $lvm_src/kernel/device-mapper.h", + "creating symbolic link to device-mapper.h"); + +&run_command("cd drivers/md; ln -s $lvm_src/kernel/device-mapper.c", + "creating symbolic link to device-mapper.c"); + +&run_command("cp $wd/config-uml $dest_dir/linux/.config", + "copying linux config file"); + +chdir("$dest_dir/linux"); +&run_command("make oldconfig ARCH=um", "making oldconfig ARCH=um"); +&run_command("make dep ARCH=um", "making dependencies"); +&run_command("make linux ARCH=um", "building linux uml"); + +chdir($dest_dir); +&run_command("ln -s $dest_dir/linux/linux uml", "creating link for linux"); + +chdir("$lvm_src"); +&run_command("make", + "building lvm tools - you will need to install them as root"); + +chdir($dest_dir); +&run_command("ln -s $root_fs ./root_fs", "linking root filesystem"); + +chdir($dest_dir); +&link_devices(); +&write_up(); +mkdir "root_fs_mnt"; +&write_lvm_install(); + +print "Dont forget to run $dest_dir/lvm-install as root\n"; + + +sub write_lvm_install { + open(OUT, "> lvm-install"); + print OUT "#! /bin/sh\n\n"; + print OUT <<"end"; +mount root_fs root_fs_mnt -o loop +cd $lvm_src; make install; cd $dest_dir +umount root_fs_mnt +end + + close OUT; + system "chmod +x lvm-install"; +} + + +sub write_up { + open(UP, "> up"); + print UP "#! /bin/sh\n\n./uml "; + $count = 1; + for $d (@block_devices) { + print UP "ubd$count=ubd$count "; + $count++; + } + print UP "\n"; + close UP; + system("chmod +x up"); +} + +sub link_devices { + $count = 1; + foreach $d (@block_devices) { + &run_command("ln -s $d ubd$count", + "linking block device ubd$count"); + $count++; + } +} + +sub extract_kernel { + my($dest, $tb) = @_; + my($cmd); + if($tb =~ m/\.bz2/) { + $cmd = "tar Ixf $tb"; + + } elsif($tb =~ m/\.gz/) { + $cmd = "tar zxf $tb"; + + } else { + $cmd = "tar xf $tb"; + } + + &run_command($cmd, "extracting kernel"); +} + +sub run_command { + my($cmd) = shift; + my($desc) = shift; + my($r); + print STDERR $desc, " ... "; + $r = system("$cmd > /dev/null"); + if(!$r) { + print STDERR "done.\n"; + return; + } else { + print STDERR "failed.\n"; + exit(1); + } +} + +sub check_file { + $f = shift; + if(! -e $f) { + print STDERR "couldn't find $f\n"; + exit; + } +} + +sub check_dir { + $f = shift; + if(! -e $f || ! -d $f) { + print STDERR "couldn't find a directory called $f\n"; + exit; + } +} + + + diff --git a/driver/user_mode_linux/uml-lvm.patch b/driver/user_mode_linux/uml-lvm.patch new file mode 100644 index 000000000..0697cb9c8 --- /dev/null +++ b/driver/user_mode_linux/uml-lvm.patch @@ -0,0 +1,22 @@ +--- uml_build/arch/um/config.in.orig Tue Jan 2 14:33:42 2001 ++++ uml_build/arch/um/config.in Tue Jan 2 14:35:42 2001 +@@ -15,6 +15,8 @@ + bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL + endmenu + ++source drivers/md/Config.in ++ + mainmenu_option next_comment + comment 'Processor features' + bool 'Symmetric multi-processing support' CONFIG_SMP +--- linux/drivers/md/Makefile.orig Thu Jul 26 14:58:21 2001 ++++ linux/drivers/md/Makefile Thu Jul 26 14:58:40 2001 +@@ -6,7 +6,7 @@ + + export-objs := md.o xor.o + list-multi := lvm-mod.o +-lvm-mod-objs := lvm.o lvm-snap.o ++lvm-mod-objs := device-mapper.o + + # Note: link order is important. All raid personalities + # and xor.o must come before md.o, as they each initialise diff --git a/driver/user_mode_linux/uml.patch.bz2 b/driver/user_mode_linux/uml.patch.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..4c229a48641f2bfe62648d708123511a4c2a164c GIT binary patch literal 99839 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

(78K2N>U1N=C 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 ZY`(VqqXyXh4Xyw9yOJrwgn&NzN5JLa*7N`X literal 0 HcmV?d00001 -- 2.43.5