Hi Bernard,

ok, i am on the way in getting 2.6.31.1 and lvm newset version in use.
lvm did a merge of devmapper and lvm, so i changed that rul file
accordingly.

All went finde, i am near the end, but i got a error, i hope anybody can
give me a hint on this, please find followed the last lines of a "make all":

If i succeed in getting this to work, i will try to update some other
utils to a newer version, as this are somewhat really old versions in SI :)

Thanks,
Ronny

==========================CUT==========================================
I: Using ld-linux-x86-64.so.2 as dynamic linker.
I: library reduction pass 1
Objects: reiserfstune jfs_mkfs jfs_tune ssh scp ssh-keygen sshd mkfs.xfs
xfs_db lvchange udevinfo torrentinfo-console mount dhclient udp-receiver
umount rsync module_usb hotplug module_ieee1394 bittorrent-console
module_pci udevd udevadm module_scsi ash mountpoint bc tar gzip discover
kexec hformat mkdosfs mke2fs tune2fs parted mkswap sfdisk blockdev mdadm
mkreiserfs
Object: sbin/reiserfstune
Object: sbin/jfs_mkfs
Object: sbin/jfs_tune
Object: usr/bin/ssh
Object: usr/bin/scp
Object: usr/bin/ssh-keygen
Object: usr/sbin/sshd
Object: sbin/mkfs.xfs
Object: sbin/xfs_db
Object: sbin/lvchange
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/usr/bin/udevinfo
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/bin/torrentinfo-console
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/bin/mount
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/sbin/dhclient
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/bin/udp-receiver
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/bin/umount
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/bin/rsync
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/sbin/module_usb
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/sbin/hotplug
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/sbin/module_ieee1394
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/bin/bittorrent-console
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/sbin/module_pci
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/sbin/udevd
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/sbin/udevadm
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/sbin/module_scsi
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/bin/ash
Object:
/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/build_dir/bin/mountpoint
Object: bin/bc
Object: bin/tar
Object: bin/gzip
Object: sbin/discover
Object: sbin/kexec
Object: sbin/hformat
Object: sbin/mkdosfs
Object: sbin/mke2fs
Object: sbin/tune2fs
Object: sbin/parted
Object: sbin/mkswap
Object: sbin/sfdisk
Object: sbin/blockdev
Object: sbin/mdadm
Object: sbin/mkreiserfs
945 symbols, 936 unresolved
Traceback (most recent call last):
  File
"/data1/SystemImager-BUILD/systemimager.trunk/initrd_source/mklibs",
line 480, in <module>
    raise "No library provides non-weak " + symbol
TypeError: exceptions must be classes or instances, not str
make: ***
[/data1/SystemImager-BUILD/systemimager.trunk/tmp/boel_binaries.tar.gz]
Error 1
==========================CUT==========================================

Bernard Li schrieb:
> Hi Ronny:
> 
> Since you are rebuilding SystemImager from scratch anyway, I suggest
> you update both the kernel and the lvm package to their respective
> newest version.  If you need specific instructions to do that, please
> let me know.
> 
> Don't have a lot of time to spend on SystemImager these days, but if
> you could test the configuration with newer kernel + LVM and provide
> us with a patch, I could perhaps check it into the repository.
> 
> Thanks,
> 
> Bernard
> 
> On Fri, Sep 25, 2009 at 10:15 AM, Ronny Boesger [ISPpro Internet KG]
> <r...@isppro.de> wrote:
>> Hello,
>>
>> first, nice work with systemimager :)
>>
>> I have a issue with systemimager trunk and a newer kernel. I have build
>> a newer kernelk 2.6.31, copied the modules to boel_binaries.tar.gz file
>> and the updated the kernel.
>>
>> All is working perfectly, but lvm makes problems. The partition is
>> created through parted correctly, but then the pvcreate command fails:
>>
>> # pvcreate -M2 -ff -y /dev/sda2
>>  Device /dev/sda2 not found (or ignored by filtering).
>>
>> This works with a older kernel (2.6.24) without any problem, so it must
>> be kernel related.
>>
>> I read and found, that the sysfs may be changed, as in a repository of
>> lvm i found a change short after the release of the plain old lvm in
>> systemimager :)
>> The patch is attached as diff file,
>> The url for the original file is:
>> http://sources.redhat.com/ml/lvm2-cvs/2007-10/msg00008.html
>>
>> I first ask, if anyone have a clue, if this is correct, i don`t want to
>> use UYOK, as 1 kernel for all distributions is simpler to manage in sum.
>>
>> I need a new kernel, as we use new hardware /intel dg43gt mainboard, and
>> some others with ICH10R).
>>
>>
>> BTW: Are there plans, to upgrade systemimager to a newer kernel, lvm
>> etc. are here testers or so needed ?
>>
>> thanks,
>> ronny
>>
>>
>> ################################################################################
>> # Added by Ronny Boesger, this is for supporting newer kernels.
>> # in my case, its 2.6.31
>> ################################################################################
>>
>> *** lib/filters/filter-sysfs.c  2007-04-26 18:44:58.000000000 +0200
>> --- lib/filters/filter-sysfs.c.new      2009-09-25 18:48:07.000000000 +0200
>> ***************
>> *** 20,31 ****
>>
>>  #include <dirent.h>
>>
>> ! static int _locate_sysfs_blocks(const char *proc, char *path, size_t len)
>>  {
>>        char proc_mounts[PATH_MAX];
>> -       int r = 0;
>>        FILE *fp;
>>        char *split[4], buffer[PATH_MAX + 16];
>>
>>        if (!*proc) {
>>                log_verbose("No proc filesystem found: skipping sysfs 
>> filter");
>> --- 20,33 ----
>>
>>  #include <dirent.h>
>>
>> ! static int _locate_sysfs_blocks(const char *proc, char *path, size_t len,
>> !                               unsigned *sysfs_depth)
>>  {
>>        char proc_mounts[PATH_MAX];
>>        FILE *fp;
>>        char *split[4], buffer[PATH_MAX + 16];
>> +       const char *sys_mnt = NULL;
>> +       struct stat info;
>>
>>        if (!*proc) {
>>                log_verbose("No proc filesystem found: skipping sysfs 
>> filter");
>> ***************
>> *** 46,55 ****
>>        while (fgets(buffer, sizeof(buffer), fp)) {
>>                if (dm_split_words(buffer, 4, 0, split) == 4 &&
>>                    !strcmp(split[2], "sysfs")) {
>> !                       if (dm_snprintf(path, len, "%s/%s", split[1],
>> !                                        "block") >= 0) {
>> !                               r = 1;
>> !                       }
>>                        break;
>>                }
>>        }
>> --- 48,54 ----
>>        while (fgets(buffer, sizeof(buffer), fp)) {
>>                if (dm_split_words(buffer, 4, 0, split) == 4 &&
>>                    !strcmp(split[2], "sysfs")) {
>> !                       sys_mnt = split[1];
>>                        break;
>>                }
>>        }
>> ***************
>> *** 57,63 ****
>>        if (fclose(fp))
>>                log_sys_error("fclose", proc_mounts);
>>
>> !       return r;
>>  }
>>
>>  /*----------------------------------------------------------------
>> --- 56,125 ----
>>        if (fclose(fp))
>>                log_sys_error("fclose", proc_mounts);
>>
>> !       if (!sys_mnt) {
>> !       log_error("Failed to find sysfs mount point");
>> !       return 0;
>> !       }
>> !
>> !       /*
>> !        * unified classification directory for all kernel subsystems
>> !        *
>> !        * /sys/subsystem/block/devices
>> !        * |-- sda -> 
>> ../../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
>> !        * |-- sda1 -> 
>> ../../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1
>> !        *  `-- sr0 -> 
>> ../../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0
>> !        *
>> !        */
>> !       if (dm_snprintf(path, len, "%s/%s", sys_mnt,
>> !       "subsystem/block/devices") >= 0) {
>> !       if (!stat(path, &info)) {
>> !       *sysfs_depth = 0;
>> !       return 1;
>> !       }
>> !         }
>> !
>> !       /*
>> !        * block subsystem as a class
>> !        *
>> !        * /sys/class/block
>> !        * |-- sda -> 
>> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
>> !        * |-- sda1 -> 
>> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1
>> !        *  `-- sr0 -> 
>> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0
>> !        *
>> !        */
>> !       if (dm_snprintf(path, len, "%s/%s", sys_mnt, "class/block") >= 0) {
>> !       if (!stat(path, &info)) {
>> !       *sysfs_depth = 0;
>> !       return 1;
>> !       }
>> !       }
>> !
>> !       /*
>> !        * old block subsystem layout with nested directories
>> !        *
>> !        * /sys/block/
>> !        * |-- sda
>> !        * |   |-- capability
>> !        * |   |-- dev
>> !        * ...
>> !        * |   |-- sda1
>> !        * |   |   |-- dev
>> !        * ...
>> !        * |
>> !        * `-- sr0
>> !        *     |-- capability
>> !        *     |-- dev
>> !        * ...
>> !        *
>> !        */
>> !       if (dm_snprintf(path, len, "%s/%s", sys_mnt, "block") >= 0) {
>> !               if (!stat(path, &info)) {
>> !               *sysfs_depth = 1;
>> !               return 1;
>> !               }
>> !       }
>> !
>> !       return 0;
>>  }
>>
>>  /*----------------------------------------------------------------
>> ***************
>> *** 72,82 ****
>>  struct dev_set {
>>        struct dm_pool *mem;
>>        const char *sys_block;
>>        int initialised;
>>        struct entry *slots[SET_BUCKETS];
>>  };
>>
>> ! static struct dev_set *_dev_set_create(struct dm_pool *mem, const char 
>> *sys_block)
>>  {
>>        struct dev_set *ds;
>>
>> --- 134,147 ----
>>  struct dev_set {
>>        struct dm_pool *mem;
>>        const char *sys_block;
>> +       unsigned sysfs_depth;
>>        int initialised;
>>        struct entry *slots[SET_BUCKETS];
>>  };
>>
>> ! static struct dev_set *_dev_set_create(struct dm_pool *mem,
>> !                                       const char *sys_block,
>> !                                       unsigned sysfs_depth)
>>  {
>>        struct dev_set *ds;
>>
>> ***************
>> *** 85,90 ****
>> --- 150,156 ----
>>
>>        ds->mem = mem;
>>        ds->sys_block = dm_pool_strdup(mem, sys_block);
>> +       ds->sysfs_depth = sysfs_depth;
>>        ds->initialised = 0;
>>
>>        return ds;
>> ***************
>> *** 168,180 ****
>>  /*
>>   * Recurse through sysfs directories, inserting any devs found.
>>   */
>> ! static int _read_devs(struct dev_set *ds, const char *dir)
>>  {
>>          struct dirent *d;
>>          DIR *dr;
>> -       unsigned char dtype;
>>        struct stat info;
>>        char path[PATH_MAX];
>>        dev_t dev = { 0 };
>>        int r = 1;
>>
>> --- 234,246 ----
>>  /*
>>   * Recurse through sysfs directories, inserting any devs found.
>>   */
>> ! static int _read_devs(struct dev_set *ds, const char *dir, unsigned 
>> sysfs_depth)
>>  {
>>          struct dirent *d;
>>          DIR *dr;
>>        struct stat info;
>>        char path[PATH_MAX];
>> +       char file[PATH_MAX];
>>        dev_t dev = { 0 };
>>        int r = 1;
>>
>> ***************
>> *** 194,224 ****
>>                        continue;
>>                }
>>
>> !               dtype = d->d_type;
>> !
>> !               if (dtype == DT_UNKNOWN) {
>> !                       if (lstat(path, &info) >= 0) {
>> !                               if (S_ISLNK(info.st_mode))
>> !                                       dtype = DT_LNK;
>> !                               else if (S_ISDIR(info.st_mode))
>> !                                       dtype = DT_DIR;
>> !                               else if (S_ISREG(info.st_mode))
>> !                                       dtype = DT_REG;
>> !                       }
>>                }
>> !
>> !               if (dtype == DT_DIR) {
>> !                       if (!_read_devs(ds, path)) {
>> !                               r = 0;
>> !                               break;
>> !                       }
>>                }
>> -
>> -               if ((dtype == DT_REG && !strcmp(d->d_name, "dev")))
>> -                       if (!_read_dev(path, &dev) || !_set_insert(ds, dev)) 
>> {
>> -                               r = 0;
>> -                               break;
>> -                       }
>>        }
>>
>>          if (closedir(dr))
>> --- 260,280 ----
>>                        continue;
>>                }
>>
>> !               /* devices have a "dev" file */
>> !               if (dm_snprintf(file, sizeof(file), "%s/dev", path) < 0) {
>> !                       log_error("sysfs path name too long: %s in %s",
>> !                                   d->d_name, dir);
>> !                       continue;
>>                }
>> !               if (!stat(file, &info)) {
>> !                       /* recurse if we found a device and expect subdirs */
>> !                       if (sysfs_depth)
>> !                           _read_devs(ds, path, sysfs_depth - 1);
>> !
>> !                       /* add the device we have found */
>> !                       if (_read_dev(file, &dev))
>> !                               _set_insert(ds, dev);
>>                }
>>        }
>>
>>          if (closedir(dr))
>> ***************
>> *** 229,235 ****
>>
>>  static int _init_devs(struct dev_set *ds)
>>  {
>> !       if (!_read_devs(ds, ds->sys_block)) {
>>                ds->initialised = -1;
>>                return 0;
>>        }
>> --- 285,291 ----
>>
>>  static int _init_devs(struct dev_set *ds)
>>  {
>> !       if (!_read_devs(ds, ds->sys_block, ds->sysfs_depth)) {
>>                ds->initialised = -1;
>>                return 0;
>>        }
>> ***************
>> *** 267,277 ****
>>  struct dev_filter *sysfs_filter_create(const char *proc)
>>  {
>>        char sys_block[PATH_MAX];
>>        struct dm_pool *mem;
>>        struct dev_set *ds;
>>        struct dev_filter *f;
>>
>> !       if (!_locate_sysfs_blocks(proc, sys_block, sizeof(sys_block)))
>>                return NULL;
>>
>>        if (!(mem = dm_pool_create("sysfs", 256))) {
>> --- 323,334 ----
>>  struct dev_filter *sysfs_filter_create(const char *proc)
>>  {
>>        char sys_block[PATH_MAX];
>> +       unsigned sysfs_depth;
>>        struct dm_pool *mem;
>>        struct dev_set *ds;
>>        struct dev_filter *f;
>>
>> !       if (!_locate_sysfs_blocks(proc, sys_block, sizeof(sys_block), 
>> &sysfs_depth))
>>                return NULL;
>>
>>        if (!(mem = dm_pool_create("sysfs", 256))) {
>> ***************
>> *** 279,285 ****
>>                return NULL;
>>        }
>>
>> !       if (!(ds = _dev_set_create(mem, sys_block))) {
>>                log_error("sysfs dev_set creation failed");
>>                goto bad;
>>        }
>> --- 336,342 ----
>>                return NULL;
>>        }
>>
>> !       if (!(ds = _dev_set_create(mem, sys_block, sysfs_depth))) {
>>                log_error("sysfs dev_set creation failed");
>>                goto bad;
>>        }
>>
>> ------------------------------------------------------------------------------
>> Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
>> is the only developer event you need to attend this year. Jumpstart your
>> developing skills, take BlackBerry mobile applications to market and stay
>> ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
>> http://p.sf.net/sfu/devconf
>> _______________________________________________
>> sisuite-users mailing list
>> sisuite-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/sisuite-users
>>
>>

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
sisuite-users mailing list
sisuite-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sisuite-users

Reply via email to