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® 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-12, 2009. Register now! >> 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® 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-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ sisuite-users mailing list sisuite-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sisuite-users