From olh@suse.de Sat Dec 02 22:07:38 2000 Received: from cantor.suse.de ([194.112.123.193]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 142PV4-00081F-00 for ; Sat, 02 Dec 2000 22:07:38 -0500 Received: from Hermes.suse.de (Hermes.suse.de [194.112.123.136]) by Cantor.suse.de (Postfix) with ESMTP id 862FF1E1A1 for ; Sun, 3 Dec 2000 04:07:36 +0100 (MET) Received: from Wotan.suse.de (Wotan.suse.de [10.10.0.1]) by Hermes.suse.de (Postfix) with ESMTP id 7529B3E452 for ; Sun, 3 Dec 2000 04:07:36 +0100 (MET) Received: from peach.suse.de (Peach.suse.de [10.10.0.139]) by Wotan.suse.de (Postfix) with ESMTP id 3E5E51C8259 for ; Sun, 3 Dec 2000 04:07:36 +0100 (CET) Received: (from olh@localhost) by peach.suse.de (8.11.0/8.11.0/SuSE Linux 8.11.0-0.4) id eB3494r01825 for bug-parted@gnu.org; Sun, 3 Dec 2000 05:09:04 +0100 Date: Sun, 3 Dec 2000 05:09:04 +0100 From: Olaf Hering To: bug-parted@gnu.org Subject: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001203050904.A1786@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi, current pdisk doesnt display all available pdisk partitions: peach:~ # pdisk -l /dev/sda Partition map (with 512 byte blocks) on '/dev/sda' #: type name length base ( size ) 1: Apple_partition_map 'Apple ' 63 @ 1 2: Apple_Driver43*'Macintosh ' 54 @ 64 3: Apple_Driver43*'Macintosh ' 74 @ 118 4: Apple_Patches 'Patch Partition' 512 @ 192 5: Apple_HFS 'seagate ' 126499 @ 704 ( 61.8M) 6: Apple_Free 'Ohne Titel 2 ' 2105955 @ 127203 ( 1.0G) 7: Apple_Free 'Ohne Titel 3 ' 270704 @ 2233158 (132.2M) 8: Apple_Free 'Extra ' 10 @ 2503862 Device block size=512, Number of Blocks=2503871 (1.2G) DeviceType=0x0, DeviceId=0x0 Drivers- 1: 21 @ 64, type=0x1 2: 36 @ 118, type=0xffff peach:~ # parted GNU Parted 1.4.4 Copyright (C) 1998-2000 Free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. This program 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. GNU Parted's development is supported by Conectiva, www.conectiva.com Using /dev/sda (parted) print Disk geometry for /dev/sda: 0.000-1222.593 megabytes Disk label type: mac Minor Start End Filesystem Name Flags 1 0.000 0.031 Apple 2 0.031 0.057 Macintosh 3 0.058 0.093 Macintosh 4 0.094 0.343 Patch Partition 5 0.344 62.110 hfs Ohne Titel (parted) peach:~ # cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: QUANTUM Model: FIREBALL_TM1280S Rev: 300L Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: IBM Model: DCAS-32160 Rev: S65A Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 03 Lun: 00 Vendor: MATSHITA Model: CD-ROM CR-8005A Rev: 4.0i Type: CD-ROM ANSI SCSI revision: 02 peach:~ # cat /proc/partitions major minor #blocks name 8 0 1251936 sda 8 1 31 sda1 8 2 27 sda2 8 3 37 sda3 8 4 256 sda4 8 5 63249 sda5 8 6 1052977 sda6 8 7 135352 sda7 8 8 5 sda8 8 16 2113362 sdb 8 17 31 sdb1 8 18 27 sdb2 8 19 37 sdb3 8 20 256 sdb4 8 21 528252 sdb5 8 22 30333 sdb6 8 23 96731 sdb7 8 24 1457688 sdb8 8 25 5 sdb9 peach:~ # cat /proc/version Linux version 2.2.16 (root@PMAC.suse.de) (gcc version 2.95.3 19991030 (prerelease/franzo/20000625)) #1 Thu Sep 28 08:42:46 GMT 2000 Any ideas? Gruss Olaf -- $ man clone BUGS Main feature not yet implemented... From lembark@wrkhors.com Sun Dec 03 01:08:53 2000 Received: from jeeves.wrkhors.com ([207.227.243.17] helo=getz.wrkhors.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 142SKO-0004cu-00 for ; Sun, 03 Dec 2000 01:08:48 -0500 Received: from wrkhors.com (duke.wrkhors.com [192.168.200.3]) by getz.wrkhors.com (Switch-2.0.0/8.9.3) with ESMTP id eB367Ux07568 for ; Sun, 3 Dec 2000 00:07:30 -0600 Message-ID: <3A29E438.7AE249F5@wrkhors.com> Date: Sun, 03 Dec 2000 00:12:08 -0600 From: Steven Lembark Organization: Workhorse Computing X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.2.17-ae i686) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: oddity: e2fsprogs headers not found in parted-1.4.1/configure Content-Type: multipart/mixed; boundary="------------C4E746D26E8027E2CF7EB7CE" Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: This is a multi-part message in MIME format. --------------C4E746D26E8027E2CF7EB7CE Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit -- Steven Lembark 2930 W. Palmer St. Chicago, IL 60647 lembark@wrkhors.com 800-762-1582 --------------C4E746D26E8027E2CF7EB7CE Content-Type: text/plain; charset=us-ascii; name="z" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="z" Subject: oddity, parted-1.4.1./configure can't find uuid.h installed e2fs stuff w/ install lib's step and -I/opt/include is in CFLAGS. drwxrwsr-x 27 bin bin 4096 Dec 2 23:43 /opt/include drwxrwsr-x 2 root bin 4096 Dec 2 23:43 /opt/include/e2p -rw-r--r-- 1 root bin 1402 Dec 2 23:43 /opt/include/e2p/e2p.h drwxrwsr-x 2 root bin 4096 Dec 2 23:43 /opt/include/et -rw-r--r-- 1 root bin 1182 Dec 2 23:43 /opt/include/et/com_err.h drwxrwsr-x 2 root bin 4096 Dec 2 23:43 /opt/include/ext2fs -rw-r--r-- 1 root bin 15352 Dec 2 23:43 /opt/include/ext2fs/bitops.h -rw-r--r-- 1 root bin 5553 Dec 2 23:43 /opt/include/ext2fs/ext2_err.h -rw-r--r-- 1 root bin 2569 Dec 2 23:43 /opt/include/ext2fs/ext2_io.h -rw-r--r-- 1 root bin 30301 Dec 2 23:43 /opt/include/ext2fs/ext2fs.h drwxrwsr-x 2 root bin 4096 Dec 2 23:43 /opt/include/ss -rw-r--r-- 1 root bin 2964 Dec 2 23:43 /opt/include/ss/ss.h -rw-r--r-- 1 root bin 1014 Dec 2 23:43 /opt/include/ss/ss_err.h drwxrwsr-x 2 root bin 4096 Dec 2 23:43 /opt/include/uuid -rw-r--r-- 1 root bin 1051 Dec 2 23:43 /opt/include/uuid/uuid.h lembark@duke : parted-1.4.1 $ find /opt/include/ -name "uuid.h" /opt/include/uuid/uuid.h + CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib + LD_LIBRARY_PATH=/opt/lib + ./configure --prefix=/opt/parted --with-readline --enable-all-static --with-gnu-ld --disable-nls + ac_help= + ac_default_prefix=/usr/local + ac_help= --with-readline support fancy command line editing + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] --enable-shared[=PKGS] build shared libraries [default=no] + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] --enable-shared[=PKGS] build shared libraries [default=no] --enable-static[=PKGS] build static libraries [default=yes] + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] --enable-shared[=PKGS] build shared libraries [default=no] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] --enable-shared[=PKGS] build shared libraries [default=no] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --with-gnu-ld assume the C compiler uses GNU ld [default=no] + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] --enable-shared[=PKGS] build shared libraries [default=no] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --disable-libtool-lock avoid locking (might break parallel builds) + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] --enable-shared[=PKGS] build shared libraries [default=no] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] --enable-shared[=PKGS] build shared libraries [default=no] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --with-included-gettext use the GNU gettext library included here + ac_help= --with-readline support fancy command line editing --enable-mtrace enable malloc() debugging --enable-all-static build static binaries [default=no] --enable-shared[=PKGS] build shared libraries [default=no] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --with-included-gettext use the GNU gettext library included here --with-catgets use catgets functions if available + build=NONE + cache_file=./config.cache + exec_prefix=NONE + host=NONE + no_create= + nonopt=NONE + no_recursion= + prefix=NONE + program_prefix=NONE + program_suffix=NONE + program_transform_name=s,x,x, + silent= + site= + srcdir= + target=NONE + verbose= + x_includes=NONE + x_libraries=NONE + bindir=${exec_prefix}/bin + sbindir=${exec_prefix}/sbin + libexecdir=${exec_prefix}/libexec + datadir=${prefix}/share + sysconfdir=${prefix}/etc + sharedstatedir=${prefix}/com + localstatedir=${prefix}/var + libdir=${exec_prefix}/lib + includedir=${prefix}/include + oldincludedir=/usr/include + infodir=${prefix}/info + mandir=${prefix}/man + subdirs= + MFLAGS= + MAKEFLAGS= + SHELL=/bin/sh + ac_max_here_lines=12 + ac_prev= + test -n ++ echo --prefix=/opt/parted ++ sed s/[-_a-zA-Z0-9]*=// + ac_optarg=/opt/parted + prefix=/opt/parted + test -n + ac_optarg= ++ echo --with-readline ++ sed -e s/-*with-// -e s/=.*// + ac_package=readline ++ echo readline ++ sed s/[-_a-zA-Z0-9]//g + test -n ++ echo readline ++ sed s/-/_/g + ac_package=readline + ac_optarg=yes + eval with_readline='yes' ++ with_readline=yes + test -n + ac_optarg= ++ echo --enable-all-static ++ sed -e s/-*enable-// -e s/=.*// + ac_feature=all-static ++ echo all-static ++ sed s/[-_a-zA-Z0-9]//g + test -n ++ echo all-static ++ sed s/-/_/g + ac_feature=all_static + ac_optarg=yes + eval enable_all_static='yes' ++ enable_all_static=yes + test -n + ac_optarg= ++ echo --with-gnu-ld ++ sed -e s/-*with-// -e s/=.*// + ac_package=gnu-ld ++ echo gnu-ld ++ sed s/[-_a-zA-Z0-9]//g + test -n ++ echo gnu-ld ++ sed s/-/_/g + ac_package=gnu_ld + ac_optarg=yes + eval with_gnu_ld='yes' ++ with_gnu_ld=yes + test -n + ac_optarg= ++ echo --disable-nls ++ sed -e s/-*disable-// + ac_feature=nls ++ echo nls ++ sed s/[-a-zA-Z0-9_]//g + test -n ++ echo nls ++ sed s/-/_/g + ac_feature=nls + eval enable_nls=no ++ enable_nls=no + test -n + trap rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1 1 2 15 + test = yes + exec + exec + echo This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. + ac_configure_args= + ac_configure_args= --prefix=/opt/parted + ac_configure_args= --prefix=/opt/parted --with-readline + ac_configure_args= --prefix=/opt/parted --with-readline --enable-all-static + ac_configure_args= --prefix=/opt/parted --with-readline --enable-all-static --with-gnu-ld + ac_configure_args= --prefix=/opt/parted --with-readline --enable-all-static --with-gnu-ld --disable-nls + test = set + test = set + test = set + test = set + rm -rf conftest* confdefs.h + echo + ac_unique_file=include/parted/parted.h + test -z + ac_srcdir_defaulted=yes + ac_prog=./configure ++ echo ./configure ++ sed s%/[^/][^/]*$%% + ac_confdir=. + test x. = x./configure + srcdir=. + test ! -r ./include/parted/parted.h + test ! -r ./include/parted/parted.h ++ echo . ++ sed s%\([^/]\)/*$%\1% + srcdir=. + test -z + test x/opt/parted != xNONE + CONFIG_SITE=/opt/parted/share/config.site /opt/parted/etc/config.site + test -r /opt/parted/share/config.site + test -r /opt/parted/etc/config.site + test -r ./config.cache + echo creating cache ./config.cache creating cache ./config.cache + ac_ext=c + ac_cpp=$CPP $CPPFLAGS + ac_compile=${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 + ac_link=${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 + cross_compiling= + ac_exeext= + ac_objext=o + grep c + echo testing\c + echo 1,2,3 + sed s/-n/xn/ + echo -n testing + echo 1,2,3 + grep xn + ac_n=-n + ac_c= + ac_t= + ac_aux_dir= + test -f ./install-sh + ac_aux_dir=. + ac_install_sh=./install-sh -c + break + test -z . + ac_config_guess=./config.guess + ac_config_sub=./config.sub + ac_configure=./configure + echo -n checking for a BSD compatible install... checking for a BSD compatible install... + echo configure:578: checking for a BSD compatible install + test -z ++ echo ${ac_cv_path_install+set} + eval test "${ac_cv_path_install+set}" = set ++ test = set + IFS= + ac_save_IFS= + IFS=: + test -f /opt/bin//ginstall + test -f /opt/bin//scoinst + test -f /opt/bin//install + test install = install + grep dspmsg /opt/bin//install + ac_cv_path_install=/opt/bin//install -c + break 2 + IFS= + test set = set + INSTALL=/opt/bin//install -c + echo /opt/bin//install -c /opt/bin//install -c + test -z + INSTALL_PROGRAM=${INSTALL} + test -z + INSTALL_SCRIPT=${INSTALL_PROGRAM} + test -z + INSTALL_DATA=${INSTALL} -m 644 + echo -n checking whether build environment is sane... checking whether build environment is sane... + echo configure:631: checking whether build environment is sane + sleep 1 + echo timestamp ++ ls -Lt ./configure conftestfile + set X conftestfile ./configure + test X conftestfile ./configure = X + test X conftestfile ./configure != X ./configure conftestfile + test X conftestfile ./configure != X conftestfile ./configure + test conftestfile = conftestfile + : + rm -f conftestfile + echo yes yes + test s,x,x, = s,x,x, + program_transform_name= + test NONE != NONE + test NONE != NONE + test = + program_transform_name=s,x,x, + echo -n checking whether make sets ${MAKE}... checking whether make sets ${MAKE}... + echo configure:688: checking whether make sets ${MAKE} + set dummy make ++ echo make ++ sed y%./+-%__p_% + ac_make=make ++ echo ${ac_cv_prog_make_make_set+set} + eval test "${ac_cv_prog_make_make_set+set}" = set ++ test = set + cat ++ make -f conftestmake ++ grep temp= + eval ac_maketemp="make" ++ ac_maketemp=make + test -n make + eval ac_cv_prog_make_make_set=yes ++ ac_cv_prog_make_make_set=yes + rm -f conftestmake ++ echo $ac_cv_prog_make_make_set + eval test "$ac_cv_prog_make_make_set" = yes ++ test yes = yes + echo yes yes + SET_MAKE= + PACKAGE=parted + VERSION=1.4.1 ++ cd . ++ pwd ++ pwd + test /scratch/parted-1.4.1 != /scratch/parted-1.4.1 + cat + cat ++ cd . ++ pwd + missing_dir=/scratch/parted-1.4.1 + echo -n checking for working aclocal... checking for working aclocal... + echo configure:734: checking for working aclocal + ACLOCAL=aclocal + echo found found + echo -n checking for working autoconf... checking for working autoconf... + echo configure:747: checking for working autoconf + AUTOCONF=autoconf + echo found found + echo -n checking for working automake... checking for working automake... + echo configure:760: checking for working automake + AUTOMAKE=automake + echo found found + echo -n checking for working autoheader... checking for working autoheader... + echo configure:773: checking for working autoheader + AUTOHEADER=autoheader + echo found found + echo -n checking for working makeinfo... checking for working makeinfo... + echo configure:786: checking for working makeinfo + MAKEINFO=makeinfo + echo found found + test set = set + withval=yes + : + test = set + enable_mtrace=no + test xno = xyes + test set = set + enableval=yes + : + test xyes = xyes + PARTED_LDFLAGS=-all-static + enable_static=yes ++ which getconf + test -x /opt/bin/getconf ++ getconf LFS_CFLAGS + CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 + echo -n checking size of off_t... checking size of off_t... + echo configure:849: checking size of off_t ++ echo ${ac_cv_sizeof_off_t+set} + eval test "${ac_cv_sizeof_off_t+set}" = set ++ test = set + test = yes + cat + eval echo configure:868: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:868: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest ++ cat conftestval + ac_cv_sizeof_off_t=8 + rm -fr conftest conftest.c conftestval + echo 8 8 + cat + test 8 -lt 8 + test set = set + enableval=yes + p=parted + enable_static=yes + test = set + enable_fast_install=yes + /bin/sh ./config.sub sun4 + : + echo -n checking host system type... checking host system type... + echo configure:969: checking host system type + host_alias=NONE ++ /bin/sh ./config.guess + host_alias=i686-pc-linux-gnu + : ++ /bin/sh ./config.sub i686-pc-linux-gnu + host=i686-pc-linux-gnu ++ echo i686-pc-linux-gnu ++ sed s/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/ + host_cpu=i686 ++ echo i686-pc-linux-gnu ++ sed s/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/ + host_vendor=pc ++ echo i686-pc-linux-gnu ++ sed s/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/ + host_os=linux-gnu + echo i686-pc-linux-gnu i686-pc-linux-gnu + echo -n checking build system type... checking build system type... + echo configure:990: checking build system type + build_alias=NONE + build_alias=i686-pc-linux-gnu ++ /bin/sh ./config.sub i686-pc-linux-gnu + build=i686-pc-linux-gnu ++ echo i686-pc-linux-gnu ++ sed s/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/ + build_cpu=i686 ++ echo i686-pc-linux-gnu ++ sed s/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/ + build_vendor=pc ++ echo i686-pc-linux-gnu ++ sed s/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/ + build_os=linux-gnu + echo i686-pc-linux-gnu i686-pc-linux-gnu + set dummy ranlib + ac_word=ranlib + echo -n checking for ranlib... checking for ranlib... + echo configure:1010: checking for ranlib ++ echo ${ac_cv_prog_RANLIB+set} + eval test "${ac_cv_prog_RANLIB+set}" = set ++ test = set + test -n + IFS= + ac_save_ifs= + IFS=: + ac_dummy=/opt/bin/:/opt/bin/:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/X11R6/bin:/opt/vile/bin:/sbin:/usr/sbin:~/homegrown/bin:.:/opt/vile/bin:/sbin:/usr/sbin:~/homegrown/bin:.:/opt/vile/bin:/sbin:/usr/sbin:~/homegrown/bin:. + test -z /opt/bin/ + test -f /opt/bin//ranlib + ac_cv_prog_RANLIB=ranlib + break + IFS= + test -z ranlib + RANLIB=ranlib + test -n ranlib + echo ranlib ranlib + set dummy gcc + ac_word=gcc + echo -n checking for gcc... checking for gcc... + echo configure:1040: checking for gcc ++ echo ${ac_cv_prog_CC+set} + eval test "${ac_cv_prog_CC+set}" = set ++ test = set + test -n /opt/bin/gcc + ac_cv_prog_CC=/opt/bin/gcc + CC=/opt/bin/gcc + test -n /opt/bin/gcc + echo /opt/bin/gcc /opt/bin/gcc + test -z /opt/bin/gcc + echo -n checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) works... checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) works... + echo configure:1153: checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) works + ac_ext=c + ac_cpp=$CPP $CPPFLAGS + ac_compile=${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 + ac_link=${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 + cross_compiling= + cat + eval echo configure:1169: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:1169: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + ac_cv_prog_cc_works=yes + ac_cv_prog_cc_cross=no + rm -fr conftest conftest.c + ac_ext=c + ac_cpp=$CPP $CPPFLAGS + ac_compile=${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 + ac_link=${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 + cross_compiling=no + echo yes yes + test yes = no + echo -n checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) is a cross-compiler... checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) is a cross-compiler... + echo configure:1195: checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) is a cross-compiler + echo no no + cross_compiling=no + echo -n checking whether we are using GNU C... checking whether we are using GNU C... + echo configure:1200: checking whether we are using GNU C ++ echo ${ac_cv_prog_gcc+set} + eval test "${ac_cv_prog_gcc+set}" = set ++ test = set + cat + egrep yes + ac_try=${CC-cc} -E conftest.c + eval echo configure:1209: "${CC-cc} -E conftest.c" ++ echo configure:1209: /opt/bin/gcc -E conftest.c + ac_cv_prog_gcc=yes + echo yes yes + test yes = yes + GCC=yes + ac_test_CFLAGS=set + ac_save_CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 + CFLAGS= + echo -n checking whether /opt/bin/gcc accepts -g... checking whether /opt/bin/gcc accepts -g... + echo configure:1228: checking whether /opt/bin/gcc accepts -g ++ echo ${ac_cv_prog_cc_g+set} + eval test "${ac_cv_prog_cc_g+set}" = set ++ test = set + echo void f(){} ++ /opt/bin/gcc -g -c conftest.c + test -z + ac_cv_prog_cc_g=yes + rm -f conftest.c conftest.o + echo yes yes + test set = set + CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 + test set = set + withval=yes + test yes = no + with_gnu_ld=yes + ac_prog=ld + test yes = yes + echo -n checking for ld used by GCC... checking for ld used by GCC... + echo configure:1271: checking for ld used by GCC + ac_prog=ld + with_gnu_ld=unknown ++ echo ${ac_cv_path_LD+set} + eval test "${ac_cv_path_LD+set}" = set ++ test = set + test -z + IFS= + ac_save_ifs= + IFS= : + test -z /opt/bin/ + test -f /opt/bin//ld + ac_cv_path_LD=/opt/bin//ld + /opt/bin//ld -v + egrep (GNU|with BFD) + test unknown != no + break + IFS= + LD=/opt/bin//ld + test -n /opt/bin//ld + echo /opt/bin//ld /opt/bin//ld + test -z /opt/bin//ld + echo -n checking if the linker (/opt/bin//ld) is GNU ld... checking if the linker (/opt/bin//ld) is GNU ld... + echo configure:1333: checking if the linker (/opt/bin//ld) is GNU ld ++ echo ${ac_cv_prog_gnu_ld+set} + eval test "${ac_cv_prog_gnu_ld+set}" = set ++ test = set + /opt/bin//ld -v + egrep (GNU|with BFD) + ac_cv_prog_gnu_ld=yes + echo yes yes + echo -n checking for BSD-compatible nm... checking for BSD-compatible nm... + echo configure:1349: checking for BSD-compatible nm ++ echo ${ac_cv_path_NM+set} + eval test "${ac_cv_path_NM+set}" = set ++ test = set + test -n + IFS= + ac_save_ifs= + IFS= : + test -z /opt/bin/ + test -f /opt/bin//nm + egrep /dev/null + /opt/bin//nm -B /dev/null + sed 1q + exit 0 + ac_cv_path_NM=/opt/bin//nm -B + break + IFS= + test -z /opt/bin//nm -B + NM=/opt/bin//nm -B + echo /opt/bin//nm -B /opt/bin//nm -B + echo -n checking whether ln -s works... checking whether ln -s works... + echo configure:1385: checking whether ln -s works ++ echo ${ac_cv_prog_LN_S+set} + eval test "${ac_cv_prog_LN_S+set}" = set ++ test = set + rm -f conftestdata + ln -s X conftestdata + rm -f conftestdata + ac_cv_prog_LN_S=ln -s + LN_S=ln -s + test ln -s = ln -s + echo yes yes + lt_target=i686-pc-linux-gnu + test = no + test yes = no + test yes = no + test yes = yes + libtool_flags= --with-gcc + test yes = yes + libtool_flags= --with-gcc --with-gnu-ld + test = set + test x = xno + test x = xyes + cat + sed -n -e s/'/'\\''/g -e s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1='\2'}/p + cmp -s ./config.cache confcache + test -w ./config.cache + echo updating cache ./config.cache updating cache ./config.cache + cat confcache + rm -f confcache + CC=/opt/bin/gcc + CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 + CPPFLAGS= + LD=/opt/bin//ld + LDFLAGS= + LIBS= + LN_S=ln -s + NM=/opt/bin//nm -B + RANLIB=ranlib + DLLTOOL= + AS= + OBJDUMP= + /bin/sh ./ltconfig --no-reexec --with-gcc --with-gnu-ld --no-verify ./ltmain.sh i686-pc-linux-gnu checking for object suffix... o checking for executable suffix... no checking for /opt/bin/gcc option to produce PIC... -fPIC checking if /opt/bin/gcc PIC flag -fPIC works... yes checking if /opt/bin/gcc supports -c -o file.o... yes checking if /opt/bin/gcc supports -c -o file.lo... yes checking if /opt/bin/gcc supports -fno-rtti -fno-exceptions ... yes checking if /opt/bin/gcc static flag -static works... -static checking if the linker (/opt/bin//ld) is GNU ld... yes checking whether the linker (/opt/bin//ld) supports shared libraries... yes checking command to parse /opt/bin//nm -B output... ok checking how to hardcode library paths into programs... immediate checking for /opt/bin//ld option to reload object files... -r checking dynamic linker characteristics... Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for objdir... .libs creating libtool + test -r ./config.cache + echo loading cache ./config.cache loading cache ./config.cache + . ./config.cache ++ ac_cv_path_LD=/opt/bin//ld ++ ac_cv_path_NM=/opt/bin//nm -B ++ ac_cv_path_install=/opt/bin//install -c ++ ac_cv_prog_CC=/opt/bin/gcc ++ ac_cv_prog_LN_S=ln -s ++ ac_cv_prog_RANLIB=ranlib ++ ac_cv_prog_cc_cross=no ++ ac_cv_prog_cc_g=yes ++ ac_cv_prog_cc_works=yes ++ ac_cv_prog_gcc=yes ++ ac_cv_prog_gnu_ld=yes ++ ac_cv_prog_make_make_set=yes ++ ac_cv_sizeof_off_t=8 + LIBTOOL_DEPS=./ltconfig ./ltmain.sh + LIBTOOL=$(SHELL) $(top_builddir)/libtool + exec + set dummy gcc + ac_word=gcc + echo -n checking for gcc... checking for gcc... + echo configure:1578: checking for gcc ++ echo ${ac_cv_prog_CC+set} + eval test "${ac_cv_prog_CC+set}" = set ++ test set = set + echo -n (cached) (cached) + CC=/opt/bin/gcc + test -n /opt/bin/gcc + echo /opt/bin/gcc /opt/bin/gcc + test -z /opt/bin/gcc + echo -n checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) works... checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) works... + echo configure:1691: checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) works + ac_ext=c + ac_cpp=$CPP $CPPFLAGS + ac_compile=${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 + ac_link=${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 + cross_compiling=no + cat + eval echo configure:1707: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:1707: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + ac_cv_prog_cc_works=yes + ac_cv_prog_cc_cross=no + rm -fr conftest conftest.c + ac_ext=c + ac_cpp=$CPP $CPPFLAGS + ac_compile=${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 + ac_link=${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 + cross_compiling=no + echo yes yes + test yes = no + echo -n checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) is a cross-compiler... checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) is a cross-compiler... + echo configure:1733: checking whether the C compiler (/opt/bin/gcc -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 ) is a cross-compiler + echo no no + cross_compiling=no + echo -n checking whether we are using GNU C... checking whether we are using GNU C... + echo configure:1738: checking whether we are using GNU C ++ echo ${ac_cv_prog_gcc+set} + eval test "${ac_cv_prog_gcc+set}" = set ++ test set = set + echo -n (cached) (cached) + echo yes yes + test yes = yes + GCC=yes + ac_test_CFLAGS=set + ac_save_CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 + CFLAGS= + echo -n checking whether /opt/bin/gcc accepts -g... checking whether /opt/bin/gcc accepts -g... + echo configure:1766: checking whether /opt/bin/gcc accepts -g ++ echo ${ac_cv_prog_cc_g+set} + eval test "${ac_cv_prog_cc_g+set}" = set ++ test set = set + echo -n (cached) (cached) + echo yes yes + test set = set + CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 + echo -n checking how to run the C preprocessor... checking how to run the C preprocessor... + echo configure:1798: checking how to run the C preprocessor + test -n + test -z ++ echo ${ac_cv_prog_CPP+set} + eval test "${ac_cv_prog_CPP+set}" = set ++ test = set + CPP=/opt/bin/gcc -E + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:1819: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:1819: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + : + rm -f conftest.c conftest.out + ac_cv_prog_CPP=/opt/bin/gcc -E + CPP=/opt/bin/gcc -E + echo /opt/bin/gcc -E /opt/bin/gcc -E + test yes = yes + echo -n checking whether /opt/bin/gcc needs -traditional... checking whether /opt/bin/gcc needs -traditional... + echo configure:1879: checking whether /opt/bin/gcc needs -traditional ++ echo ${ac_cv_prog_gcc_traditional+set} + eval test "${ac_cv_prog_gcc_traditional+set}" = set ++ test = set + ac_pattern=Autoconf.*'x' + cat + egrep Autoconf.*'x' + rm -rf conftest.c + ac_cv_prog_gcc_traditional=no + rm -f conftest* + test no = no + cat + egrep Autoconf.*'x' + rm -f conftest.c + echo no no + test no = yes + ALL_LINGUAS=de fr gl ja nl pt_BR ru + echo -n checking for POSIXized ISC... checking for POSIXized ISC... + echo configure:1927: checking for POSIXized ISC + test -d /etc/conf/kconfig.d + echo no no + ISC= + echo -n checking for ANSI C header files... checking for ANSI C header files... + echo configure:1948: checking for ANSI C header files ++ echo ${ac_cv_header_stdc+set} + eval test "${ac_cv_header_stdc+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:1961: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:1961: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + ac_cv_header_stdc=yes + rm -f conftest* + test yes = yes + cat + egrep memchr + : + rm -f conftest.c + test yes = yes + cat + egrep free + : + rm -f conftest.c + test yes = yes + test no = yes + cat + eval echo configure:2028: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2028: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + : + rm -fr conftest conftest.c + echo yes yes + test yes = yes + cat + echo -n checking for working const... checking for working const... + echo configure:2052: checking for working const ++ echo ${ac_cv_c_const+set} + eval test "${ac_cv_c_const+set}" = set ++ test = set + cat + eval echo configure:2106: "${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5" ++ echo configure:2106: /opt/bin/gcc -c -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + rm -rf conftest.c conftest.o + ac_cv_c_const=yes + rm -f conftest* + echo yes yes + test yes = no + echo -n checking for inline... checking for inline... + echo configure:2127: checking for inline ++ echo ${ac_cv_c_inline+set} + eval test "${ac_cv_c_inline+set}" = set ++ test = set + ac_cv_c_inline=no + cat + eval echo configure:2141: "${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5" ++ echo configure:2141: /opt/bin/gcc -c -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + rm -rf conftest.c conftest.o + ac_cv_c_inline=inline + break + echo inline inline + echo -n checking for off_t... checking for off_t... + echo configure:2167: checking for off_t ++ echo ${ac_cv_type_off_t+set} + eval test "${ac_cv_type_off_t+set}" = set ++ test = set + cat + egrep (^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9] + rm -rf conftest.c + ac_cv_type_off_t=yes + rm -f conftest* + echo yes yes + test yes = no + echo -n checking for size_t... checking for size_t... + echo configure:2200: checking for size_t ++ echo ${ac_cv_type_size_t+set} + eval test "${ac_cv_type_size_t+set}" = set ++ test = set + cat + egrep (^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9] + rm -rf conftest.c + ac_cv_type_size_t=yes + rm -f conftest* + echo yes yes + test yes = no + echo -n checking for working alloca.h... checking for working alloca.h... + echo configure:2235: checking for working alloca.h ++ echo ${ac_cv_header_alloca_h+set} + eval test "${ac_cv_header_alloca_h+set}" = set ++ test = set + cat + eval echo configure:2247: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2247: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + ac_cv_header_alloca_h=yes + rm -f conftest* + echo yes yes + test yes = yes + cat + echo -n checking for alloca... checking for alloca... + echo configure:2268: checking for alloca ++ echo ${ac_cv_func_alloca_works+set} + eval test "${ac_cv_func_alloca_works+set}" = set ++ test = set + cat + eval echo configure:2301: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2301: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + ac_cv_func_alloca_works=yes + rm -f conftest* + echo yes yes + test yes = yes + cat + test yes = no ++ echo unistd.h ++ sed y%./+-%__p_% + ac_safe=unistd_h + echo -n checking for unistd.h... checking for unistd.h... + echo configure:2470: checking for unistd.h ++ echo ${ac_cv_header_unistd_h+set} + eval test "${ac_cv_header_unistd_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:2480: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:2480: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + eval ac_cv_header_unistd_h=yes ++ ac_cv_header_unistd_h=yes + rm -f conftest* ++ echo $ac_cv_header_unistd_h + eval test "$ac_cv_header_unistd_h" = yes ++ test yes = yes + echo yes yes ++ echo unistd.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_UNISTD_H + cat + echo -n checking for getpagesize... checking for getpagesize... + echo configure:2509: checking for getpagesize ++ echo ${ac_cv_func_getpagesize+set} + eval test "${ac_cv_func_getpagesize+set}" = set ++ test = set + cat + eval echo configure:2537: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2537: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_getpagesize=yes ++ ac_cv_func_getpagesize=yes + rm -f conftest* ++ echo $ac_cv_func_getpagesize + eval test "$ac_cv_func_getpagesize" = yes ++ test yes = yes + echo yes yes ++ echo getpagesize ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_GETPAGESIZE + cat + echo -n checking for working mmap... checking for working mmap... + echo configure:2562: checking for working mmap ++ echo ${ac_cv_func_mmap_fixed_mapped+set} + eval test "${ac_cv_func_mmap_fixed_mapped+set}" = set ++ test = set + test no = yes + cat + eval echo configure:2710: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2710: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + ac_cv_func_mmap_fixed_mapped=yes + rm -fr conftest conftest.c + echo yes yes + test yes = yes + cat ++ echo argz.h ++ sed y%./+-%__p_% + ac_safe=argz_h + echo -n checking for argz.h... checking for argz.h... + echo configure:2738: checking for argz.h ++ echo ${ac_cv_header_argz_h+set} + eval test "${ac_cv_header_argz_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:2748: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:2748: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + eval ac_cv_header_argz_h=yes ++ ac_cv_header_argz_h=yes + rm -f conftest* ++ echo $ac_cv_header_argz_h + eval test "$ac_cv_header_argz_h" = yes ++ test yes = yes + echo yes yes ++ echo argz.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_ARGZ_H + cat ++ echo limits.h ++ sed y%./+-%__p_% + ac_safe=limits_h + echo -n checking for limits.h... checking for limits.h... + echo configure:2738: checking for limits.h ++ echo ${ac_cv_header_limits_h+set} + eval test "${ac_cv_header_limits_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:2748: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:2748: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + eval ac_cv_header_limits_h=yes ++ ac_cv_header_limits_h=yes + rm -f conftest* ++ echo $ac_cv_header_limits_h + eval test "$ac_cv_header_limits_h" = yes ++ test yes = yes + echo yes yes ++ echo limits.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_LIMITS_H + cat ++ echo locale.h ++ sed y%./+-%__p_% + ac_safe=locale_h + echo -n checking for locale.h... checking for locale.h... + echo configure:2738: checking for locale.h ++ echo ${ac_cv_header_locale_h+set} + eval test "${ac_cv_header_locale_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:2748: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:2748: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + eval ac_cv_header_locale_h=yes ++ ac_cv_header_locale_h=yes + rm -f conftest* ++ echo $ac_cv_header_locale_h + eval test "$ac_cv_header_locale_h" = yes ++ test yes = yes + echo yes yes ++ echo locale.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_LOCALE_H + cat ++ echo nl_types.h ++ sed y%./+-%__p_% + ac_safe=nl_types_h + echo -n checking for nl_types.h... checking for nl_types.h... + echo configure:2738: checking for nl_types.h ++ echo ${ac_cv_header_nl_types_h+set} + eval test "${ac_cv_header_nl_types_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:2748: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:2748: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + eval ac_cv_header_nl_types_h=yes ++ ac_cv_header_nl_types_h=yes + rm -f conftest* ++ echo $ac_cv_header_nl_types_h + eval test "$ac_cv_header_nl_types_h" = yes ++ test yes = yes + echo yes yes ++ echo nl_types.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_NL_TYPES_H + cat ++ echo malloc.h ++ sed y%./+-%__p_% + ac_safe=malloc_h + echo -n checking for malloc.h... checking for malloc.h... + echo configure:2738: checking for malloc.h ++ echo ${ac_cv_header_malloc_h+set} + eval test "${ac_cv_header_malloc_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:2748: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:2748: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + eval ac_cv_header_malloc_h=yes ++ ac_cv_header_malloc_h=yes + rm -f conftest* ++ echo $ac_cv_header_malloc_h + eval test "$ac_cv_header_malloc_h" = yes ++ test yes = yes + echo yes yes ++ echo malloc.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_MALLOC_H + cat ++ echo string.h ++ sed y%./+-%__p_% + ac_safe=string_h + echo -n checking for string.h... checking for string.h... + echo configure:2738: checking for string.h ++ echo ${ac_cv_header_string_h+set} + eval test "${ac_cv_header_string_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:2748: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:2748: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + eval ac_cv_header_string_h=yes ++ ac_cv_header_string_h=yes + rm -f conftest* ++ echo $ac_cv_header_string_h + eval test "$ac_cv_header_string_h" = yes ++ test yes = yes + echo yes yes ++ echo string.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_STRING_H + cat ++ echo unistd.h ++ sed y%./+-%__p_% + ac_safe=unistd_h + echo -n checking for unistd.h... checking for unistd.h... + echo configure:2738: checking for unistd.h ++ echo ${ac_cv_header_unistd_h+set} + eval test "${ac_cv_header_unistd_h+set}" = set ++ test set = set + echo -n (cached) (cached) ++ echo $ac_cv_header_unistd_h + eval test "$ac_cv_header_unistd_h" = yes ++ test yes = yes + echo yes yes ++ echo unistd.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_UNISTD_H + cat ++ echo sys/param.h ++ sed y%./+-%__p_% + ac_safe=sys_param_h + echo -n checking for sys/param.h... checking for sys/param.h... + echo configure:2738: checking for sys/param.h ++ echo ${ac_cv_header_sys_param_h+set} + eval test "${ac_cv_header_sys_param_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:2748: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:2748: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err= + test -z + rm -rf conftest.c conftest.out + eval ac_cv_header_sys_param_h=yes ++ ac_cv_header_sys_param_h=yes + rm -f conftest* ++ echo $ac_cv_header_sys_param_h + eval test "$ac_cv_header_sys_param_h" = yes ++ test yes = yes + echo yes yes ++ echo sys/param.h ++ sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___% + ac_tr_hdr=HAVE_SYS_PARAM_H + cat + echo -n checking for getcwd... checking for getcwd... + echo configure:2778: checking for getcwd ++ echo ${ac_cv_func_getcwd+set} + eval test "${ac_cv_func_getcwd+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_getcwd=yes ++ ac_cv_func_getcwd=yes + rm -f conftest* ++ echo $ac_cv_func_getcwd + eval test "$ac_cv_func_getcwd" = yes ++ test yes = yes + echo yes yes ++ echo getcwd ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_GETCWD + cat + echo -n checking for munmap... checking for munmap... + echo configure:2778: checking for munmap ++ echo ${ac_cv_func_munmap+set} + eval test "${ac_cv_func_munmap+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_munmap=yes ++ ac_cv_func_munmap=yes + rm -f conftest* ++ echo $ac_cv_func_munmap + eval test "$ac_cv_func_munmap" = yes ++ test yes = yes + echo yes yes ++ echo munmap ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_MUNMAP + cat + echo -n checking for putenv... checking for putenv... + echo configure:2778: checking for putenv ++ echo ${ac_cv_func_putenv+set} + eval test "${ac_cv_func_putenv+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_putenv=yes ++ ac_cv_func_putenv=yes + rm -f conftest* ++ echo $ac_cv_func_putenv + eval test "$ac_cv_func_putenv" = yes ++ test yes = yes + echo yes yes ++ echo putenv ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_PUTENV + cat + echo -n checking for setenv... checking for setenv... + echo configure:2778: checking for setenv ++ echo ${ac_cv_func_setenv+set} + eval test "${ac_cv_func_setenv+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_setenv=yes ++ ac_cv_func_setenv=yes + rm -f conftest* ++ echo $ac_cv_func_setenv + eval test "$ac_cv_func_setenv" = yes ++ test yes = yes + echo yes yes ++ echo setenv ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_SETENV + cat + echo -n checking for setlocale... checking for setlocale... + echo configure:2778: checking for setlocale ++ echo ${ac_cv_func_setlocale+set} + eval test "${ac_cv_func_setlocale+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_setlocale=yes ++ ac_cv_func_setlocale=yes + rm -f conftest* ++ echo $ac_cv_func_setlocale + eval test "$ac_cv_func_setlocale" = yes ++ test yes = yes + echo yes yes ++ echo setlocale ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_SETLOCALE + cat + echo -n checking for strchr... checking for strchr... + echo configure:2778: checking for strchr ++ echo ${ac_cv_func_strchr+set} + eval test "${ac_cv_func_strchr+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_strchr=yes ++ ac_cv_func_strchr=yes + rm -f conftest* ++ echo $ac_cv_func_strchr + eval test "$ac_cv_func_strchr" = yes ++ test yes = yes + echo yes yes ++ echo strchr ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_STRCHR + cat + echo -n checking for strcasecmp... checking for strcasecmp... + echo configure:2778: checking for strcasecmp ++ echo ${ac_cv_func_strcasecmp+set} + eval test "${ac_cv_func_strcasecmp+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_strcasecmp=yes ++ ac_cv_func_strcasecmp=yes + rm -f conftest* ++ echo $ac_cv_func_strcasecmp + eval test "$ac_cv_func_strcasecmp" = yes ++ test yes = yes + echo yes yes ++ echo strcasecmp ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_STRCASECMP + cat + echo -n checking for strdup... checking for strdup... + echo configure:2778: checking for strdup ++ echo ${ac_cv_func_strdup+set} + eval test "${ac_cv_func_strdup+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_strdup=yes ++ ac_cv_func_strdup=yes + rm -f conftest* ++ echo $ac_cv_func_strdup + eval test "$ac_cv_func_strdup" = yes ++ test yes = yes + echo yes yes ++ echo strdup ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_STRDUP + cat + echo -n checking for __argz_count... checking for __argz_count... + echo configure:2778: checking for __argz_count ++ echo ${ac_cv_func___argz_count+set} + eval test "${ac_cv_func___argz_count+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func___argz_count=yes ++ ac_cv_func___argz_count=yes + rm -f conftest* ++ echo $ac_cv_func___argz_count + eval test "$ac_cv_func___argz_count" = yes ++ test yes = yes + echo yes yes ++ echo __argz_count ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE___ARGZ_COUNT + cat + echo -n checking for __argz_stringify... checking for __argz_stringify... + echo configure:2778: checking for __argz_stringify ++ echo ${ac_cv_func___argz_stringify+set} + eval test "${ac_cv_func___argz_stringify+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func___argz_stringify=yes ++ ac_cv_func___argz_stringify=yes + rm -f conftest* ++ echo $ac_cv_func___argz_stringify + eval test "$ac_cv_func___argz_stringify" = yes ++ test yes = yes + echo yes yes ++ echo __argz_stringify ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE___ARGZ_STRINGIFY + cat + echo -n checking for __argz_next... checking for __argz_next... + echo configure:2778: checking for __argz_next ++ echo ${ac_cv_func___argz_next+set} + eval test "${ac_cv_func___argz_next+set}" = set ++ test = set + cat + eval echo configure:2806: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2806: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func___argz_next=yes ++ ac_cv_func___argz_next=yes + rm -f conftest* ++ echo $ac_cv_func___argz_next + eval test "$ac_cv_func___argz_next" = yes ++ test yes = yes + echo yes yes ++ echo __argz_next ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE___ARGZ_NEXT + cat + test != set + echo -n checking for stpcpy... checking for stpcpy... + echo configure:2835: checking for stpcpy ++ echo ${ac_cv_func_stpcpy+set} + eval test "${ac_cv_func_stpcpy+set}" = set ++ test = set + cat + eval echo configure:2863: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2863: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_func_stpcpy=yes ++ ac_cv_func_stpcpy=yes + rm -f conftest* ++ echo $ac_cv_func_stpcpy + eval test "$ac_cv_func_stpcpy" = yes ++ test yes = yes + echo yes yes ++ echo stpcpy ++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ac_tr_func=HAVE_STPCPY + cat + test yes = yes + cat + test yes = yes + echo -n checking for LC_MESSAGES... checking for LC_MESSAGES... + echo configure:2897: checking for LC_MESSAGES ++ echo ${am_cv_val_LC_MESSAGES+set} + eval test "${am_cv_val_LC_MESSAGES+set}" = set ++ test = set + cat + eval echo configure:2909: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:2909: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 + test -s conftest + rm -rf conftest conftest.c + am_cv_val_LC_MESSAGES=yes + rm -f conftest* + echo yes yes + test yes = yes + cat + echo -n checking whether NLS is requested... checking whether NLS is requested... + echo configure:2930: checking whether NLS is requested + test set = set + enableval=no + USE_NLS=no + echo no no + USE_INCLUDED_LIBINTL=no + test no = yes + DATADIRNAME=share + nls_cv_header_intl=intl/libintl.h + nls_cv_header_libgt=intl/libgettext.h + test parted = gettext + GMOFILES= de.gmo + POFILES= de.po + GMOFILES= de.gmo fr.gmo + POFILES= de.po fr.po + GMOFILES= de.gmo fr.gmo gl.gmo + POFILES= de.po fr.po gl.po + GMOFILES= de.gmo fr.gmo gl.gmo ja.gmo + POFILES= de.po fr.po gl.po ja.po + GMOFILES= de.gmo fr.gmo gl.gmo ja.gmo nl.gmo + POFILES= de.po fr.po gl.po ja.po nl.po + GMOFILES= de.gmo fr.gmo gl.gmo ja.gmo nl.gmo pt_BR.gmo + POFILES= de.po fr.po gl.po ja.po nl.po pt_BR.po + GMOFILES= de.gmo fr.gmo gl.gmo ja.gmo nl.gmo pt_BR.gmo ru.gmo + POFILES= de.po fr.po gl.po ja.po nl.po pt_BR.po ru.po + test x != x + test yes = yes + INCLUDE_LOCALE_H=#include + test -d intl + test = .cat + sed -e /^#.*[^\\]$/d -e /^#$/d ./intl/po2tbl.sed.in + test parted = gettext + GT_NO= + GT_YES=#YES# + MKINSTALLDIRS= + test -n . + MKINSTALLDIRS=./mkinstalldirs + test -z ./mkinstalldirs + l= + test -d po + test x. != x. + posrcprefix=../ + rm -f po/POTFILES + sed -e /^#/d -e /^$/d -e s,.*, ../& \\, -e $s/\(.*\) \\/\1/ + CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 -DLOCALEDIR="\"${prefix}/share/locale\"" + test no = yes + CFLAGS=-O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 -DLOCALEDIR="\"${prefix}/share/locale\"" -DLOCALEDIR="\"${prefix}/share/locale\"" + PARTED_LIBS= + echo -n checking for uuid_generate in -luuid... checking for uuid_generate in -luuid... + echo configure:3862: checking for uuid_generate in -luuid ++ echo uuid_uuid_generate ++ sed y%./+-%__p_% + ac_lib_var=uuid_uuid_generate ++ echo ${ac_cv_lib_uuid_uuid_generate+set} + eval test "${ac_cv_lib_uuid_uuid_generate+set}" = set ++ test = set + ac_save_LIBS= + LIBS=-luuid + cat + eval echo configure:3881: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:3881: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 -DLOCALEDIR="\"${prefix}/share/locale\"" -DLOCALEDIR="\"${prefix}/share/locale\"" conftest.c -luuid 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_lib_uuid_uuid_generate=yes ++ ac_cv_lib_uuid_uuid_generate=yes + rm -f conftest* + LIBS= ++ echo $ac_cv_lib_uuid_uuid_generate + eval test "$ac_cv_lib_uuid_uuid_generate" = yes ++ test yes = yes + echo yes yes ++ echo uuid ++ sed -e s/[^a-zA-Z0-9_]/_/g -e y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ + ac_tr_lib=HAVE_LIBUUID + cat + LIBS=-luuid + test xyes = xyes + OLD_LIBS=-luuid + LIBS= + echo -n checking for library containing tgetent... checking for library containing tgetent... + echo configure:3922: checking for library containing tgetent ++ echo ${ac_cv_search_tgetent+set} + eval test "${ac_cv_search_tgetent+set}" = set ++ test = set + ac_func_search_save_LIBS= + ac_cv_search_tgetent=no + cat + eval echo configure:3940: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:3940: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 -DLOCALEDIR="\"${prefix}/share/locale\"" -DLOCALEDIR="\"${prefix}/share/locale\"" conftest.c 1>&5 + echo configure: failed program was: + cat conftest.c + rm -f conftest.c + test no = no + LIBS=-lncurses + cat + eval echo configure:3962: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:3962: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 -DLOCALEDIR="\"${prefix}/share/locale\"" -DLOCALEDIR="\"${prefix}/share/locale\"" conftest.c -lncurses 1>&5 + test -s conftest + rm -rf conftest conftest.c + ac_cv_search_tgetent=-lncurses + break + LIBS= + echo -lncurses -lncurses + test -lncurses != no + test -lncurses = none required + LIBS=-lncurses + PARTED_LIBS= -lncurses + LIBS=-luuid + test xyes = xyes + OLD_LIBS=-luuid + LIBS=-luuid -lncurses + echo -n checking for readline in -lreadline... checking for readline in -lreadline... + echo configure:3999: checking for readline in -lreadline ++ echo readline_readline ++ sed y%./+-%__p_% + ac_lib_var=readline_readline ++ echo ${ac_cv_lib_readline_readline+set} + eval test "${ac_cv_lib_readline_readline+set}" = set ++ test = set + ac_save_LIBS=-luuid -lncurses + LIBS=-lreadline -lncurses -luuid -lncurses + cat + eval echo configure:4019: "${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5" ++ echo configure:4019: /opt/bin/gcc -o conftest -O6 -fomit-frame-pointer -ffast-math -fforce-addr -march=pentiumpro -mfancy-math-387 -malign-loops=4 -malign-jumps=4 -malign-functions=4 -mstack-align-double -I/opt/include -L/opt/lib -D_FILE_OFFSET_BITS=64 -DLOCALEDIR="\"${prefix}/share/locale\"" -DLOCALEDIR="\"${prefix}/share/locale\"" conftest.c -lreadline -lncurses -luuid -lncurses 1>&5 + test -s conftest + rm -rf conftest conftest.c + eval ac_cv_lib_readline_readline=yes ++ ac_cv_lib_readline_readline=yes + rm -f conftest* + LIBS=-luuid -lncurses ++ echo $ac_cv_lib_readline_readline + eval test "$ac_cv_lib_readline_readline" = yes ++ test yes = yes + echo yes yes + PARTED_LIBS= -lncurses -lreadline + cat + LIBS=-luuid ++ echo uuid/uuid.h ++ sed y%./+-%__p_% + ac_safe=uuid_uuid_h + echo -n checking for uuid/uuid.h... checking for uuid/uuid.h... + echo configure:4062: checking for uuid/uuid.h ++ echo ${ac_cv_header_uuid_uuid_h+set} + eval test "${ac_cv_header_uuid_uuid_h+set}" = set ++ test = set + cat + ac_try=$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out + eval echo configure:4072: "$CPP $CPPFLAGS conftest.c >/dev/null 2>conftest.out" ++ echo configure:4072: /opt/bin/gcc -E conftest.c >/dev/null 2>conftest.out ++ grep -v ^ *+ conftest.out ++ grep -v ^conftest.c$ + ac_err=configure:4068: uuid/uuid.h: No such file or directory + test -z configure:4068: uuid/uuid.h: No such file or directory + echo configure:4068: uuid/uuid.h: No such file or directory + echo configure: failed program was: + cat conftest.c + rm -rf conftest.c conftest.out + eval ac_cv_header_uuid_uuid_h=no ++ ac_cv_header_uuid_uuid_h=no + rm -f conftest* ++ echo $ac_cv_header_uuid_uuid_h + eval test "$ac_cv_header_uuid_uuid_h" = yes ++ test no = yes + echo no no + echo configure: error: GNU Parted requires libbuid - a part of the e2fsprogs package. You seem to have the library installed but not the headers. These are usually found in a corresponding development package (usually called e2fsprogs-devel). If you can't find one try: http://web.mit.edu/tytso/www/linux/e2fsprogs.html configure: error: GNU Parted requires libbuid - a part of the e2fsprogs package. You seem to have the library installed but not the headers. These are usually found in a corresponding development package (usually called e2fsprogs-devel). If you can't find one try: http://web.mit.edu/tytso/www/linux/e2fsprogs.html + exit 1 --------------C4E746D26E8027E2CF7EB7CE-- From pagano@att.net Mon Dec 04 18:25:28 2000 Received: from mtiwmhc28.worldnet.att.net ([204.127.131.36]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 1434zA-0006eG-00 for ; Mon, 04 Dec 2000 18:25:28 -0500 Received: from att.net ([12.68.157.53]) by mtiwmhc28.worldnet.att.net (InterMail vM.4.01.03.10 201-229-121-110) with ESMTP id <20001204232526.DYUA1500.mtiwmhc28.worldnet.att.net@att.net> for ; Mon, 4 Dec 2000 23:25:26 +0000 Message-ID: <3A2C27F5.5030400@att.net> Date: Mon, 04 Dec 2000 18:25:41 -0500 From: Steven Pagano User-Agent: Mozilla/5.0 (X11; U; Linux 2.2.14-5.0 i686; en-US; m18) Gecko/20001130 X-Accept-Language: en MIME-Version: 1.0 To: parted@gnu.org Subject: Resizing hda1 question Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hello, I was looking for further info regarding resizing a partition. I am currently using only one HD, it's a 13.6GB. Currently under cfdisk my table looks like the following: hda1 - - - Boot - - - Primary - - - Linux ext2 - - - 8422.69 hda2 - - - - - - Primary - - - Linux swap - - - 501.75 - - - - - - Pri/Log - - - Free Space - - - 4746.00 How would I get all of that free space to merge with my hda1 w/o disrupting any of my files. Your instructions sound like I need to have the resizing drive (hda1) and freespace right next to each other, however it is not like that in my case. Regards, Steve Pagano From clausen@conectiva.com.br Tue Dec 05 10:16:46 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143Jpl-0005v9-00 for ; Tue, 05 Dec 2000 10:16:45 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id DA14B16B24; Tue, 5 Dec 2000 13:16:28 -0200 (BRST) Message-ID: <3A042A40.ACEEE3C3@conectiva.com.br> Date: Sat, 04 Nov 2000 13:24:48 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Steven Pagano Cc: parted@gnu.org Subject: Re: Resizing hda1 question References: <3A2C27F5.5030400@att.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Steven Pagano wrote: > > Hello, > > I was looking for further info regarding resizing a partition. > > I am currently using only one HD, it's a 13.6GB. Currently under cfdisk > my table looks like the following: > > hda1 - - - Boot - - - Primary - - - Linux ext2 - - - 8422.69 > hda2 - - - - - - Primary - - - Linux swap - - - 501.75 > - - - - - - Pri/Log - - - Free Space - - - 4746.00 > > How would I get all of that free space to merge with my hda1 w/o > disrupting any of my files. Your instructions sound like I need to have > the resizing drive (hda1) and freespace right next to each other, > however it is not like that in my case. This is correct. However, if you remove your linux swap partition, your free space will be next to your ext2 partition ;-) So, kill partition 2, and grow partition 1, leaving some space to create a new swap partition. Andrew Clausen From Commish@currentfights.com Tue Dec 05 11:34:37 2000 Received: from w034.z208036152.sjc-ca.dsl.cnc.net ([208.36.152.34] helo=server01.concentric.net) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143L37-0008G9-00 for ; Tue, 05 Dec 2000 11:34:37 -0500 Received: from [208.36.152.34] ([207.171.201.2]) by server01.concentric.net (Post.Office MTA v3.5.3 release 223 ID# 0-0U10L2S100V35) with SMTP id net for ; Tue, 5 Dec 2000 08:29:43 -0800 To: bug-parted@gnu.org From: Commish@CurrentFights.com (Jan C Booker) Date: Tue, 5 Dec 2000 08:35:08 -0800 Subject: are YOU a boxing fan? X-Mailer: WM - 208.36.152.34 Message-ID: <20001205162943402.AAU367@server01.concentric.net@[207.171.201.2]> Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: then you NEED to check out www.CurrentFights.com a web site FULL of Streaming Videos and audio's of the TOP Fights and Fighters of today .... SEE IT NOW !!! From clausen@conectiva.com.br Tue Dec 05 11:58:11 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143LPt-0000iR-00 for ; Tue, 05 Dec 2000 11:58:11 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 9BCA916B18; Tue, 5 Dec 2000 14:57:56 -0200 (BRST) Message-ID: <3A044208.E4F955BC@conectiva.com.br> Date: Sat, 04 Nov 2000 15:06:16 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Olaf Hering Cc: bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions References: <20001203050904.A1786@suse.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Olaf Hering wrote: > > Hi, > > current pdisk doesnt display all available pdisk partitions: > > peach:~ # pdisk -l /dev/sda > > Partition map (with 512 byte blocks) on '/dev/sda' > #: type name length base ( size ) > 1: Apple_partition_map 'Apple ' 63 @ 1 > 2: Apple_Driver43*'Macintosh ' 54 @ 64 > 3: Apple_Driver43*'Macintosh ' 74 @ 118 > 4: Apple_Patches 'Patch Partition' 512 @ 192 > 5: Apple_HFS 'seagate ' 126499 @ 704 ( 61.8M) > 6: Apple_Free 'Ohne Titel 2 ' 2105955 @ 127203 ( 1.0G) > 7: Apple_Free 'Ohne Titel 3 ' 270704 @ 2233158 (132.2M) > 8: Apple_Free 'Extra ' 10 @ 2503862 > > Device block size=512, Number of Blocks=2503871 (1.2G) > DeviceType=0x0, DeviceId=0x0 > Drivers- > 1: 21 @ 64, type=0x1 > 2: 36 @ 118, type=0xffff > > (parted) print > Disk geometry for /dev/sda: 0.000-1222.593 megabytes > Disk label type: mac > Minor Start End Filesystem Name Flags > 1 0.000 0.031 Apple > 2 0.031 0.057 Macintosh > 3 0.058 0.093 Macintosh > 4 0.094 0.343 Patch Partition > 5 0.344 62.110 hfs Ohne Titel This is a feature, not a bug TM Parted "hides" free space partitions (Apple_Free & friends), to keep the interface consistent on all architectures. Andrew Clausen From olh@suse.de Tue Dec 05 12:06:08 2000 Received: from cantor.suse.de ([194.112.123.193]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143LXb-0000rg-00 for ; Tue, 05 Dec 2000 12:06:07 -0500 Received: from Hermes.suse.de (Hermes.suse.de [194.112.123.136]) by Cantor.suse.de (Postfix) with ESMTP id A0DC11E28F; Tue, 5 Dec 2000 18:06:05 +0100 (MET) Received: from Wotan.suse.de (Wotan.suse.de [10.10.0.1]) by Hermes.suse.de (Postfix) with ESMTP id 40F593E452; Tue, 5 Dec 2000 18:06:05 +0100 (MET) Received: by Wotan.suse.de (Postfix, from userid 628) id 0F3EE1C8259; Tue, 5 Dec 2000 18:06:04 +0100 (CET) Date: Tue, 5 Dec 2000 18:06:03 +0100 From: Olaf Hering To: Andrew Clausen Cc: bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001205180603.A9394@suse.de> References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A044208.E4F955BC@conectiva.com.br>; from clausen@conectiva.com.br on Sat, Nov 04, 2000 at 03:06:16PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Sat, Nov 04, Andrew Clausen wrote: > > 5: Apple_HFS 'seagate ' 126499 @ 704 ( 61.8M) > > 6: Apple_Free 'Ohne Titel 2 ' 2105955 @ 127203 ( 1.0G) > > 7: Apple_Free 'Ohne Titel 3 ' 270704 @ 2233158 (132.2M) > > 8: Apple_Free 'Extra ' 10 @ 2503862 > This is a feature, not a bug TM Its a bug. > Parted "hides" free space partitions (Apple_Free & friends), to keep the > interface consistent on all architectures. These partitions can contain valid data. The "Drive Setup" versions prior 1.73 can not create these AU/X names, the user has to choose "Unallocated" and the "Apple_Free" partition name is the result. Please don't ignore these partitions when the name is not "Extra". "Drive Setup" creates a small free space at the end of every partition table, no idea why (differs from 5 - 25 blocks). The name is always "Extra", the other partitons have the name "Untitled X" or the localized pendant of "untitled". I can not use your tool when you ignore the reality ;) Gruss Olaf -- $ man clone BUGS Main feature not yet implemented... From clausen@conectiva.com.br Tue Dec 05 12:17:34 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143Lid-0001bk-00 for ; Tue, 05 Dec 2000 12:17:33 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 6E8C916B15; Tue, 5 Dec 2000 15:17:10 -0200 (BRST) Message-ID: <3A04468B.C894411D@conectiva.com.br> Date: Sat, 04 Nov 2000 15:25:31 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Olaf Hering , bug-parted@gnu.org Cc: Ethan Benson Subject: Re: 1.4.4 doesnt recognize all pdisk partitions References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Olaf Hering wrote: > > Parted "hides" free space partitions (Apple_Free & friends), to keep the > > interface consistent on all architectures. > > These partitions can contain valid data. The "Drive Setup" versions > prior 1.73 can not create these AU/X names, the user has to choose > "Unallocated" and the "Apple_Free" partition name is the result. I see. Well, this is a bug in Mac partition stuff, that we need a work-around for. Not a "bug in parted" ;-) > Please don't ignore these partitions when the name is not "Extra". Ethan/anyone: is this reasonable? Are there any other names we should check for? > "Drive Setup" creates a small free space at the end of every partition > table, no idea why (differs from 5 - 25 blocks). The name is always > "Extra", the other partitons have the name "Untitled X" or the localized > pendant of "untitled". What is "Drive Setup"? Are you sure these are "free space"? > I can not use your tool when you ignore the reality ;) huh? Andrew Clausen From olh@suse.de Tue Dec 05 12:27:11 2000 Received: from cantor.suse.de ([194.112.123.193]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143Lrz-0001mL-00 for ; Tue, 05 Dec 2000 12:27:11 -0500 Received: from Hermes.suse.de (Hermes.suse.de [194.112.123.136]) by Cantor.suse.de (Postfix) with ESMTP id E30281E270; Tue, 5 Dec 2000 18:27:03 +0100 (MET) Received: from Wotan.suse.de (Wotan.suse.de [10.10.0.1]) by Hermes.suse.de (Postfix) with ESMTP id A06053E45A; Tue, 5 Dec 2000 18:27:03 +0100 (MET) Received: by Wotan.suse.de (Postfix, from userid 628) id B1DF21C8259; Tue, 5 Dec 2000 18:26:58 +0100 (CET) Date: Tue, 5 Dec 2000 18:26:58 +0100 From: Olaf Hering To: Andrew Clausen Cc: bug-parted@gnu.org, Ethan Benson Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001205182658.B16834@suse.de> References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A04468B.C894411D@conectiva.com.br>; from clausen@conectiva.com.br on Sat, Nov 04, 2000 at 03:25:31PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Sat, Nov 04, Andrew Clausen wrote: > Olaf Hering wrote: > > > Parted "hides" free space partitions (Apple_Free & friends), to keep the > > > interface consistent on all architectures. > > > > These partitions can contain valid data. The "Drive Setup" versions > > prior 1.73 can not create these AU/X names, the user has to choose > > "Unallocated" and the "Apple_Free" partition name is the result. > > I see. Well, this is a bug in Mac partition stuff, that we need > a work-around for. Not a "bug in parted" ;-) You don't have to create these partition types, but you should display them. Maybe one wants to create 2 partitions of one existing partition. I did not try what parted would do in this case, but I guess such partitions would disapear on write. > > Please don't ignore these partitions when the name is not "Extra". > > Ethan/anyone: is this reasonable? Are there any other names we should > check for? I noticed only "Extra" as name for the last partition . > > "Drive Setup" creates a small free space at the end of every partition > > table, no idea why (differs from 5 - 25 blocks). The name is always > > "Extra", the other partitons have the name "Untitled X" or the localized > > pendant of "untitled". > > What is "Drive Setup"? Are you sure these are "free space"? Drive Setup is the partition tool for MacOS. You can not remove or add single partitions, only update the whole disk (with loosing everything). pdisk can remove partitions and it creates "Apple_Free" partition names and the name is "Extra". I just tried that (removed the swap partition). > > I can not use your tool when you ignore the reality ;) > > huh? You have to parse it that way: "Thanks for the work" :) Gruss Olaf -- $ man clone BUGS Main feature not yet implemented... From clausen@conectiva.com.br Tue Dec 05 12:49:59 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143ME1-0002hZ-00 for ; Tue, 05 Dec 2000 12:49:57 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 6672416B13; Tue, 5 Dec 2000 15:49:45 -0200 (BRST) Message-ID: <3A044E2E.15F4A77E@conectiva.com.br> Date: Sat, 04 Nov 2000 15:58:06 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Olaf Hering Cc: bug-parted@gnu.org, Ethan Benson Subject: Re: 1.4.4 doesnt recognize all pdisk partitions References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Olaf Hering wrote: > You don't have to create these partition types, but you should display > them. Maybe one wants to create 2 partitions of one existing partition. It's not that simple. If it's really a free partition, then you are allowed to make other partitions on top of it. If it's a used partition (with data) then you can't. > I did not try what parted would do in this case, but I guess such > partitions would disapear on write. Not quite. Parted creates free-space partitions for all free space, as well (Mac partition tools expect free-space partitions). However, Parted will mangle them lots! > > > Please don't ignore these partitions when the name is not "Extra". > > > > Ethan/anyone: is this reasonable? Are there any other names we should > > check for? > > I noticed only "Extra" as name for the last partition > . Yeah, but that doesn't rule out other programs... Andrew Clausen From olh@suse.de Tue Dec 05 12:59:27 2000 Received: from cantor.suse.de ([194.112.123.193]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143MND-0002pn-00 for ; Tue, 05 Dec 2000 12:59:27 -0500 Received: from Hermes.suse.de (Hermes.suse.de [194.112.123.136]) by Cantor.suse.de (Postfix) with ESMTP id 08A091E2FD; Tue, 5 Dec 2000 18:59:21 +0100 (MET) Received: from Wotan.suse.de (Wotan.suse.de [10.10.0.1]) by Hermes.suse.de (Postfix) with ESMTP id 1D40C3E941; Tue, 5 Dec 2000 18:59:16 +0100 (MET) Received: by Wotan.suse.de (Postfix, from userid 628) id 979801C8259; Tue, 5 Dec 2000 18:59:14 +0100 (CET) Date: Tue, 5 Dec 2000 18:59:14 +0100 From: Olaf Hering To: Andrew Clausen Cc: bug-parted@gnu.org, Ethan Benson Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001205185914.A4296@suse.de> References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A044E2E.15F4A77E@conectiva.com.br>; from clausen@conectiva.com.br on Sat, Nov 04, 2000 at 03:58:06PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Sat, Nov 04, Andrew Clausen wrote: > Olaf Hering wrote: > > You don't have to create these partition types, but you should display > > them. Maybe one wants to create 2 partitions of one existing partition. > > It's not that simple. If it's really a free partition, then you are > allowed to make other partitions on top of it. If it's a used partition > (with data) then you can't. There is no easy way to see if it a valid partition, you could mount it or check for swap space, but ... I would display them as free partitions. > > I did not try what parted would do in this case, but I guess such > > partitions would disapear on write. > > Not quite. Parted creates free-space partitions for all free space, > as well (Mac partition tools expect free-space partitions). However, > Parted will mangle them lots! ok. > > > > Please don't ignore these partitions when the name is not "Extra". > > > > > > Ethan/anyone: is this reasonable? Are there any other names we should > > > check for? > > > > I noticed only "Extra" as name for the last partition > > . > > Yeah, but that doesn't rule out other programs... No idea about third party tools like FWB. We should ask these guys directly or the people at LinuxPPC Inc., they bundle a FWB tool with their distro. Gruss Olaf -- $ man clone BUGS Main feature not yet implemented... From clausen@conectiva.com.br Tue Dec 05 13:04:47 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143MSL-0002vZ-00 for ; Tue, 05 Dec 2000 13:04:46 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id C63DF16B10; Tue, 5 Dec 2000 16:04:35 -0200 (BRST) Message-ID: <3A0451A8.5EFCE426@conectiva.com.br> Date: Sat, 04 Nov 2000 16:12:56 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Olaf Hering Cc: bug-parted@gnu.org, Ethan Benson Subject: Re: 1.4.4 doesnt recognize all pdisk partitions References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> <20001205185914.A4296@suse.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Olaf Hering wrote: > > On Sat, Nov 04, Andrew Clausen wrote: > > > Olaf Hering wrote: > > > You don't have to create these partition types, but you should display > > > them. Maybe one wants to create 2 partitions of one existing partition. > > > > It's not that simple. If it's really a free partition, then you are > > allowed to make other partitions on top of it. If it's a used partition > > (with data) then you can't. > > There is no easy way to see if it a valid partition, you could mount it > or check for swap space, but ... Well, isn't checking the partition name an "easy way"? > I would display them as free partitions. No way! This complicates things too much (for users, and people writing frontends to libparted, etc.) > No idea about third party tools like FWB. We should ask these guys > directly or the people at LinuxPPC Inc., they bundle a FWB tool with > their distro. FWB? I cc'd Ethan, who seems to know this stuff ;-) Andrew Clausen From clausen@conectiva.com.br Tue Dec 05 14:40:56 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143NxN-0006f9-00 for ; Tue, 05 Dec 2000 14:40:54 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id DB05516B11; Tue, 5 Dec 2000 17:40:45 -0200 (BRST) Message-ID: <3A04682F.30944DF3@conectiva.com.br> Date: Sat, 04 Nov 2000 17:49:03 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Steven Lembark , bug-parted@gnu.org Subject: Re: oddity: e2fsprogs headers not found in parted-1.4.1/configure References: <3A29E438.7AE249F5@wrkhors.com> <3A04432D.DD05DB41@conectiva.com.br> <3A2D3F4A.F4A36DAE@wrkhors.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Steven Lembark wrote: > > > > installed e2fs stuff w/ install lib's step and -I/opt/include is > > > in CFLAGS. > > > > > > -rw-r--r-- 1 root bin 1051 Dec 2 23:43 /opt/include/uuid/uuid.h > > > > I think you need to do: (quick hack!) > > > > $ CFLAGS="$CFLAGS -I/opt/include" ./configure && make > > CFLAGS was already set to '-L/opt/lib -I/opt/include', that's > what seemd rather odd a the time. Weird. autoconfuse is getting confused, then... > there is a note in the INSTALL doc for e2fs, however, which > notes that there is a separate "install-libs" for installing > the headers [but for some reason not the libs...]. you might > want to add a reference to RTFM the e2fs INSTALL for getting > the headers in place into your docs :-) > > > > 6) Install the programs > > Run `make install' > > 7) Install the include files and libraries > > You can run `make install-libs' to install the include files and > libraries. Please note that this installation is not needed for the > programs to work. It is only needed if you expect to develop other > programs using the libraries or if you want to compile other program > using these libraries (like the 4.4BSD dump and restore port). Done ;-) Thanks :-) Andrew Clausen From erbenson@alaska.net Tue Dec 05 21:14:42 2000 Received: from kitsune.nwc.alaska.net ([209.112.130.10] helo=alaska.net) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 143U6T-00027G-00 for ; Tue, 05 Dec 2000 21:14:42 -0500 Received: from erbenson.alaska.net (postfix@20-pm5.nwc.alaska.net [209.112.139.20]) by alaska.net (8.9.1/8.9.1) with ESMTP id RAA00624; Tue, 5 Dec 2000 17:14:28 -0900 (AKST) Received: from plato.local.lan (plato.local.lan [192.168.0.4]) by erbenson.alaska.net (Postfix) with ESMTP id AD3AC398A; Tue, 5 Dec 2000 17:14:24 -0900 (AKST) Received: by plato.local.lan (Postfix, from userid 1000) id 0C0FB80EC; Tue, 5 Dec 2000 17:14:26 -0900 (AKST) Date: Tue, 5 Dec 2000 17:14:25 -0900 From: Ethan Benson To: Andrew Clausen Cc: Olaf Hering , bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001205171425.J22155@plato.local.lan> References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="DGEpNJVZyRrKVy7j" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A04468B.C894411D@conectiva.com.br>; from clausen@conectiva.com.br on Sat, Nov 04, 2000 at 03:25:31PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --DGEpNJVZyRrKVy7j Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Nov 04, 2000 at 03:25:31PM -0200, Andrew Clausen wrote: >=20 > I see. Well, this is a bug in Mac partition stuff, that we need > a work-around for. Not a "bug in parted" ;-) indeed, it is also not necessary to use `Apple_Free' as a temporary partition type in Drive Setup, NetBSD/m68k for example asks you to just create HFS partitions, then you use a utility to choose which hfs partitions to `convert' (change the type to Apple_UNIX_SVR2 or whatever) this is a more correct way to accomplish this. =20 further to that you should always use the OSes native partitioner to create its partitions anyway, and for the most part today that is not a problem. (most people are using either *BSD which does not even support mac disklabels at all and insists on using msdos (except netbsd 68k iirc) or GNU/Linux which has at least two working partitioners now) > > Please don't ignore these partitions when the name is not "Extra". >=20 > Ethan/anyone: is this reasonable? Are there any other names we should > check for? Apple_Free is Apple_Free is Apple_Free, the name is irrelevant and arbitrary. its been a long time but i think that Apple_HD_SC_Setup (the original macos partitioner) used a different name on Apple_Free partitions. its irrelevant, the type is what is important not the name. i am aware of no software which assumes it can do anything with an Apple_Free partition other then reallocate its space to real partitions based on the name alone. > What is "Drive Setup"? Are you sure these are "free space"? Drive Setup is a buggy crippled mac partitioning utility, the ONLY macos partitioning utility anymore.=20 the free space partition it creates is indeed free space, apple has always done this, in the old days the reason was to leave room for driver updates or patches that required more space. i remember some cases where you had to reformat the entire disk to install a driver patch if you eliminated this free space (by expanding the main partition to consume it) i don't think this is a problem anymore since apple has allocated several partitions for different drivers along with a dedicated `patches' partition which can accept arbitrary patches/upgrades. the free space created is probably just an artifact of very old apple policy. =20 --=20 Ethan Benson http://www.alaska.net/~erbenson/ --DGEpNJVZyRrKVy7j Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjotoQEACgkQJKx7GixEevz2dACfbnJfQdEzW5t6q8QzE/MGdp9T NNkAoIjwIvNCeXUZEAEZwRli1l/TgEch =9Lck -----END PGP SIGNATURE----- --DGEpNJVZyRrKVy7j-- From erbenson@alaska.net Tue Dec 05 21:25:55 2000 Received: from kitsune.nwc.alaska.net ([209.112.130.10] helo=alaska.net) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 143UHK-0002Kw-00 for ; Tue, 05 Dec 2000 21:25:55 -0500 Received: from erbenson.alaska.net (postfix@20-pm5.nwc.alaska.net [209.112.139.20]) by alaska.net (8.9.1/8.9.1) with ESMTP id RAA06538; Tue, 5 Dec 2000 17:25:46 -0900 (AKST) Received: from plato.local.lan (plato.local.lan [192.168.0.4]) by erbenson.alaska.net (Postfix) with ESMTP id 92E66398A; Tue, 5 Dec 2000 17:25:43 -0900 (AKST) Received: by plato.local.lan (Postfix, from userid 1000) id 0C92480EC; Tue, 5 Dec 2000 17:25:45 -0900 (AKST) Date: Tue, 5 Dec 2000 17:25:44 -0900 From: Ethan Benson To: Andrew Clausen Cc: Olaf Hering , bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001205172544.K22155@plato.local.lan> References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="zZlcsJOVyAcDN4NF" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A044E2E.15F4A77E@conectiva.com.br>; from clausen@conectiva.com.br on Sat, Nov 04, 2000 at 03:58:06PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --zZlcsJOVyAcDN4NF Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Nov 04, 2000 at 03:58:06PM -0200, Andrew Clausen wrote: > Olaf Hering wrote: > > You don't have to create these partition types, but you should display > > them. Maybe one wants to create 2 partitions of one existing partition. >=20 > It's not that simple. If it's really a free partition, then you are > allowed to make other partitions on top of it. If it's a used partition > (with data) then you can't. i have removed this free space many times and have found nothing break, i never allow any of my disks to have ANY wasted space like this, its not used for anything, its just an artifact. =20 > Not quite. Parted creates free-space partitions for all free space, > as well (Mac partition tools expect free-space partitions). However, > Parted will mangle them lots! as its allowed to do, Apple_Free is a reserved partition type, its purpose is to be destroyed/reallocated into real partitions. you cannot store data here and expect it to be safe. the name means nothing, its just a label, like a label on an HFS filesystem. only GNU/Linux has added any meaning to certain names (swap, root) > > > > Please don't ignore these partitions when the name is not "Extra". > > > > > > Ethan/anyone: is this reasonable? Are there any other names we should > > > check for? > >=20 > > I noticed only "Extra" as name for the last partition > > . if you leave a second `hole' when creating partitions with Drive setup you will find an Apple_Free partition named `Extra' there too. you can do this with Drive Setup, but since im not running macos i cannot make an example partition table for you. =20 > Yeah, but that doesn't rule out other programs... i don't remember what hard disk toolkit uses as a name for free space partitions, i never allow free space partitions to live on my disks ;-) but like i have said its irrelevant, anything expecting to be able to store data safely on an Apple_Free partition is buggy and should be fixed to stop using Apple_Free for anything. =20 technically you cannot use *ANY* Apple_* type and expect to store data safely there since apple considers all these types as reserved. 3rd parties needing special partitions (ie not drivers or HFS partitions) should create thier own type which does not start with Apple_ so they can be assured it will be ignored by apple software. =20 apple could decided that Apple_UNIX_SVR2 partitions are to be automatically used as swap partitions by MacOSX tomorrow and nobody can complain. apple has a policy on partition types, its published and LONG known, in it Apple_Free is defined to serve the purpose Andrew (and every other mac partitioner) uses it for. =20 --=20 Ethan Benson http://www.alaska.net/~erbenson/ --zZlcsJOVyAcDN4NF Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjoto6gACgkQJKx7GixEevzL5QCfUVOfHbkgh/YXhd7dTTe3xUDP 7c0AnRHdGvm8n7KoIFg8Z3P5d1HB4e7V =qUnc -----END PGP SIGNATURE----- --zZlcsJOVyAcDN4NF-- From erbenson@alaska.net Tue Dec 05 21:28:38 2000 Received: from kitsune.nwc.alaska.net ([209.112.130.10] helo=alaska.net) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 143UJy-0002ML-00 for ; Tue, 05 Dec 2000 21:28:38 -0500 Received: from erbenson.alaska.net (postfix@20-pm5.nwc.alaska.net [209.112.139.20]) by alaska.net (8.9.1/8.9.1) with ESMTP id RAA07892; Tue, 5 Dec 2000 17:28:31 -0900 (AKST) Received: from plato.local.lan (plato.local.lan [192.168.0.4]) by erbenson.alaska.net (Postfix) with ESMTP id 1C02E398A; Tue, 5 Dec 2000 17:28:24 -0900 (AKST) Received: by plato.local.lan (Postfix, from userid 1000) id A7C2580EC; Tue, 5 Dec 2000 17:28:25 -0900 (AKST) Date: Tue, 5 Dec 2000 17:28:25 -0900 From: Ethan Benson To: Olaf Hering Cc: Andrew Clausen , bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001205172825.L22155@plato.local.lan> References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> <20001205185914.A4296@suse.de> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="IJ0V8rSZ2aNZISPM" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20001205185914.A4296@suse.de>; from olh@suse.de on Tue, Dec 05, 2000 at 06:59:14PM +0100 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --IJ0V8rSZ2aNZISPM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Dec 05, 2000 at 06:59:14PM +0100, Olaf Hering wrote: >=20 > No idea about third party tools like FWB. We should ask these guys > directly or the people at LinuxPPC Inc., they bundle a FWB tool with > their distro. iirc FWB hard disk toolkit does show Apple_Free partitions but it also does the same as parted, when you create a new partition the apple_free is destroyed, regardless of its name. =20 i have used FWB tools to expand the primary HFS partition to eliminate that small ammount of free space Drive setup and older tools always leave. no ill effects ever occured. --=20 Ethan Benson http://www.alaska.net/~erbenson/ --IJ0V8rSZ2aNZISPM Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjotpEkACgkQJKx7GixEevzlGQCeJmtqMQQ3Ib5rhuGo5Plffi/d KU8An3SvtveMzJU1VHAnAQBzvtrbgqPP =Vw4a -----END PGP SIGNATURE----- --IJ0V8rSZ2aNZISPM-- From 0@pervalidus.net Wed Dec 06 02:05:08 2000 Received: from [200.222.193.83] (helo=pervalidus.dyndns.org) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 143YdV-0001yj-00 for ; Wed, 06 Dec 2000 02:05:06 -0500 Received: from pervalidus by pervalidus.dyndns.org with local (Exim 3.20 #1) id 143YdB-0001Al-00 for bug-parted@gnu.org; Wed, 06 Dec 2000 05:04:45 -0200 Date: Wed, 6 Dec 2000 05:04:45 -0200 From: =?iso-8859-1?Q?Fr=E9d=E9ric_L_=2E_W_=2E_Meunier?= <0@pervalidus.net> To: bug-parted@gnu.org Subject: Moving 2gb from / to another ext2 already created partition Message-ID: <20001206050445.L7282@pervalidus.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-Mailer: Mutt/1.2.5i - Linux 2.2.17 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi. Can I do that without messing up my system? /etc/fstab: /dev/hda2 swap swap defaults 0 0 /dev/hda1 / ext2 defaults 1 1 /dev/hda3 /usr/local/src ext2 defaults 1 2 /dev/hda4 /home/ftp/pub ext2 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 df: Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda1 9920592 462260 8946264 5% / /dev/hda3 1984044 1009048 872584 54% /usr/local/src /dev/hda4 2497584 506008 1862656 21% /home/ftp/pub The problem is that when I installed this system on a (hda: Maxtor 51536U3, 14655MB w/2048kB Cache, CHS=1868/255/63, UDMA) I thought that 10gb for /dev/hda1, 128mb for /dev/hda2, 2gb for /home/ftp/pub, and the rest for /usr/local/src would be fine. But now I see that /usr/local/src needs another 2gb since not all applications support --srcdir and I'd need to build for example XFree86 and Mozilla directly on it. -- 0@pervalidus.{net, com, dyndns.org} From e.duijker@itsec.nl Wed Dec 06 02:30:47 2000 Received: from rivest.itsec.nl ([213.53.131.82]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143Z2M-0002q4-00 for ; Wed, 06 Dec 2000 02:30:46 -0500 Received: from fire.itsec.nl (fire.itsec.nl [213.53.131.90]) by rivest.itsec.nl (8.10.0/8.10.0) with ESMTP id eB67UOM26267 for ; Wed, 6 Dec 2000 08:30:24 +0100 Received: (from nobody@localhost) by fire.itsec.nl (8.8.7/8.8.7) id JAA10212 for ; Wed, 6 Dec 2000 09:28:54 +0100 X-Authentication-Warning: fire.itsec.nl: nobody set sender to using -f Received: from chebychev.itsec.nl(10.0.0.39) by fire via smap (V2.1) id xma010210; Wed, 6 Dec 00 09:28:53 +0100 Message-ID: <3A2DEBDE.F5C9727F@itsec.nl> Date: Wed, 06 Dec 2000 08:33:50 +0100 From: Eelco Duijker X-Mailer: Mozilla 4.75 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Re: are YOU a boxing fan? References: <20001205162943402.AAU367@server01.concentric.net@[207.171.201.2]> Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms5BED312BC8FF5ED7CA15B91C" Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: This is a cryptographically signed message in MIME format. --------------ms5BED312BC8FF5ED7CA15B91C Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Maybe it is time to make this list a moderated list....?? Have some spare time left Andrew? Eelco Duijker Jan C Booker wrote: > > then you NEED to check out www.CurrentFights.com a web site FULL of Streaming Videos and audio's of the TOP Fights and Fighters of today .... SEE IT NOW !!! > > _______________________________________________ > Bug-parted mailing list > Bug-parted@gnu.org > http://mail.gnu.org/mailman/listinfo/bug-parted --------------ms5BED312BC8FF5ED7CA15B91C Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIIFVAYJKoZIhvcNAQcCoIIFRTCCBUECAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC A0owggNGMIICLqADAgECAgEIMA0GCSqGSIb3DQEBBAUAMHMxCzAJBgNVBAYTAk5MMRYwFAYD VQQIEw1Ob29yZCBIb2xsYW5kMRAwDgYDVQQHEwdIYWFybGVtMR0wGwYDVQQKExRJVHNlYyBO ZWRlcmxhbmQgQi5WLjEbMBkGA1UEAxMSSVRzZWMgTmVkZXJsYW5kIENBMB4XDTAwMTAwNDA4 MzExMVoXDTAxMTAwNDA4MzExMVowgZUxCzAJBgNVBAYTAk5MMRswGQYDVQQKExJJVHNlYyBO ZWRlcmxhbmQgQlYxGjAYBgNVBAsTEVNlY3VyaXR5IFNlcnZpY2VzMRIwEAYKCZImiZPyLGQB ARMCZWQxFjAUBgNVBAMTDUVlbGNvIER1aWprZXIxITAfBgkqhkiG9w0BCQEWEmUuZHVpamtl ckBpdHNlYy5ubDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtViVcoaWRqNFJQLpvND8 b5ggbXElKZanmfJlJb/mM5LYZIPgwUWp77PXFIoX9psk3ArQ0g8CekgAnqy4iz8wl0eCv85f MhGnudYKorwqoHKh/IUJdL4On99KeyqfT2xmUoLLHm0wf68FZNZgbPtIeOlSWHhmyXtRJXbN OHL2xdcCAwEAAaNGMEQwEQYJYIZIAYb4QgEBBAQDAgWgMA4GA1UdDwEB/wQEAwIF4DAfBgNV HSMEGDAWgBR0k+0FcNrqlUKk5dbc+aW5wFJrXDANBgkqhkiG9w0BAQQFAAOCAQEAcPTMWwHZ nZ+0Hul/crcli4a4Z0pVJZ3P4NWXPwsfTtBgi0HADmjGVHuUmUP/deKRsmxDK5A9AZIuTmyo xSUjKsyfvEST4JGR363rCLfsflLTXgzaMjo3uOpGgWfvyeFdb8I11nJGYgNv7HXVF6+4gh96 e6qhDWVsi3FOwLgvF7v245P4Ts3oUNw8DXxA/K39itjG228zJnrxph8N0GvdZXpHjcG4u4Tp 7XQrHp0XFJnTtJY16TYKP1qf4XRjRJg0gf6dIXqdqPyZC8pj4DQd35UH1o6ChktycO0aGuFp uVlUjApGa3KH9kEns5XPGiJUfbv9O8CLGUbks1sEx0Ny3jGCAdIwggHOAgEBMHgwczELMAkG A1UEBhMCTkwxFjAUBgNVBAgTDU5vb3JkIEhvbGxhbmQxEDAOBgNVBAcTB0hhYXJsZW0xHTAb BgNVBAoTFElUc2VjIE5lZGVybGFuZCBCLlYuMRswGQYDVQQDExJJVHNlYyBOZWRlcmxhbmQg Q0ECAQgwCQYFKw4DAhoFAKCBsTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3 DQEJBTEPFw0wMDEyMDYwNzMzNTJaMCMGCSqGSIb3DQEJBDEWBBS3Vi0z1omCf97CZEvqoJZ4 wN3flDBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDAHBgUr DgMCBzANBggqhkiG9w0DAgIBQDANBggqhkiG9w0DAgIBKDANBgkqhkiG9w0BAQEFAASBgEIb f5+82ddv9CAV+jzDRE1ewE3EV4CpaWOeMaeV10G+z0LzpKj4vCWQ+26AYQWG+YDAKzx8k+4E 4kgF5fvtvfWRGBaAXp9M3UjCjFa0rSmoZ3/CgJAScDhsnH8HZtKUiAQq4OJLJopeOI6hDIKr FuGt0oacF4ViH3lrSw4R4Jsj --------------ms5BED312BC8FF5ED7CA15B91C-- From clausen@conectiva.com.br Wed Dec 06 06:27:11 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143cj9-0005La-00 for ; Wed, 06 Dec 2000 06:27:11 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 7A69D16B1B; Wed, 6 Dec 2000 09:26:59 -0200 (BRST) Message-ID: <3A0545FB.B0732812@conectiva.com.br> Date: Sun, 05 Nov 2000 09:35:23 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Eelco Duijker Cc: bug-parted@gnu.org Subject: Re: are YOU a boxing fan? References: <20001205162943402.AAU367@server01.concentric.net@[207.171.201.2]> <3A2DEBDE.F5C9727F@itsec.nl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Eelco Duijker wrote: > > Maybe it is time to make this list a moderated list....?? We already have lots of filters, etc. We don't get THAT much spam here. > Have some spare time left Andrew? Not really :-( Andrew Clausen From clausen@conectiva.com.br Wed Dec 06 07:02:27 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143dHG-0006Kt-00 for ; Wed, 06 Dec 2000 07:02:27 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 55E9716B1B; Wed, 6 Dec 2000 10:02:20 -0200 (BRST) Message-ID: <3A054E44.DDA0A2@conectiva.com.br> Date: Sun, 05 Nov 2000 10:10:44 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Ethan Benson , bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> <20001205185914.A4296@suse.de> <3A0451A8.5EFCE426@conectiva.com.br> <20001205173753.M22155@plato.local.lan> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Ethan Benson wrote: > > > There is no easy way to see if it a valid partition, you could mount it > > > or check for swap space, but ... > > > > Well, isn't checking the partition name an "easy way"? > > if you start treating `Apple_Free Extra' partitions as special you > will suddenly be unable to do anything with disks partitioned with > Drive setup as it names ALL its Apple_Free partitions `Extra'. the > name is totally irrelevant, you can call it > `Useless_Crap_please_reallocate' if you want, nothing will care. The idea was: "Extra" == free space, and anything else is a "data" partition. If it really is meant to be a free space partition, then you can just use Parted's "rm" command. If this isn't destructive enough for you, we can add a warning: "Partition %d is \"Apple_Free\", which indicates that it represents " "free space. Such free space partitions are usually called \"Extra\"," "however, this one is called \"%s\". If this partition really is " "a free space partition, then select Fix. Otherwise select Ignore." Fix Ignore Cancel ? (Fix changes the name to "Extra", Ignore changes the type to Apple_UNIX_SVR4 (???), Cancel stops the operation...) Andrew Clausen From erbenson@alaska.net Wed Dec 06 07:21:21 2000 Received: from kelland2.nwc.alaska.net ([209.112.130.99] helo=alaska.net) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 143dZZ-0007Lv-00 for ; Wed, 06 Dec 2000 07:21:21 -0500 Received: from erbenson.alaska.net (postfix@68-pm14.nwc.alaska.net [209.112.141.68]) by alaska.net (8.9.1/8.9.1) with ESMTP id DAA14191; Wed, 6 Dec 2000 03:21:06 -0900 (AKST) Received: from plato.local.lan (plato.local.lan [192.168.0.4]) by erbenson.alaska.net (Postfix) with ESMTP id 0B213398A; Wed, 6 Dec 2000 03:21:05 -0900 (AKST) Received: by plato.local.lan (Postfix, from userid 1000) id BB4FF80EC; Wed, 6 Dec 2000 03:21:04 -0900 (AKST) Date: Wed, 6 Dec 2000 03:21:04 -0900 From: Ethan Benson To: Andrew Clausen Cc: bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001206032104.D22155@plato.local.lan> References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> <20001205185914.A4296@suse.de> <3A0451A8.5EFCE426@conectiva.com.br> <20001205173753.M22155@plato.local.lan> <3A054E44.DDA0A2@conectiva.com.br> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="AbSVCDwndjOm3rzj" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A054E44.DDA0A2@conectiva.com.br>; from clausen@conectiva.com.br on Sun, Nov 05, 2000 at 10:10:44AM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --AbSVCDwndjOm3rzj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 05, 2000 at 10:10:44AM -0200, Andrew Clausen wrote: >=20 > The idea was: "Extra" =3D=3D free space, and anything else is a "data" > partition. that is absurd though, i don't think all partitioners use the name Extra, but all of them will treat Apple_Free exactly the same, as free space to be allocated to other partitions, not as data. =20 > If it really is meant to be a free space partition, then you can just > use > Parted's "rm" command. If this isn't destructive enough for you, we can > add a warning: >=20 > "Partition %d is \"Apple_Free\", which indicates that it represents " > "free space. Such free space partitions are usually called \"Extra\"," > "however, this one is called \"%s\". If this partition really is " > "a free space partition, then select Fix. Otherwise select Ignore." > Fix Ignore Cancel ? >=20 > (Fix changes the name to "Extra", Ignore changes the type to > Apple_UNIX_SVR4 > (???), Cancel stops the operation...) well if you really want to, but i think Apple_Free should be treated equally regardless of the name which is irrelevant. if you do insist on doing this i think the `partition table is broken do you want to fix it' is a better approach to showing these partitions. =20 --=20 Ethan Benson http://www.alaska.net/~erbenson/ --AbSVCDwndjOm3rzj Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjouLzAACgkQJKx7GixEevz73QCdG8PaJi21ko9Y7hyANHNsXF+D eIIAn2PN2Bw1seGBwP9SJaMzosWd39l5 =9chM -----END PGP SIGNATURE----- --AbSVCDwndjOm3rzj-- From clausen@conectiva.com.br Wed Dec 06 10:42:02 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143ghl-00051U-00 for ; Wed, 06 Dec 2000 10:42:01 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 0FE0416B10; Wed, 6 Dec 2000 13:41:54 -0200 (BRST) Message-ID: <3A0581BA.7BD7AD98@conectiva.com.br> Date: Sun, 05 Nov 2000 13:50:18 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Steven Pagano , bug-parted@gnu.org Subject: Re: Resizing hda1 question References: <3A2C27F5.5030400@att.net> <3A042A40.ACEEE3C3@conectiva.com.br> <3A2D76AB.7020702@att.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Steven Pagano wrote: > > Andrew Clausen wrote: > > > Steven Pagano wrote: > > > >> Hello, > >> > >> I was looking for further info regarding resizing a partition. > >> > >> I am currently using only one HD, it's a 13.6GB. Currently under cfdisk > >> my table looks like the following: > >> > >> hda1 - - - Boot - - - Primary - - - Linux ext2 - - - 8422.69 > >> hda2 - - - - - - Primary - - - Linux swap - - - 501.75 > >> - - - - - - Pri/Log - - - Free Space - - - 4746.00 > >> > >> How would I get all of that free space to merge with my hda1 w/o > >> disrupting any of my files. Your instructions sound like I need to have > >> the resizing drive (hda1) and freespace right next to each other, > >> however it is not like that in my case. > > > > > > This is correct. However, if you remove your linux swap > > partition, your free space will be next to your ext2 partition > > ;-) > > > > So, kill partition 2, and grow partition 1, leaving some space > > to create a new swap partition. > > > > Andrew Clausen > > > > > Andrew, > > I did basically that. To simplify it, this is what my table looks like: > > hda1(native)----FREE SPACE---hda2(swap) > > Due to the fact I am a newbie (I still consider myself one) to Linux I > do not feel very comfortable running this program. Also, I have yet to > find someone on an IRC linux help chat room that knows how to do this > procedure. > > Would you be able to describe in detail how it is accomplished. I just added this to the Parted documentation. Does this help? Please tell me if some parts don't make sense. Thanks, Andrew Clausen -------- SITUATION Suppose your disk layout looks like this: (parted) print Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 500.000 primary ext2 2 500.000 625.000 primary linux-swap There is 375 Mb of free space at the end of the disk (after partition 2). Partition 1 has an ext2 file system, which is the root device. Partition 2 is a swap device. Suppose you wanted to use the free space at the end of the disk for the file] system on partition 1. EXAMPLE PROCEDURE (1) The following steps will modify both the root file system on partition 1, and the swap device on partition 2. Therefore, you shouldn't be using either partitions. You should probably use a Parted boot disk (see section 1.5). >From the boot disk, run Parted: # parted /dev/hda (2) Remove partition 2 (the swap partition). Normally, you wouldn't want to delete a partition with data on it. However, a swap partition doesn't contain data when it isn't "swapped on" (mounted), so you can remove it, and create a replacement swap partition later. (parted) rm 2 (3) Create the new swap partition at the end of the disk: (parted) mkpartfs primary linux-swap 875 999.9 (parted) print Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 500.000 primary ext2 2 875.000 1000.000 primary linux-swap (4) Grow partition 1, into the adjacent free space: (parted) resize 1 0.063 0.874.9 All done! (parted) print Disk geometry for /dev/hda: 0.000-1000.000 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.063 874.999 primary ext2 2 875.000 1000.000 primary linux-swap From clausen@conectiva.com.br Wed Dec 06 10:49:48 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143gpG-00057T-00 for ; Wed, 06 Dec 2000 10:49:47 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 6397B16B10; Wed, 6 Dec 2000 13:49:34 -0200 (BRST) Message-ID: <3A058387.821F80F6@conectiva.com.br> Date: Sun, 05 Nov 2000 13:57:59 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: =?iso-8859-1?Q?Fr=E9d=E9ric?= L.W.Meunier <0@pervalidus.net> Cc: bug-parted@gnu.org Subject: Re: Moving 2gb from / to another ext2 already created partition References: <20001206050445.L7282@pervalidus.dyndns.org> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Fr=E9d=E9ric L . W . Meunier wrote: > = > Hi. Can I do that without messing up my system? > = > /etc/fstab: > /dev/hda2 swap swap defaults 0 0 > /dev/hda1 / ext2 defaults 1 1 > /dev/hda3 /usr/local/src ext2 defaults 1 2 > /dev/hda4 /home/ftp/pub ext2 defaults 1 2 > none /dev/pts devpts gid=3D5,mode=3D620 0 0 > none /proc proc defaults 0 0 > = > df: > Filesystem 1k-blocks Used Available Use% Mounted on > /dev/hda1 9920592 462260 8946264 5% / > /dev/hda3 1984044 1009048 872584 54% /usr/local/src > /dev/hda4 2497584 506008 1862656 21% /home/ftp/pub You need to give information about the location of the partitions. You can do this with fdisk or parted. eg: # parted /dev/hda print Have you found/read the documentation? Do you find it too difficult to understand? (How should we improve it?!) Andrew Clausen From clausen@conectiva.com.br Wed Dec 06 10:57:47 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143gwy-0005Fs-00 for ; Wed, 06 Dec 2000 10:57:45 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 3E86216B16; Wed, 6 Dec 2000 13:57:33 -0200 (BRST) Message-ID: <3A058566.89768DDC@conectiva.com.br> Date: Sun, 05 Nov 2000 14:05:58 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Ethan Benson Cc: bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions References: <20001203050904.A1786@suse.de> <3A044208.E4F955BC@conectiva.com.br> <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> <20001205185914.A4296@suse.de> <3A0451A8.5EFCE426@conectiva.com.br> <20001205173753.M22155@plato.local.lan> <3A054E44.DDA0A2@conectiva.com.br> <20001206032104.D22155@plato.local.lan> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Ethan Benson wrote: > > On Sun, Nov 05, 2000 at 10:10:44AM -0200, Andrew Clausen wrote: > > > > The idea was: "Extra" == free space, and anything else is a "data" > > partition. > > that is absurd though, i don't think all partitioners use the name > Extra Can you check this? If this is true, I'd rather keep parted as-is. (Unless Olaf's situation is common - I doubt it is... but could someone Who Knows TM comment...?) Thanks, Andrew Clausen From clausen@conectiva.com.br Wed Dec 06 12:03:19 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 143hyH-0007U0-00 for ; Wed, 06 Dec 2000 12:03:17 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 0F5B816B1C; Wed, 6 Dec 2000 15:02:59 -0200 (BRST) Message-ID: <3A0594BE.A5CA15B8@conectiva.com.br> Date: Sun, 05 Nov 2000 15:11:26 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: =?iso-8859-1?Q?Fr=E9d=E9ric?= L.W.Meunier <0@pervalidus.net>, bug-parted@gnu.org Subject: Re: Moving 2gb from / to another ext2 already created partition References: <20001206050445.L7282@pervalidus.dyndns.org> <3A058387.821F80F6@conectiva.com.br> <20001206145217.R7282@pervalidus.dyndns.org> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Fr=E9d=E9ric L . W . Meunier wrote: > > Have you found/read the documentation? Do you find it too difficult = to > > understand? (How should we improve it?!) > = > No, I'm downloading GNU Parted right now, but read a bit at > the site. I see that I'd need to use a bootdisk since I'm > moving 2gb from /. Going to init 1 wouldn't work, > right? So I'll have to wait until my next reboot. Correct. But you can read the documentation online: http://www.gnu.org/software/parted/USER = > I'll see if I can do without messing up my system (using the > wrong options...). BTW, today is 6/12, your Date: shows 5 :) Yeah, I'm still setting up the new computer. (I moved from Australia to Brazil for 3 months :-) Andrew Clausen From buch@ifh-hp9.bau-verm.uni-karlsruhe.de Thu Dec 07 03:55:08 2000 Received: from ifh-hp9.bau-verm.uni-karlsruhe.de ([129.13.120.30]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 143wpX-0005rs-00; Thu, 07 Dec 2000 03:55:07 -0500 Received: (from buch@localhost) by ifh-hp9.bau-verm.uni-karlsruhe.de (8.8.6 (PHNE_17135)/8.8.6) id JAA05045; Thu, 7 Dec 2000 09:55:04 +0100 (CET) Date: Thu, 7 Dec 2000 09:55:04 +0100 From: Tobias Buchal To: bug-parted@gnu.org Cc: Andrew Clausen Subject: Re: parted: problem with BR on /dev/hda3 Message-ID: <20001207095504.A5035@ifh.bau-verm.uni-karlsruhe.de> Reply-To: Tobias Buchal Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi Andrew, ok, now I got want you mean and I got a step further (using parted_1.4.3) output is now: |------------------------------------------------------------------------ |# parted /dev/hda1 print |Warning: Device /dev/hda1 is neither a SCSI nor IDE drive. |Ignore Cancel ? i |Disk geometry for /dev/hda1: 0.000-1055.219 megabytes |Disk label type: loop |Minor Start End Filesystem Flags |1 0.000 1055.219 FAT | |# parted /dev/hda1 cp 1 /dev/hde 2 |Warning: Device /dev/hda1 is neither a SCSI nor IDE drive. |Ignore Cancel ? i |Warning: Error reading /proc/swaps (No such file or directory) to determine if |partition is mounted. |Fatal: Bad FAT: cluster 12560 is cross-linked for \WINDOWS\WIN.INI |---------------------------------------------------------------------------- The Warning, might be due to the fact the I am still using Linux 2.0.32. But both partitions are definitly not mounted. Is there any way to overcome this FATAL error ? Note: I didn't install this WINDOWS myself. It is the original installation of a Toshiba notebook (from 02/98). Thanks Tobias PS: Is this only me, how has so much bad luck with the partitioning stuff ? On Son, 26 Nov 2000, Andrew Clausen wrote: > buchal@ifh.bau-verm.uni-karlsruhe.de wrote: > > ....... > > 1) # parted /dev/hda1 cp /dev/hde 2 > > results in the following error > > This is incorrect syntax for CP. Even if you don't use the partition > table, Parted has a "fake" partition table. Do: > > # parted /dev/hda1 print > > To see what I mean ;-) > > So, you want: > > # parted /dev/hda1 cp 1 /dev/hde 2 ....... From clausen@conectiva.com.br Thu Dec 07 08:13:30 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 1440rZ-0001Rd-00 for ; Thu, 07 Dec 2000 08:13:30 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 9B44216B23; Thu, 7 Dec 2000 11:13:19 -0200 (BRST) Message-ID: <3A06B070.B0A4B65E@conectiva.com.br> Date: Mon, 06 Nov 2000 11:21:52 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Tobias Buchal Cc: bug-parted@gnu.org Subject: Re: parted: problem with BR on /dev/hda3 References: <20001207095504.A5035@ifh.bau-verm.uni-karlsruhe.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Tobias Buchal wrote: > > Hi Andrew, > > ok, now I got want you mean and I got a step further (using parted_1.4.3) > > output is now: > |------------------------------------------------------------------------ > |# parted /dev/hda1 print > |Warning: Device /dev/hda1 is neither a SCSI nor IDE drive. > |Ignore Cancel ? i > |Disk geometry for /dev/hda1: 0.000-1055.219 megabytes > |Disk label type: loop > |Minor Start End Filesystem Flags > |1 0.000 1055.219 FAT > | > |# parted /dev/hda1 cp 1 /dev/hde 2 > |Warning: Device /dev/hda1 is neither a SCSI nor IDE drive. > |Ignore Cancel ? i > |Warning: Error reading /proc/swaps (No such file or directory) to determine if > |partition is mounted. > |Fatal: Bad FAT: cluster 12560 is cross-linked for \WINDOWS\WIN.INI > |---------------------------------------------------------------------------- > > The Warning, might be due to the fact the I am still using Linux 2.0.32. I seriously doubt it. > But both partitions are definitly not mounted. > > Is there any way to overcome this FATAL error ? Your file system is corrupted. Run dosfsck or scandisk. > PS: Is this only me, how has so much bad luck with the partitioning stuff ? No. Partitioning is horrible, because we have to be compatible with a whole lot of poorly designed (well, undesigned) proprietory systems (BIOS, partition tables, DOS/Windows' FAT, etc). That's why it's important that everyone tells us when they have problems, so we can try to solve them for everybody. So, thanks! Andrew Clausen From erbenson@alaska.net Thu Dec 07 08:35:04 2000 Received: from ldap-sol.acsalaska.net ([209.193.61.12]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 1441CQ-0002Gq-00 for ; Thu, 07 Dec 2000 08:35:03 -0500 Received: from erbenson.alaska.net ([209.112.158.92]) by ldap-sol.acsalaska.net (Netscape Messaging Server 4.15) with ESMTP id G579Q500.118; Thu, 7 Dec 2000 04:34:53 -0900 Received: from plato.local.lan (plato.local.lan [192.168.0.4]) by erbenson.alaska.net (Postfix) with ESMTP id 28D543924; Thu, 7 Dec 2000 04:34:51 -0900 (AKST) Received: by plato.local.lan (Postfix, from userid 1000) id 94EA280EC; Thu, 7 Dec 2000 04:34:51 -0900 (AKST) Date: Thu, 7 Dec 2000 04:34:51 -0900 From: Ethan Benson To: Andrew Clausen Cc: bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001207043451.A14689@plato.local.lan> References: <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> <20001205185914.A4296@suse.de> <3A0451A8.5EFCE426@conectiva.com.br> <20001205173753.M22155@plato.local.lan> <3A054E44.DDA0A2@conectiva.com.br> <20001206032104.D22155@plato.local.lan> <3A058566.89768DDC@conectiva.com.br> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="5vNYLRcllDrimb99" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A058566.89768DDC@conectiva.com.br>; from clausen@conectiva.com.br on Sun, Nov 05, 2000 at 02:05:58PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --5vNYLRcllDrimb99 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 05, 2000 at 02:05:58PM -0200, Andrew Clausen wrote: > Ethan Benson wrote: > >=20 > > On Sun, Nov 05, 2000 at 10:10:44AM -0200, Andrew Clausen wrote: > > > > > > The idea was: "Extra" =3D=3D free space, and anything else is a "data" > > > partition. > >=20 > > that is absurd though, i don't think all partitioners use the name > > Extra >=20 > Can you check this? If this is true, I'd rather keep parted as-is. > (Unless Olaf's situation is common - I doubt it is... but could > someone Who Knows TM comment...?) OK, i tested 3 partitioners on macos, Apple_HD_SC_Setup (the anchient original apple partitioner for scsi disks), Hard Disk Toolkit 3, and Drive setup. =20 Drive setup did not consistently use the name Extra for Apple_Free partitions, when you leave a space unallocated it leaves the name set to untitled X where X is a number. i tend to think this is a bug or just an artifact of the way it does the partition naming, it does NOT allow you to change the names, it just allocates untitled X for each partition, X being 1-8 depending on which menu item you choose (1 partition, 2 partitions, 3.....)=20 now i tested the behaviour of these programs when faced with an Apple_Free partition with a name other then `Extra'. Drive setup is not tested since it does not allow you to edit the partition table, only start over from scratch ignoring anything that was there before. =20 Hard Disk toolkit treats all Apple_Free partitions equal, that is it takes space from whatever Apple_Free is most convenient and reallocates it to newly created partitions (or its own driver partitions) it does not warn, ask, or give you any indication that this `custom' Apple_Free partition is going to be destroyed. it just uses it, and does NOT allow you to manipulate it. Apple HD SC Setup, shows all Apple_Free partitions exactly the same, (this program has a large square, where white space represents real partitions, and gray space represents `Free' space) you can create a new partition and it will reallocate the space from the nearest Apple_Free partition to the new partition. again it does not complain or warn the user that this `custom' Apple_Free partition is going to be destroyed. it just uses it, and does NOT allow you to manipulate it. =20 note that Apple_HD_SC_Setup allows you to create a `scratch' partition in addition to standard macos or A/UX partitions, the type given is Apple_Scratch. =20 Hard Disk toolkit allows you to create custom partitions with an arbitrary partition type, if you create an Apple_Free partition hard disk toolkit will treat it as an Apple_Free partition, reallocating its space as it needs it, regardless of what name you give it.=20 therefore i think what parted is currently doing with Apple_Free partitions is correct and should be left alone. furthermore Olaf's suggestion that Apple's Drive Setup is unable to create A/UX partitions is false, Drive setup will allow you to create about 8 varieties of Apple_UNIX_SVR2 partitions (called A/UX in Drive setup, A/UX root, A/UX usr and so on, it just gives them different names). Drive setup even has an entry for Linux Home and Linux Opt (which creates Apple_UNIX_SVR2). I can think of no situation where one would need to choose Drive Setup's `Unallocated' other then to simply leave a gap on the disk for use by other partitions to be created later by a Real program such as parted. even if Drive setup was only able to create HFS partitions this is fine since you can simply use parted to change the type (with mkfs X yyyfs) this is what i already reccommend people do anyway, create either a placeholder HFS or unallocated block and then delete it (in the case of HFS) and create real GNU partitions with a GNU/Linux partitioner (mac-fdisk or parted) i find this is more reliable then using Drive setups buggy support for creating `foreign' partitions (which causes crashes often, and it always says that the procedure failed, even though it didn't really)=20 in short its impossible to keep valid data on an Apple_Free partition, not safely anyway, all partitioners will quietly destroy them, regardless of the name. leave parted as it is, its doing the Right Thing. =20 --=20 Ethan Benson http://www.alaska.net/~erbenson/ --5vNYLRcllDrimb99 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjovkfsACgkQJKx7GixEevzBcQCeLyqKuvcFKXSMf8xVvdl7zefM pP4AnA/Xq8B+b5QQcbHiti9h2Laf3fPb =xV0h -----END PGP SIGNATURE----- --5vNYLRcllDrimb99-- From clausen@conectiva.com.br Thu Dec 07 09:07:20 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 1441hf-0003Gv-00 for ; Thu, 07 Dec 2000 09:07:20 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 2A52D16B1E; Thu, 7 Dec 2000 12:07:15 -0200 (BRST) Message-ID: <3A06BD15.183C2ECF@conectiva.com.br> Date: Mon, 06 Nov 2000 12:15:49 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Ethan Benson Cc: bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions References: <20001205180603.A9394@suse.de> <3A04468B.C894411D@conectiva.com.br> <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> <20001205185914.A4296@suse.de> <3A0451A8.5EFCE426@conectiva.com.br> <20001205173753.M22155@plato.local.lan> <3A054E44.DDA0A2@conectiva.com.br> <20001206032104.D22155@plato.local.lan> <3A058566.89768DDC@conectiva.com.br> <20001207043451.A14689@plato.local.lan> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Ethan Benson wrote: > Drive setup did not consistently use the name Extra for Apple_Free > partitions, when you leave a space unallocated it leaves the name set > to untitled X where X is a number. i tend to think this is a bug or > just an artifact of the way it does the partition naming, it does NOT > allow you to change the names, it just allocates untitled X for each > partition, X being 1-8 depending on which menu item you choose (1 > partition, 2 partitions, 3.....) Ah. So a hypothetical test for "Extra" wouldn't work. You'd need to test for a lot more. > in short its impossible to keep valid data on an Apple_Free partition, > not safely anyway, all partitioners will quietly destroy them, > regardless of the name. leave parted as it is, its doing the Right > Thing. You've convinced me. However, is there a "way out" for people in olaf's situation? Should we tell people in the Parted documentation: * Parted doesn't display Apple_Free partitions * Parted will delete/create Apple_Free partitions as it wishes * if you have data on an Apple_Free partition (!), you should use pdisk to change the partition from Apple_Free to something sennsible (like Apple_UNIX_SVR2) Andrew Clausen From erbenson@alaska.net Thu Dec 07 09:22:12 2000 Received: from ldap-sol.acsalaska.net ([209.193.61.12]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 1441w0-00040z-00 for ; Thu, 07 Dec 2000 09:22:10 -0500 Received: from erbenson.alaska.net ([209.112.158.92]) by ldap-sol.acsalaska.net (Netscape Messaging Server 4.15) with ESMTP id G57BWJ00.P1Z; Thu, 7 Dec 2000 05:21:55 -0900 Received: from plato.local.lan (plato.local.lan [192.168.0.4]) by erbenson.alaska.net (Postfix) with ESMTP id AEDAD3924; Thu, 7 Dec 2000 05:21:52 -0900 (AKST) Received: by plato.local.lan (Postfix, from userid 1000) id AE1D180EC; Thu, 7 Dec 2000 05:21:53 -0900 (AKST) Date: Thu, 7 Dec 2000 05:21:53 -0900 From: Ethan Benson To: Andrew Clausen Cc: bug-parted@gnu.org Subject: Re: 1.4.4 doesnt recognize all pdisk partitions Message-ID: <20001207052153.D14689@plato.local.lan> References: <20001205182658.B16834@suse.de> <3A044E2E.15F4A77E@conectiva.com.br> <20001205185914.A4296@suse.de> <3A0451A8.5EFCE426@conectiva.com.br> <20001205173753.M22155@plato.local.lan> <3A054E44.DDA0A2@conectiva.com.br> <20001206032104.D22155@plato.local.lan> <3A058566.89768DDC@conectiva.com.br> <20001207043451.A14689@plato.local.lan> <3A06BD15.183C2ECF@conectiva.com.br> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="mSxgbZZZvrAyzONB" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A06BD15.183C2ECF@conectiva.com.br>; from clausen@conectiva.com.br on Mon, Nov 06, 2000 at 12:15:49PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --mSxgbZZZvrAyzONB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Nov 06, 2000 at 12:15:49PM -0200, Andrew Clausen wrote: >=20 > You've convinced me. >=20 > However, is there a "way out" for people in olaf's situation? Should i still don't even see what Olaf's situation is, all i saw in the messages i got was he perceived a need to create an `unallocated' partition for later use as a GNU/Linux or whatever *nix partition, if this is the case i really see this as a non-issue, you cannot create any kind of *nix filesystem in macos. so you end up creating an Apple_Free partition with nothing on it, which you can create a real partition in using parted or mac-fdisk, with a correct partition type (i know of no OS that uses Apple_Free as its partition type, doing such is foolishness as i demonstrated) =20 so what exactly is Olaf's situation? =20 > we tell people in the Parted documentation: > * Parted doesn't display Apple_Free partitions > * Parted will delete/create Apple_Free partitions as it wishes this is good, i would add that this is what every other known mac partitioner does. just to make it absolutely clear parted is not doing anything unusal. this is how its supposed to work.=20 > * if you have data on an Apple_Free partition (!), you should > use pdisk to change the partition from Apple_Free to something > sennsible (like Apple_UNIX_SVR2) this is a decent warning i suppose, however mac-fdisk cannot change partition types, you can only delete and recreate the partition (attempting to create it with the same boundries, yuk)=20 i really do wish there was a way to change the partition type in parted without creating the filesystem. i know you don't want to allow setting arbitary types, but what about some switch to mkfs that changes the type without touching the partition's data? mkfs -t 2 ext2 maybe? as parted is there is no way at all to change a partition into say HFS since HFS is not supported by parted. =20 --=20 Ethan Benson http://www.alaska.net/~erbenson/ --mSxgbZZZvrAyzONB Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjovnQEACgkQJKx7GixEevyhAACaAzBWz+7epfW/pnyjFcdZfb2n cMAAn2Pyo1kw0t9I3SpRT/8jFrzDrUIo =7jet -----END PGP SIGNATURE----- --mSxgbZZZvrAyzONB-- From eliphas@conectiva.com.br Thu Dec 07 15:03:18 2000 Received: from brutus.conectiva.com.br ([200.250.58.146] helo=burns.conectiva) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 1447G6-0007EO-00 for ; Thu, 07 Dec 2000 15:03:17 -0500 Received: (qmail 9244 invoked by uid 0); 7 Dec 2000 20:02:54 -0000 Received: from lilica.distro.conectiva (eliphas@10.0.17.18) by burns.conectiva with SMTP; 7 Dec 2000 20:02:54 -0000 Date: Thu, 7 Dec 2000 18:02:44 -0200 (EST) From: Eliphas Levy Theodoro To: Andrew Clausen cc: Tobias Buchal , Subject: Re: parted: problem with BR on /dev/hda3 In-Reply-To: <3A06B070.B0A4B65E@conectiva.com.br> Message-ID: Organization: Conectiva Inc. X-Subliminal1: you love linux and you hate microsoft X-Subliminal2: you love vi and you hate emacs X-Subliminal3: you love pine and you hate mutt X-geekcode: CM/U d--- s:- a23 C+++ UL+++ X-geekcode-version: 3.12 X-Mailer: Pine-LNX 4.31 macho pra caralho X-Mailer-info: http://www.washington.edu/pine X-URL: http://www.eliphas.com MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Andrew Clausen, @ 06/11/00 - 11:21: > Tobias Buchal wrote: > > > > ok, now I got want you mean and I got a step further (using parted_1.4.3) > > output is now: > > |------------------------------------------------------------------------ > > |# parted /dev/hda1 print ^^^^^^^^^ > > |Warning: Device /dev/hda1 is neither a SCSI nor IDE drive. it shouldn't be '/dev/hda' only? ':) -- ./eliphas -levy | vim -x -R -b -T screen -c 'screen -r' - From clausen@conectiva.com.br Thu Dec 07 15:12:32 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 1447P3-0007PO-00 for ; Thu, 07 Dec 2000 15:12:30 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 46D7D16B1E; Thu, 7 Dec 2000 18:12:22 -0200 (BRST) Message-ID: <3A0712AA.3747AC33@conectiva.com.br> Date: Mon, 06 Nov 2000 18:20:58 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Eliphas Levy Theodoro Cc: Tobias Buchal , bug-parted@gnu.org Subject: Re: parted: problem with BR on /dev/hda3 References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Eliphas Levy Theodoro wrote: > > Andrew Clausen, @ 06/11/00 - 11:21: > > > Tobias Buchal wrote: > > > > > > ok, now I got want you mean and I got a step further (using parted_1.4.3) > > > > output is now: > > > |------------------------------------------------------------------------ > > > |# parted /dev/hda1 print > ^^^^^^^^^ > > > |Warning: Device /dev/hda1 is neither a SCSI nor IDE drive. > > it shouldn't be '/dev/hda' only? ':) No. If the partition table is somewhat broken (and parted doesn't like it), then you can access the partition directly ;-) This works through the virtual "loop" disk label. See libparted/disk_loop.c BTW, I intend to fix the alignment issue... (which is why he can't use /dev/hda) I'm working on it right now, in fact ;-) Andrew Clausen From msw@devserv.devel.redhat.com Thu Dec 07 17:53:58 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 1449vJ-0004xT-00 for ; Thu, 07 Dec 2000 17:53:57 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eB7Mrux21547 for bug-parted@gnu.org; Thu, 7 Dec 2000 17:53:56 -0500 Date: Thu, 7 Dec 2000 17:53:56 -0500 From: Matt Wilson To: bug-parted@gnu.org Subject: [PATCH] fs_ext2 sets min_size constraint in blocks, not sectors Message-ID: <20001207175356.B13199@devserv.devel.redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="cvVnyQ+4j833TQvp" Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --cvVnyQ+4j833TQvp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I'm not sure if there is code around that is depending on this broken behavior, but the fs_ext2 code was setting the min_size in blocks, not sectors. Patch attached. Matt --cvVnyQ+4j833TQvp Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="parted-fs_ext2-min_size.patch" Index: interface.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/fs_ext2/interface.c,v retrieving revision 1.2 diff -u -r1.2 interface.c --- interface.c 2000/11/27 16:56:44 1.2 +++ interface.c 2000/12/07 22:49:56 @@ -278,8 +278,9 @@ return NULL; if (!ped_geometry_init (&start_sector, disk, fs->geom->start, 1)) return NULL; - min_size = EXT2_SUPER_BLOCKS_COUNT(f->sb) - - EXT2_SUPER_FREE_BLOCKS_COUNT(f->sb); + min_size = ((EXT2_SUPER_BLOCKS_COUNT(f->sb) + - EXT2_SUPER_FREE_BLOCKS_COUNT(f->sb)) + * (f->blocksize / PED_SECTOR_SIZE)); return ped_constraint_new (&start_align, ped_alignment_any, &start_sector, &full_disk, min_size); --cvVnyQ+4j833TQvp-- From clausen@conectiva.com.br Fri Dec 08 09:42:36 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 144OjL-0005kV-00 for ; Fri, 08 Dec 2000 09:42:35 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 9740816B10; Fri, 8 Dec 2000 12:42:32 -0200 (BRST) Message-ID: <3A0816E0.3B3937A4@conectiva.com.br> Date: Tue, 07 Nov 2000 12:51:12 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Matt Wilson Cc: bug-parted@gnu.org Subject: Re: [PATCH] fs_ext2 sets min_size constraint in blocks, not sectors References: <20001207175356.B13199@devserv.devel.redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Matt Wilson wrote: > > I'm not sure if there is code around that is depending on this broken > behavior, but the fs_ext2 code was setting the min_size in blocks, not > sectors. Patch attached. Thanks :-) The code is used. When you do ped_disk_set_partition_geom(), you should pass the constraint from ped_file_system_get_resize_constraint(). This will be particularly important, when I implement ext2-resize-the-start, because ext2 file systems' blocks must remain aligned the same way (i.e. block_start_sector % block_size == constant). Anyway, when you do ped_disk_set_partition_geom(), it will bump the partition size up, to satisfy the constraint (if necessary). The relevant function is ped_constraint_solve_nearest(). I should document this... Since it's under-estimating, there are no disasters ;-) Andrew Clausen From msw@devserv.devel.redhat.com Fri Dec 08 18:04:17 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 144WYq-0005DO-00 for ; Fri, 08 Dec 2000 18:04:16 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eB8N4G307820 for bug-parted@gnu.org; Fri, 8 Dec 2000 18:04:16 -0500 Date: Fri, 8 Dec 2000 18:04:15 -0500 From: Matt Wilson To: bug-parted@gnu.org Subject: [PATCH] preliminary BSD Disklabel support Message-ID: <20001208180415.T13199@devserv.devel.redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="zS7rBR6csb6tI2e1" Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --zS7rBR6csb6tI2e1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This is a patch to enable preliminary BSD disklabel support. I'll outline some quick issues: 1) BSD Disklabels often don't reside on sector bounds, and are not a multiple of sector size. Therefore, the ped_device_read function as provided as the interface to read devices is a little cumbersome to fetch the label (normally they are at offset 64 from the start of the disk, and they're 276 bytes long). This patch includes a renaming of ped_device_{seek,read,write} to ped_device_{seek,read_write}_sector. I've added ped_device_{seek,read,write} functions that work on normal byte counts. 2) Disk labels can have overlapping partitions. This is especially true for whole disk partitions, but sometimes people even use this feature to fake out bootloaders into booting off filesystem types they dont know about. (I.e., someone sets up software RAID 1, with disk types set to 0xfd for "raid autodetect", but aboot can't cope with that. They set up an overlapping partition entry for exactly the same partition, but with the normal 0x8 "ext2" type.) 3) Some endian issues may remain. 4) This patch is *barely* tested. I've love to get some other eyes looking at this - it's been a 4 hour hack and I'm sure I'm missing something. Matt --zS7rBR6csb6tI2e1 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="parted-bsd-disklabel-support.patch" Index: include/parted/device.h =================================================================== RCS file: /mnt/devel/CVS/parted/include/parted/device.h,v retrieving revision 1.1.1.1 diff -u -u -r1.1.1.1 device.h --- include/parted/device.h 2000/11/20 16:18:15 1.1.1.1 +++ include/parted/device.h 2000/12/08 22:55:48 @@ -24,6 +24,8 @@ #ifndef PED_DEVICE_H_INCLUDED #define PED_DEVICE_H_INCLUDED +#include + #define PED_SECTOR_SIZE 512 typedef long long PedSector; @@ -72,9 +74,16 @@ extern int ped_device_begin_external_access (PedDevice* dev); extern int ped_device_end_external_access (PedDevice* dev); +/* XXX fix my offset */ +extern int ped_device_seek (const PedDevice* dev, off_t offset); + extern int ped_device_read (const PedDevice* dev, void* buffer, + size_t count); +extern int ped_device_read_sector (const PedDevice* dev, void* buffer, PedSector start, PedSector count); extern int ped_device_write (PedDevice* dev, const void* buffer, + size_t count); +extern int ped_device_write_sector (PedDevice* dev, const void* buffer, PedSector start, PedSector count); extern int ped_device_sync (PedDevice* dev); extern PedSector ped_device_check (PedDevice* dev, void* buffer, Index: include/parted/disk_bsd.h =================================================================== RCS file: disk_bsd.h diff -N disk_bsd.h --- /dev/null Thu Aug 24 05:00:32 2000 +++ disk_bsd.h Fri Dec 8 17:55:48 2000 @@ -0,0 +1,40 @@ +/* + libparted - a library for manipulating disk partitions + Copyright (C) 1998-2000 Andrew Clausen, Lennert Buytenhek and Red Hat Inc. + + Andrew Clausen + Lennert Buytenhek + Matt Wilson, Red Hat Inc. + + This program 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 of the License, or + (at your option) any later version. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Contributor: Matt Wilson +*/ + +#ifndef PED_DISK_BSD_H_INCLUDED +#define PED_DISK_BSD_H_INCLUDED + +typedef struct { + int16_t type; +} BSDPartitionData; + +#define BSD_NAME "bsd" + +extern void ped_disk_bsd_init (); +extern void ped_disk_bsd_done (); + + +#endif /* PED_DISK_BSD_H_INCLUDED */ + Index: libparted/Makefile.am =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/Makefile.am,v retrieving revision 1.1.1.1 diff -u -u -r1.1.1.1 Makefile.am --- libparted/Makefile.am 2000/11/20 16:18:15 1.1.1.1 +++ libparted/Makefile.am 2000/12/08 22:55:48 @@ -19,7 +19,8 @@ disk_dos.c \ disk_loop.c \ disk_mac.c \ - disk_pc98.c + disk_pc98.c \ + disk_bsd.c libparted_la_LIBADD = fs_ext2/libext2.la \ fs_fat/libfat.la \ Index: libparted/device.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/device.c,v retrieving revision 1.1.1.2 diff -u -u -r1.1.1.2 device.c --- libparted/device.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/device.c 2000/12/08 22:55:48 @@ -796,29 +796,90 @@ } static int -ped_device_seek (const PedDevice* dev, PedSector sector) +ped_device_seek_sector (const PedDevice* dev, PedSector sector) { PED_ASSERT (dev != NULL, return 0); PED_ASSERT (!dev->external_mode, return 0); #if SIZEOF_OFF_T < 8 && defined(linux) if (sizeof (off_t) < 8) { - loff_t pos = sector * 512; + loff_t pos = sector * PED_SECTOR_SIZE; return ped_llseek (dev->fd, pos, SEEK_SET) == pos; } else #endif { - off_t pos = sector * 512; + off_t pos = sector * PED_SECTOR_SIZE; return lseek (dev->fd, pos, SEEK_SET) == pos; } } + +/* XXX fix me */ +int +ped_device_seek (const PedDevice* dev, off_t offset) +{ + PED_ASSERT (dev != NULL, return 0); + PED_ASSERT (!dev->external_mode, return 0); + +#if SIZEOF_OFF_T < 8 && defined(linux) + if (sizeof (off_t) < 8) { + return ped_llseek (dev->fd, offset, SEEK_SET) == offset; + } else +#endif + { + return lseek (dev->fd, offset, SEEK_SET) == offset; + } +} + int -ped_device_read (const PedDevice* dev, void* buffer, PedSector start, - PedSector count) +ped_device_read (const PedDevice* dev, void* buffer, size_t count) { int status; PedExceptionOption ex_status; + + PED_ASSERT (dev != NULL, return 0); + PED_ASSERT (!dev->external_mode, return 0); + PED_ASSERT (buffer != NULL, return 0); + + while (1) { + status = read (dev->fd, buffer, count); + if (status == count * PED_SECTOR_SIZE) break; + if (status > 0) { + count -= status; + buffer += status; + continue; + } + + ex_status = ped_exception_throw ( + PED_EXCEPTION_ERROR, + PED_EXCEPTION_RETRY_IGNORE_CANCEL, + _("%s during read on %s"), + strerror (errno), + dev->path); + + switch (ex_status) { + case PED_EXCEPTION_IGNORE: + return 1; + + case PED_EXCEPTION_RETRY: + break; + + case PED_EXCEPTION_UNHANDLED: + ped_exception_catch (); + case PED_EXCEPTION_CANCEL: + return 0; + } + } + + return 1; +} + +int +ped_device_read_sector (const PedDevice* dev, void* buffer, PedSector start, + PedSector count) +{ + int status; + PedExceptionOption ex_status; size_t read_length = count * PED_SECTOR_SIZE; PED_ASSERT (dev != NULL, return 0); @@ -826,7 +887,7 @@ PED_ASSERT (buffer != NULL, return 0); while (1) { - if (ped_device_seek (dev, start)) + if (ped_device_seek_sector (dev, start)) break; ex_status = ped_exception_throw ( @@ -922,8 +983,67 @@ } int -ped_device_write (PedDevice* dev, const void* buffer, PedSector start, - PedSector count) +ped_device_write (PedDevice* dev, const void* buffer, size_t count) +{ + int status; + PedExceptionOption ex_status; + + PED_ASSERT (dev != NULL, return 0); + PED_ASSERT (!dev->external_mode, return 0); + PED_ASSERT (buffer != NULL, return 0); + + if (dev->read_only) { + if (ped_exception_throw ( + PED_EXCEPTION_ERROR, + PED_EXCEPTION_IGNORE_CANCEL, + _("Can't write to %s, because it is opened read-only."), + dev->path) + != PED_EXCEPTION_IGNORE) + return 0; + else + return 1; + } + +#ifdef READONLY + printf ("ped_device_write_sector (\"%s\", %p, %d, %d)\n", + dev->path, buffer, (int) start, (int) count); +#else + dev->dirty = 1; + while (1) { + status = write (dev->fd, buffer, count); + if (status == count * PED_SECTOR_SIZE) break; + if (status > 0) { + count -= status; + buffer += status; + continue; + } + + ex_status = ped_exception_throw ( + PED_EXCEPTION_ERROR, + PED_EXCEPTION_RETRY_IGNORE_CANCEL, + _("%s during write on %s"), + strerror (errno), dev->path); + + switch (ex_status) { + case PED_EXCEPTION_IGNORE: + return 1; + + case PED_EXCEPTION_RETRY: + break; + + case PED_EXCEPTION_UNHANDLED: + ped_exception_catch (); + case PED_EXCEPTION_CANCEL: + return 0; + } + } +#endif + return 1; +} + +int +ped_device_write_sector (PedDevice* dev, const void* buffer, PedSector start, + PedSector count) { int status; PedExceptionOption ex_status; @@ -946,7 +1066,7 @@ } while (1) { - if (ped_device_seek (dev, start)) + if (ped_device_seek_sector (dev, start)) break; ex_status = ped_exception_throw ( @@ -969,7 +1089,7 @@ } #ifdef READONLY - printf ("ped_device_write (\"%s\", %p, %d, %d)\n", + printf ("ped_device_write_sector (\"%s\", %p, %d, %d)\n", dev->path, buffer, (int) start, (int) count); #else dev->dirty = 1; @@ -1018,7 +1138,7 @@ PED_ASSERT (!dev->external_mode, return 0); PED_ASSERT (buffer != NULL, return 0); - if (!ped_device_seek (dev, start)) + if (!ped_device_seek_sector (dev, start)) return 0; while (1) { Index: libparted/disk_bsd.c =================================================================== RCS file: disk_bsd.c diff -N disk_bsd.c --- /dev/null Thu Aug 24 05:00:32 2000 +++ disk_bsd.c Fri Dec 8 17:55:48 2000 @@ -0,0 +1,549 @@ +/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + + libparted - a library for manipulating disk partitions + Copyright (C) 1998-2000 Free Software Foundation, Inc. + + This program 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 of the License, or + (at your option) any later version. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Contributor: Matt Wilson +*/ + +#include "config.h" + +#include + +#include +#include +#include + +#define BSD_DISKMAGIC (0x82564557UL) /* The disk magic number */ +#define BSD_MAXPARTITIONS 8 +#define BSD_FS_UNUSED 0 /* disklabel unused partition entry ID */ +#define BSD_LABEL_OFFSET 64 + +#define BSD_DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */ +#define BSD_DTYPE_MSCP 2 /* MSCP */ +#define BSD_DTYPE_DEC 3 /* other DEC (rk, rl) */ +#define BSD_DTYPE_SCSI 4 /* SCSI */ +#define BSD_DTYPE_ESDI 5 /* ESDI interface */ +#define BSD_DTYPE_ST506 6 /* ST506 etc. */ +#define BSD_DTYPE_HPIB 7 /* CS/80 on HP-IB */ +#define BSD_DTYPE_HPFL 8 /* HP Fiber-link */ +#define BSD_DTYPE_FLOPPY 10 /* floppy */ + +#define BSD_BBSIZE 8192 /* size of boot area, with label */ +#define BSD_SBSIZE 8192 /* max size of fs superblock */ + +typedef struct _BSDRawPartition BSDRawPartition; +typedef struct _BSDRawLabel BSDRawLabel; + +struct _BSDRawPartition { /* the partition table */ + u_int32_t p_size; /* number of sectors in partition */ + u_int32_t p_offset; /* starting sector */ + u_int32_t p_fsize; /* filesystem basic fragment size */ + u_int8_t p_fstype; /* filesystem type, see below */ + u_int8_t p_frag; /* filesystem fragments per block */ + u_int16_t p_cpg; /* filesystem cylinders per group */ +}; + +struct _BSDRawLabel { + u_int32_t d_magic; /* the magic number */ + int16_t d_type; /* drive type */ + int16_t d_subtype; /* controller/d_type specific */ + int8_t d_typename[16]; /* type name, e.g. "eagle" */ + int8_t d_packname[16]; /* pack identifier */ + u_int32_t d_secsize; /* # of bytes per sector */ + u_int32_t d_nsectors; /* # of data sectors per track */ + u_int32_t d_ntracks; /* # of tracks per cylinder */ + u_int32_t d_ncylinders; /* # of data cylinders per unit */ + u_int32_t d_secpercyl; /* # of data sectors per cylinder */ + u_int32_t d_secperunit; /* # of data sectors per unit */ + u_int16_t d_sparespertrack; /* # of spare sectors per track */ + u_int16_t d_sparespercyl; /* # of spare sectors per cylinder */ + u_int32_t d_acylinders; /* # of alt. cylinders per unit */ + u_int16_t d_rpm; /* rotational speed */ + u_int16_t d_interleave; /* hardware sector interleave */ + u_int16_t d_trackskew; /* sector 0 skew, per track */ + u_int16_t d_cylskew; /* sector 0 skew, per cylinder */ + u_int32_t d_headswitch; /* head switch time, usec */ + u_int32_t d_trkseek; /* track-to-track seek, usec */ + u_int32_t d_flags; /* generic flags */ +#define NDDATA 5 + u_int32_t d_drivedata[NDDATA]; /* drive-type specific information */ +#define NSPARE 5 + u_int32_t d_spare[NSPARE]; /* reserved for future use */ + u_int32_t d_magic2; /* the magic number (again) */ + u_int16_t d_checksum; /* xor of data incl. partitions */ + + /* filesystem and partition information: */ + u_int16_t d_npartitions; /* number of partitions in following */ + u_int32_t d_bbsize; /* size of boot area at sn0, bytes */ + u_int32_t d_sbsize; /* max size of fs superblock, bytes */ + BSDRawPartition d_partitions[BSD_MAXPARTITIONS]; /* actually may be more */ +}; + +static int bsd_probe (const PedDevice *dev); +static PedDisk* bsd_open (PedDevice* dev); +static PedDisk* bsd_create (PedDevice* dev); +static int bsd_clobber (PedDevice* dev); +static int bsd_close (PedDisk* disk); +static int bsd_read (PedDisk* disk); +static int bsd_write (PedDisk* disk); + +static PedPartition* bsd_partition_new ( + const PedDisk* disk, PedPartitionType part_type, + const PedFileSystemType* fs_type, PedSector start, PedSector end); +static void bsd_partition_destroy (PedPartition* part); +static int bsd_partition_set_flag ( + PedPartition* part, PedPartitionFlag flag, int state); +static int bsd_partition_get_flag ( + const PedPartition* part, PedPartitionFlag flag); +static int bsd_partition_is_flag_available ( + const PedPartition* part, + PedPartitionFlag flag); +static int bsd_partition_align (PedPartition* part, + const PedConstraint* constraint); +static int bsd_partition_enumerate (PedPartition* part); +static int bsd_partition_set_extended_system (PedPartition* part); +static int bsd_get_max_primary_partition_count (const PedDisk* disk); + +static int bsd_alloc_metadata (PedDisk* disk); + +static PedDiskOps bsd_disk_ops = { + probe: bsd_probe, + open: bsd_open, + create: bsd_create, + clobber: bsd_clobber, + close: bsd_close, + read: bsd_read, + write: bsd_write, + + partition_new: bsd_partition_new, + partition_destroy: bsd_partition_destroy, + partition_set_flag: bsd_partition_set_flag, + partition_get_flag: bsd_partition_get_flag, + partition_is_flag_available: bsd_partition_is_flag_available, + partition_set_name: NULL, + partition_get_name: NULL, + partition_align: bsd_partition_align, + partition_enumerate: bsd_partition_enumerate, + partition_set_extended_system: bsd_partition_set_extended_system, + + alloc_metadata: bsd_alloc_metadata, + get_max_primary_partition_count: + bsd_get_max_primary_partition_count +}; + +static PedDiskType bsd_disk_type = { + next: NULL, + name: "bsd", + ops: &bsd_disk_ops, + features: 0 +}; + +void +ped_disk_bsd_init () +{ + PED_ASSERT (sizeof (BSDRawPartition) == 16, return); + PED_ASSERT (sizeof (BSDRawLabel) == 276, return); + + ped_register_disk_type (&bsd_disk_type); +} + +void +ped_disk_bsd_done () +{ + ped_unregister_disk_type (&bsd_disk_type); +} + + +/* XXX fixme: endian? */ +static unsigned short +xbsd_dkcksum (BSDRawLabel *lp) { + unsigned short *start, *end; + unsigned short sum = 0; + + lp->d_checksum = 0; + start = (u_short *)lp; + end = (u_short *)&lp->d_partitions[lp->d_npartitions]; + while (start < end) + sum ^= *start++; + return (sum); +} + +/* XXX fixme: endian? */ +static void +alpha_bootblock_checksum (char *boot) { + u_int64_t *dp, sum; + int i; + + dp = (u_int64_t *)boot; + sum = 0; + for (i = 0; i < 63; i++) + sum += dp[i]; + dp[63] = sum; +} + + +static int +bsd_probe (const PedDevice *dev) +{ + PedDiskType* disk_type; + BSDRawLabel label; + int i; + + PED_ASSERT (dev != NULL, return 0); + + if (!ped_device_open ((PedDevice*) dev)) + return 0; + if (!ped_device_seek (dev, BSD_LABEL_OFFSET)) { + ped_device_close ((PedDevice*) dev); + return 0; + } + if (!ped_device_read (dev, &label, sizeof (label))) { + ped_device_close ((PedDevice*) dev); + return 0; + } + ped_device_close ((PedDevice*) dev); + + /* check magic */ + if (PED_LE32_TO_CPU (label.d_magic) != BSD_DISKMAGIC) + return 0; + + return 1; +} + +static PedDisk* +bsd_open (PedDevice* dev) +{ + PedDisk* disk; + + PED_ASSERT (dev != NULL, return 0); + + if (!bsd_probe (dev)) + goto error; + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + disk = ped_disk_alloc (dev, &bsd_disk_type); + if (!disk) + goto error; + + if (!bsd_read (disk)) + goto error_free_disk; + + return disk; + +error_free_disk: + ped_disk_free (disk); +error: + return NULL; +} + +static int +bsd_close (PedDisk* disk) +{ + PED_ASSERT (disk != NULL, return 0); + + ped_device_close (disk->dev); + ped_disk_free (disk); + return 1; +} + + +static PedDisk* +bsd_create (PedDevice* dev) +{ + BSDRawLabel label; + + PED_ASSERT (dev != NULL, return 0); + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + if (!ped_device_seek (dev, BSD_LABEL_OFFSET)) + goto error_close_dev; + if (!ped_device_read (dev, &label, sizeof (label))) + goto error_close_dev; + + memset(&label, 0, sizeof(label)); + + label.d_magic = PED_CPU_TO_LE32 (BSD_DISKMAGIC); + label.d_type = PED_CPU_TO_LE16 (BSD_DTYPE_SCSI); + label.d_flags = 0; + label.d_secsize = PED_CPU_TO_LE16 (PED_SECTOR_SIZE); + label.d_nsectors = PED_CPU_TO_LE32 (dev->sectors); + label.d_ntracks = PED_CPU_TO_LE32 (dev->heads); + label.d_ncylinders = PED_CPU_TO_LE32 (dev->cylinders); + label.d_secpercyl = PED_CPU_TO_LE32 (dev->sectors * dev->heads); + label.d_secperunit = PED_CPU_TO_LE32 (dev->sectors * dev->heads * dev->cylinders); + + label.d_rpm = PED_CPU_TO_LE16 (3600); + label.d_interleave = PED_CPU_TO_LE16 (1);; + label.d_trackskew = 0; + label.d_cylskew = 0; + label.d_headswitch = 0; + label.d_trkseek = 0; + + label.d_magic2 = PED_CPU_TO_LE32 (BSD_DISKMAGIC); + label.d_bbsize = PED_CPU_TO_LE32 (BSD_BBSIZE); + label.d_sbsize = PED_CPU_TO_LE32 (BSD_SBSIZE); + + label.d_npartitions = 0; + label.d_checksum = xbsd_dkcksum (&label); + + if (!ped_device_seek (dev, BSD_LABEL_OFFSET)) + goto error_close_dev; + if (!ped_device_write (dev, (void*) &label, sizeof(label))) + goto error_close_dev; + if (!ped_device_sync (dev)) + goto error_close_dev; + ped_device_close (dev); + return bsd_open (dev); + +error_close_dev: + ped_device_close (dev); +error: + return 0; +} + +static int +bsd_clobber (PedDevice* dev) +{ + BSDRawLabel label; + + PED_ASSERT (dev != NULL, return 0); + PED_ASSERT (bsd_probe (dev), return 0); + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + if (!ped_device_seek (dev, BSD_LABEL_OFFSET)) + goto error_close_dev; + if (!ped_device_read (dev, &label, sizeof(label))) + goto error_close_dev; + + label.d_magic = 0; + + if (!ped_device_seek (dev, BSD_LABEL_OFFSET)) + goto error_close_dev; + if (!ped_device_write (dev, (void*) &label, sizeof(label))) + goto error_close_dev; + if (!ped_device_sync (dev)) + goto error_close_dev; + ped_device_close (dev); + return 1; + +error_close_dev: + ped_device_close (dev); +error: + return 0; +} + +static int +bsd_read (PedDisk* disk) +{ + BSDRawLabel label; + int i, s; + PedPartition* part; + PedSector start, end; + PedConstraint* constraint_exact; + + PED_ASSERT (disk != NULL, return 0); + PED_ASSERT (disk->dev != NULL, return 0); + + ped_disk_delete_all (disk); + + if (!ped_device_seek (disk->dev, BSD_LABEL_OFFSET)) + goto error; + if (!ped_device_read (disk->dev, (void*) &label, sizeof(label))) + goto error; + + for (i = 0; i < BSD_MAXPARTITIONS; i++) { + if (!label.d_partitions[i].p_size + || !label.d_partitions[i].p_fstype) + continue; + start = PED_LE32_TO_CPU(label.d_partitions[i].p_offset); + end = PED_LE32_TO_CPU(label.d_partitions[i].p_offset) + + PED_LE32_TO_CPU(label.d_partitions[i].p_size - 1); + part = ped_partition_new (disk, PED_PARTITION_PRIMARY, NULL, + start, end); + if (!part) + goto error; + part->num = i + 1; + part->fs_type = ped_file_system_probe (&part->geom); + constraint_exact = ped_constraint_exact (part); + if (!ped_disk_add_partition (disk, part, constraint_exact)) + goto error; + ped_constraint_destroy (constraint_exact); + } + return 1; + + error: + return 0; +} + +static int +bsd_write (PedDisk* disk) +{ + BSDRawLabel label; + BSDPartitionData* bsd_data; + PedPartition* part; + int i, max_part; + char boot[512]; + + PED_ASSERT (disk != NULL, return 0); + PED_ASSERT (disk->dev != NULL, return 0); + + + if (!ped_device_seek (disk->dev, BSD_LABEL_OFFSET)) + return 0; + if (!ped_device_read (disk->dev, &label, sizeof(label))) + return 0; + + memset (label.d_partitions, 0, + sizeof (BSDRawPartition) * BSD_MAXPARTITIONS); + + for (i = 0; i < BSD_MAXPARTITIONS; i++) { + part = ped_disk_get_partition (disk, i); + if (!part) + continue; + bsd_data = part->disk_specific; + label.d_partitions[i - 1].p_fstype = bsd_data->type; + label.d_partitions[i - 1].p_offset = part->geom.start; + label.d_partitions[i - 1].p_size = part->geom.length; + max_part = i; + } + + label.d_npartitions = PED_CPU_TO_LE16 (max_part + 1); + label.d_checksum = xbsd_dkcksum (&label); + + if (!ped_device_seek (disk->dev, BSD_LABEL_OFFSET)) + return 0; + if (!ped_device_write (disk->dev, (void*) &label, sizeof (label))) + return 0; + if (!ped_device_seek (disk->dev, 0)) + return 0; + if (!ped_device_read (disk->dev, &boot, sizeof(boot))) + return 0; + alpha_bootblock_checksum(boot); + if (!ped_device_write (disk->dev, (void*) boot, sizeof(boot))) + return 0; + if (!ped_device_sync (disk->dev)) + return 0; + + return 1; +} + +static PedPartition* +bsd_partition_new (const PedDisk* disk, PedPartitionType part_type, + const PedFileSystemType* fs_type, + PedSector start, PedSector end) +{ + PedPartition* part; + BSDPartitionData* bsd_data; + + part = ped_partition_alloc (disk, part_type, fs_type, start, end); + if (!part) + goto error; + + if (ped_partition_is_active (part)) { + part->disk_specific + = bsd_data = ped_malloc (sizeof (BSDPartitionData)); + if (!bsd_data) + goto error_free_part; + bsd_data->type = 0; + + if (fs_type && !ped_partition_set_system (part, fs_type)) + goto error_free_bsd_data; + } else { + part->disk_specific = NULL; + } + return part; + +error_free_bsd_data: + ped_free (bsd_data); +error_free_part: + ped_free (part); +error: + return 0; +} + + +static void +bsd_partition_destroy (PedPartition* part) +{ + PED_ASSERT (part != NULL, return); + + if (ped_partition_is_active (part)) + ped_free (part->disk_specific); + ped_free (part); +} + + +static int +bsd_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int state) +{ + /* no flags for bsd */ + return 0; +} + + +static int +bsd_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) +{ + /* no flags for bsd */ + return 0; +} + +static int +bsd_partition_is_flag_available (const PedPartition* part, + PedPartitionFlag flag) +{ + /* no flags for bsd */ + return 0; +} + + +static int +bsd_get_max_primary_partition_count (const PedDisk* disk) +{ + return BSD_MAXPARTITIONS; +} + +static int +bsd_partition_set_extended_system (PedPartition* part) +{ + return 1; +} + +static int +bsd_partition_align (PedPartition* part, const PedConstraint* constraint) +{ + /* no alignment problems */ + return 1; +} + +static int +bsd_partition_enumerate (PedPartition* part) +{ + /* never change the partition numbers */ + return 1; +} + +static int +bsd_alloc_metadata (PedDisk* disk) +{ + /* no metadata per partition */ + return 1; +} Index: libparted/disk_dos.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/disk_dos.c,v retrieving revision 1.1.1.2 diff -u -u -r1.1.1.2 disk_dos.c --- libparted/disk_dos.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/disk_dos.c 2000/12/08 22:55:48 @@ -216,7 +216,7 @@ if (!ped_device_open ((PedDevice*) dev)) return 0; - if (!ped_device_read (dev, &part_table, 0, 1)) { + if (!ped_device_read_sector (dev, &part_table, 0, 1)) { ped_device_close ((PedDevice*) dev); return 0; } @@ -309,7 +309,7 @@ if (!ped_device_open ((PedDevice*) dev)) goto error; - if (!ped_device_read (dev, &table, 0, 1)) + if (!ped_device_read_sector (dev, &table, 0, 1)) goto error_close_dev; if (!table.boot_code[0]) @@ -318,7 +318,7 @@ memset (table.partitions, 0, sizeof (DosRawPartition) * 4); table.magic = PED_CPU_TO_LE16 (MSDOS_MAGIC); - if (!ped_device_write (dev, (void*) &table, 0, 1)) + if (!ped_device_write_sector (dev, (void*) &table, 0, 1)) goto error_close_dev; if (!ped_device_sync (dev)) goto error_close_dev; @@ -351,12 +351,12 @@ if (!ped_device_open ((PedDevice*) dev)) goto error; - if (!ped_device_read (dev, &table, 0, 1)) + if (!ped_device_read_sector (dev, &table, 0, 1)) goto error_close_dev; table.magic = 0; - if (!ped_device_write (dev, (void*) &table, 0, 1)) + if (!ped_device_write_sector (dev, (void*) &table, 0, 1)) goto error_close_dev; if (!ped_device_sync (dev)) goto error_close_dev; @@ -758,7 +758,7 @@ PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); - if (!ped_device_read (disk->dev, (void*) &table, sector, 1)) + if (!ped_device_read_sector (disk->dev, (void*) &table, sector, 1)) goto error; /* weird: empty extended partitions are filled with 0xf6 by PM */ @@ -951,7 +951,7 @@ return 0; } - return ped_device_write (disk->dev, (void*) &table, sector, 1); + return ped_device_write_sector (disk->dev, (void*) &table, sector, 1); } static int @@ -964,7 +964,7 @@ memset (&table, 0, sizeof (DosRawTable)); table.magic = PED_CPU_TO_LE16 (MSDOS_MAGIC); - return ped_device_write (disk->dev, (void*) &table, sector, 1); + return ped_device_write_sector (disk->dev, (void*) &table, sector, 1); } /* Find the first logical partition, and write the partition table for it. @@ -995,7 +995,7 @@ PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); - ped_device_read (disk->dev, &table, 0, 1); + ped_device_read_sector (disk->dev, &table, 0, 1); if (!table.boot_code[0]) query_write_boot_code (disk->dev, &table); @@ -1017,7 +1017,7 @@ } } - if (!ped_device_write (disk->dev, (void*) &table, 0, 1)) + if (!ped_device_write_sector (disk->dev, (void*) &table, 0, 1)) return 0; if (!ped_device_sync (disk->dev)) return 0; Index: libparted/disk_loop.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/disk_loop.c,v retrieving revision 1.1.1.2 diff -u -u -r1.1.1.2 disk_loop.c --- libparted/disk_loop.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/disk_loop.c 2000/12/08 22:55:48 @@ -161,7 +161,7 @@ memset (buf, 0, 512); strcpy (buf, LOOP_SIGNATURE); - if (!ped_device_write (dev, buf, 0, 1)) + if (!ped_device_write_sector (dev, buf, 0, 1)) goto error_close_dev; ped_device_close (dev); @@ -187,7 +187,7 @@ goto error; while (loop_probe (dev)) { - if (!ped_device_write (dev, buf, i++, 1)) + if (!ped_device_write_sector (dev, buf, i++, 1)) goto error_close_dev; } @@ -222,7 +222,7 @@ PED_ASSERT (disk != NULL, return 0); ped_disk_delete_all (disk); - if (!ped_device_read (disk->dev, buf, 0, 1)) + if (!ped_device_read_sector (disk->dev, buf, 0, 1)) goto error; if (!strncmp (buf, LOOP_SIGNATURE, strlen (LOOP_SIGNATURE))) return 1; @@ -265,7 +265,7 @@ memset (buf, 0, 512); strcpy (buf, LOOP_SIGNATURE); - return ped_device_write (disk->dev, buf, 0, 1); + return ped_device_write_sector (disk->dev, buf, 0, 1); } static PedPartition* Index: libparted/disk_mac.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/disk_mac.c,v retrieving revision 1.1.1.2 diff -u -u -r1.1.1.2 disk_mac.c --- libparted/disk_mac.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/disk_mac.c 2000/12/08 22:55:48 @@ -222,7 +222,7 @@ if (!ped_device_open ((PedDevice*) dev)) goto error; - if (!ped_device_read ((PedDevice*) dev, &buf, 0, 1)) + if (!ped_device_read_sector ((PedDevice*) dev, &buf, 0, 1)) goto error_close_dev; ped_device_close ((PedDevice*) dev); return _check_signature (&buf); @@ -381,7 +381,7 @@ if (!ped_device_open (dev)) goto error; - if (!ped_device_write (dev, buf, 0, 1)) + if (!ped_device_write_sector (dev, buf, 0, 1)) goto error_close_dev; ped_device_close (dev); return 1; @@ -672,7 +672,7 @@ int i; for (i = 1; i < 64; i *= 2) { - if (!ped_device_read (disk->dev, &raw_part, i, 1)) + if (!ped_device_read_sector (disk->dev, &raw_part, i, 1)) return 0; if (_rawpart_check_signature (&raw_part) && !_rawpart_is_void (&raw_part)) { @@ -707,7 +707,7 @@ mac_disk_data = disk->disk_specific; mac_disk_data->part_map_entry_num = 0; /* 0 == none */ - if (!ped_device_read (disk->dev, &raw_disk, 0, 1)) + if (!ped_device_read_sector (disk->dev, &raw_disk, 0, 1)) goto error; if (!_check_signature (&raw_disk)) goto error; @@ -722,7 +722,7 @@ goto error; for (num=1; num==1 || num <= last_part_entry_num; num++) { - if (!ped_device_read (disk->dev, &raw_part, + if (!ped_device_read_sector (disk->dev, &raw_part, num * ghost_size, 1)) goto error_delete_all; @@ -945,7 +945,7 @@ raw_disk.block_count = PED_CPU_TO_BE32 (dev->length / (dev->sector_size / 512)); - return ped_device_write (dev, &raw_disk, 0, 1); + return ped_device_write_sector (dev, &raw_disk, 0, 1); } static int @@ -1002,7 +1002,7 @@ _generate_empty_part (disk, num, part_map); /* write to disk */ - if (!ped_device_write (dev, part_map, 1, + if (!ped_device_write_sector (dev, part_map, 1, mac_disk_data->part_map_entry_count)) goto error_free_part_map; ped_free (part_map); Index: libparted/disk_pc98.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/disk_pc98.c,v retrieving revision 1.1.1.2 diff -u -u -r1.1.1.2 disk_pc98.c --- libparted/disk_pc98.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/disk_pc98.c 2000/12/08 22:55:48 @@ -249,7 +249,7 @@ if (!ped_device_open ((PedDevice*) dev)) return 0; - if (!ped_device_read (dev, &part_table, 0, 2)) { + if (!ped_device_read_sector (dev, &part_table, 0, 2)) { ped_device_close ((PedDevice*) dev); return 0; } @@ -321,7 +321,7 @@ if (!ped_device_open (dev)) goto error; - if (!ped_device_read (dev, &table, 0, 2)) + if (!ped_device_read_sector (dev, &table, 0, 2)) goto error_close_dev; if (!pc98_check_ipl_signature (&table)) { @@ -332,7 +332,7 @@ memset (table.partitions, 0, sizeof (table.partitions)); table.magic = PED_CPU_TO_LE16(PC9800_EXTFMT_MAGIC); - if (!ped_device_write (dev, (void*) &table, 0, 2)) + if (!ped_device_write_sector (dev, (void*) &table, 0, 2)) goto error_close_dev; if (!ped_device_sync (dev)) goto error_close_dev; @@ -365,7 +365,7 @@ if (!ped_device_open ((PedDevice*) dev)) goto error; - if (!ped_device_read (dev, &table, 0, 1)) + if (!ped_device_read_sector (dev, &table, 0, 1)) goto error_close_dev; memset (table.partitions, 0, sizeof (table.partitions)); @@ -374,7 +374,7 @@ if (pc98_check_ipl_signature (&table)) memset (table.boot_code, 0, sizeof (table.boot_code)); - if (!ped_device_write (dev, (void*) &table, 0, 1)) + if (!ped_device_write_sector (dev, (void*) &table, 0, 1)) goto error_close_dev; if (!ped_device_sync (dev)) goto error_close_dev; @@ -462,7 +462,7 @@ PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); - if (!ped_device_read (disk->dev, (void*) &table, 0, 2)) + if (!ped_device_read_sector (disk->dev, (void*) &table, 0, 2)) goto error; if (!pc98_check_magic(&table)) { @@ -625,7 +625,7 @@ PED_ASSERT (disk != NULL, return 0); PED_ASSERT (disk->dev != NULL, return 0); - ped_device_read (disk->dev, &table, 0, 2); + ped_device_read_sector (disk->dev, &table, 0, 2); if (!pc98_check_ipl_signature (&table)) { memset (table.boot_code, 0, sizeof(table.boot_code)); @@ -644,7 +644,7 @@ return 0; } - if (!ped_device_write (disk->dev, (void*) &table, 0, 2)) + if (!ped_device_write_sector (disk->dev, (void*) &table, 0, 2)) return 0; if (!ped_device_sync (disk->dev)) return 0; Index: libparted/geom.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/geom.c,v retrieving revision 1.1.1.2 diff -u -u -r1.1.1.2 geom.c --- libparted/geom.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/geom.c 2000/12/08 22:55:48 @@ -204,7 +204,7 @@ return exception_status == PED_EXCEPTION_IGNORE; } - if (!ped_device_read (geom->disk->dev, buffer, real_start, count)) + if (!ped_device_read_sector (geom->disk->dev, buffer, real_start, count)) return 0; return 1; } @@ -239,7 +239,7 @@ return exception_status == PED_EXCEPTION_IGNORE; } - if (!ped_device_write (geom->disk->dev, buffer, real_start, count)) + if (!ped_device_write_sector (geom->disk->dev, buffer, real_start, count)) return 0; return 1; } Index: libparted/libparted.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/libparted.c,v retrieving revision 1.1.1.2 diff -u -u -r1.1.1.2 libparted.c --- libparted/libparted.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/libparted.c 2000/12/08 22:55:48 @@ -63,6 +63,7 @@ ped_disk_msdos_init (); ped_disk_pc98_init (); ped_disk_mac_init (); + ped_disk_bsd_init (); } static void @@ -97,6 +98,7 @@ ped_disk_pc98_done (); ped_disk_loop_done (); ped_disk_mac_done (); + ped_disk_bsd_done (); } static void Index: libparted/fs_ext2/interface.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/fs_ext2/interface.c,v retrieving revision 1.1.1.2 diff -u -u -r1.1.1.2 interface.c --- libparted/fs_ext2/interface.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/fs_ext2/interface.c 2000/12/08 22:55:48 @@ -30,6 +30,7 @@ #include #include #include +#include #include "ext2.h" #include "parted_io.h" @@ -334,6 +335,12 @@ else strcpy (mac_data->system_name, "Apple_UNIX_SVR2"); mac_data->status = 0x33; + return 1; + } + + if (strcmp (disk_type->name, BSD_NAME) == 0) { + BSDPartitionData* bsd_data = part->disk_specific; + bsd_data->type = 0x8; return 1; } Index: libparted/fs_linux_swap/linux_swap.c =================================================================== RCS file: /mnt/devel/CVS/parted/libparted/fs_linux_swap/linux_swap.c,v retrieving revision 1.1.1.1 diff -u -u -r1.1.1.1 linux_swap.c --- libparted/fs_linux_swap/linux_swap.c 2000/11/20 16:18:15 1.1.1.1 +++ libparted/fs_linux_swap/linux_swap.c 2000/12/08 22:55:48 @@ -31,6 +31,7 @@ #include #include #include +#include #include #if ENABLE_NLS @@ -562,6 +563,12 @@ return 0; } mac_data->status = 0x33; + return 1; + } + + if (strcmp (disk_type->name, BSD_NAME) == 0) { + BSDPartitionData* bsd_data = part->disk_specific; + bsd_data->type = 0x1; return 1; } --zS7rBR6csb6tI2e1-- From msw@devserv.devel.redhat.com Fri Dec 08 18:33:05 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 144X0j-0006k7-00 for ; Fri, 08 Dec 2000 18:33:05 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eB8NX4M10219 for bug-parted@gnu.org; Fri, 8 Dec 2000 18:33:04 -0500 Date: Fri, 8 Dec 2000 18:33:04 -0500 From: Matt Wilson To: bug-parted@gnu.org Subject: Re: [PATCH] preliminary BSD Disklabel support Message-ID: <20001208183304.U13199@devserv.devel.redhat.com> References: <20001208180415.T13199@devserv.devel.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20001208180415.T13199@devserv.devel.redhat.com>; from msw@redhat.com on Fri, Dec 08, 2000 at 06:04:15PM -0500 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Fri, Dec 08, 2000 at 06:04:15PM -0500, Matt Wilson wrote: Oops, a off by one: > +static int > +bsd_write (PedDisk* disk) > +{ ... > + for (i = 0; i < BSD_MAXPARTITIONS; i++) { > + part = ped_disk_get_partition (disk, i); > + if (!part) > + continue; > + bsd_data = part->disk_specific; > + label.d_partitions[i - 1].p_fstype = bsd_data->type; > + label.d_partitions[i - 1].p_offset = part->geom.start; > + label.d_partitions[i - 1].p_size = part->geom.length; > + max_part = i; > + } Should be: for (i = 0; i <= BSD_MAXPARTITIONS; i++) { Matt From msw@devserv.devel.redhat.com Fri Dec 08 18:48:49 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 144XFx-0007YC-00 for ; Fri, 08 Dec 2000 18:48:49 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eB8Nmn812916 for bug-parted@gnu.org; Fri, 8 Dec 2000 18:48:49 -0500 Date: Fri, 8 Dec 2000 18:48:49 -0500 From: Matt Wilson To: bug-parted@gnu.org Subject: Re: [PATCH] preliminary BSD Disklabel support Message-ID: <20001208184849.V13199@devserv.devel.redhat.com> References: <20001208180415.T13199@devserv.devel.redhat.com> <20001208183304.U13199@devserv.devel.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20001208183304.U13199@devserv.devel.redhat.com>; from msw@redhat.com on Fri, Dec 08, 2000 at 06:33:04PM -0500 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Oh, one more thing that will take some work. BSD disk labels have "slots" that partitions go in. The current implementation here will not cope for "holes" in the partitions that are defined. I'll have to use either names or partition-specific data to track the slot number to use for each partition. Matt From msw@devserv.devel.redhat.com Fri Dec 08 19:53:04 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 144YG7-00011q-00 for ; Fri, 08 Dec 2000 19:53:03 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eB90r3D18407 for bug-parted@gnu.org; Fri, 8 Dec 2000 19:53:03 -0500 Date: Fri, 8 Dec 2000 19:53:03 -0500 From: Matt Wilson To: bug-parted@gnu.org Subject: Re: [PATCH] preliminary BSD Disklabel support Message-ID: <20001208195303.K31321@devserv.devel.redhat.com> References: <20001208180415.T13199@devserv.devel.redhat.com> <20001208183304.U13199@devserv.devel.redhat.com> <20001208184849.V13199@devserv.devel.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20001208184849.V13199@devserv.devel.redhat.com>; from msw@redhat.com on Fri, Dec 08, 2000 at 06:48:49PM -0500 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Oh, then again it looks like I just need to properly implement bsd_partition_enumerate. Matt On Fri, Dec 08, 2000 at 06:48:49PM -0500, Matt Wilson wrote: > Oh, one more thing that will take some work. BSD disk labels have > "slots" that partitions go in. The current implementation here will > not cope for "holes" in the partitions that are defined. I'll have to > use either names or partition-specific data to track the slot number > to use for each partition. From alberto@isabeldeespana.org Sat Dec 09 19:59:56 2000 Received: from [213.96.176.246] (helo=p250.isabeldeespana.org) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 144uqJ-0007OR-00 for ; Sat, 09 Dec 2000 19:59:56 -0500 Received: (qmail 29979 invoked from network); 10 Dec 2000 01:24:34 -0000 Received: from unknown (HELO isabeldeespana.org) (papa@213.4.236.153) by 213.96.176.246 with SMTP; 10 Dec 2000 01:24:34 -0000 Message-ID: <3A32D50C.2692F516@isabeldeespana.org> Date: Sun, 10 Dec 2000 00:57:48 +0000 From: Alberto =?iso-8859-1?Q?Rodr=EDguez?= X-Mailer: Mozilla 4.61 [en] (X11; I; Linux 2.2.12-20 i586) X-Accept-Language: es-ES, en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Problems with my partition table. Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: First I'd like say you congratulations for this wonderfull program, I have read the documentation and I think it's great. Well, my problem is that the CHS of my slave disk (hdb) on the sistem (linux) don't match with CHS on the Bios. If I write fdisk /dev/hdb, in my system, I get this: = The number of cylinders for this disk is set to 1027. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/hdb: 255 heads, 63 sectors, 1027 cylinders Units =3D cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 377 3028221 83 Linux /dev/hdb2 378 384 56227+ 5 Extended /dev/hdb5 378 384 56196 82 Linux swap Acording you documentation, CHS on the system and on the Bios must be the same, so I put the follow line when I boot my system: LILO boot: linux hdb=3D16368,16,63 (The above CHS is the CHS I have seen when I check it in the Bios) So my system boot and all look like OK, but if I write now, fdisk /dev/hdb, I get the follow lines: The number of cylinders for this disk is set to 16368. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/hdb: 16 heads, 63 sectors, 16368 cylinders Units =3D cylinders of 1008 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 6009 3028221 83 Linux Partition 1 does not end on cylinder boundary: phys=3D(376, 254, 63) should be (376, 15, 63) /dev/hdb2 6009 6120 56227+ 5 Extended Partition 2 does not end on cylinder boundary: phys=3D(383, 254, 63) should be (383, 15, 63) /dev/hdb5 6009 6120 56196 82 Linux swap And this is the problem. = Is there any way to get that Bios's CHS and System's CHS match each other without getting the last message? I please you very much If you could help me with problem. Best Regards. Juan Alberto Rodr=EDguez. From clausen@conectiva.com.br Mon Dec 11 07:00:58 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 145RdZ-0007gO-00 for ; Mon, 11 Dec 2000 07:00:58 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 2153A16B10; Mon, 11 Dec 2000 10:00:54 -0200 (BRST) Message-ID: <3A0BE597.3D18F771@conectiva.com.br> Date: Fri, 10 Nov 2000 10:09:59 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Matthew Campbell Cc: bug-parted@gnu.org Subject: Re: Making modified Parted boot disks References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Matthew Campbell wrote: > > Hello, Hi! Where did you find a link to clausen@alphalink.com.au? I still have the old account, but I'd like to get rid of it! (You should send email to clausen@gnu.org) > I'd like to make Parted boot disks which include Speakup, a kernel patch > that adds speech synthesis support to the console so that a blind person > can have direct access to a GNU/Linux system. I'll need to make several > boot disks, one for each speech synthesizer that Speakup supports. I'll > use LILO to load the kernel and the RAM disk image on these boot disks so > that the user can specify kernel parameters, such as the serial port to > which a synthesizer is connected, at boot time. I would appreciate it if > you'd either send me a copy of your RAM disk image or tell me how to > extract it from the standard boot disk, whichever you prefer. Thank you. When Linux boots up (from the boot disk), it says "found image at block XXX". For parted's boot disk, it is 618, IIRC. # dd if=/dev/fd0 of=ramdisk.gz bs=1k skip=618 # gunzip ramdisk.gz # mount -o loop -t ext2 ramdisk /mnt/tmp Andrew Clausen From clausen@conectiva.com.br Mon Dec 11 07:23:03 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 145Ryv-0008Cr-00 for ; Mon, 11 Dec 2000 07:23:02 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 6F0F516B10; Mon, 11 Dec 2000 10:22:46 -0200 (BRST) Message-ID: <3A0BEAB6.C6F01554@conectiva.com.br> Date: Fri, 10 Nov 2000 10:31:50 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Hollis Blanchard Cc: bug-parted@gnu.org Subject: Re: quick parted question References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hollis Blanchard wrote: > > Is it possible to create a Mac partition with type Apple_HFS? When I tried, it > seemed Apple_UNIX_SVR2 was the only possibility, but I was trying to make an > HFS partition that the Mac OS would see... mkpart primary hfs [start] [end] doesn't work? Works here. > Also, is it possible to change partition types with parted? No. (Well, you can rm, and mkpart...) I would like to do this, but I can't think of a good user interface. Parted's UI pretends that partition types don't exist at all. It seems weird to allow you to change something that "doesn't exist". Also, there isn't a 1-1 mapping between file systems and partition types. So, it isn't clear how you could provide user feedback in the form of a file system. The only other (obvious) way you could do it is by "Apple_HFS", or whatever. But this is very disk-label specific (on PC98 and DOS labels, it's numbers), so the user interface (and the libparted API) starts getting more complicated, which is something I want to avoid. See any way out of the dilemma? > The partition types > don't even show up in the 'print' output... that would be nice to have. Hard to do simply/portably. Besides, I can't think of any reasons (other than for "expert hackers") why anyone would want it... (Provided mkpartfs primary hfs, etc. works) /dev/clausen From clausen@conectiva.com.br Mon Dec 11 11:35:59 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 145Vvg-0004lV-00 for ; Mon, 11 Dec 2000 11:35:57 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 0F29916B19 for ; Mon, 11 Dec 2000 14:35:48 -0200 (BRST) Message-ID: <3A0C2606.5894B5DE@conectiva.com.br> Date: Fri, 10 Nov 2000 14:44:54 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: problems with ped_file_system_probe(), etc. Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all, We sometimes get problems, when there are two valid signatures for different file systems on the same partitions. Eg: # mkfs.msdos /dev/hda1 # mkfs.ext2 /dev/hda1 Gives you 2 file systems with valid signatures. Doing: (parted) mkfs fat (parted) mkfs ext2 In 1.2.X (for fairly large X, IIRC), and 1.4.X causes no problems, because they erase the old signatures. However, if you use the Linux tools (mkfs.{msdos,ext2}), or Partition Magic, the problems remain. So, here's my proposed change: * if ped_file_system_probe() finds >1 fs_type matches, then it raises an exception "Detected these file systems: X, Y, Z. This was probably caused by [long explanation]... You'll be asked, one-by-one, to decide what it is...". It then asks, one by one "Is the file system XXX?" (Yes, No, Cancel). If they say "Yes", it does clobber() on the file system, for all other file systems types. HOWEVER, 1.2.x doesn't have clobber(). So, I should I back-port? (for Conectiva's MI, which uses 1.2) * additional addition ;-) For all fs's that probe()d, attempt an open(). If exactly one succeeds, then suggest that one. Andrew Clausen From msw@devserv.devel.redhat.com Mon Dec 11 14:25:55 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 145YaA-0003ax-00 for ; Mon, 11 Dec 2000 14:25:54 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eBBJPsx00578 for bug-parted@gnu.org; Mon, 11 Dec 2000 14:25:54 -0500 Date: Mon, 11 Dec 2000 14:25:54 -0500 From: Matt Wilson To: bug-parted@gnu.org Subject: [PATCH] Revised bsd disklabel support Message-ID: <20001211142554.D8468@devserv.devel.redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="x+6KMIRAuhnl3hBn" Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --x+6KMIRAuhnl3hBn Content-Type: text/plain; charset=us-ascii Content-Disposition: inline OK. I've ditched the idea of adding regular read and write functions to device.c, fixed the enumeration, and this one hopefully won't corrupt your labels on write like the last patch did... :P Matt --x+6KMIRAuhnl3hBn Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename="parted-bsd-disklabel-support.patch2" Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by devserv.devel.redhat.com id eBBJPsx00578 Index: AUTHORS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/AUTHORS,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -u -r1.1.1.1 -r1.1.1.1.2.1 --- AUTHORS 2000/11/20 16:18:14 1.1.1.1 +++ AUTHORS 2000/12/11 19:04:51 1.1.1.1.2.1 @@ -34,6 +34,7 @@ * basis of partition table and device code (disk.c, disk_dos.c, and device.c) Has morphed into something that looks completely different now :-) + * BSD disklabel support (disk_bsd.c) =20 Martin von L=F6wis * German translations Index: include/parted/disk_bsd.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: disk_bsd.h diff -N disk_bsd.h --- /dev/null Thu Aug 24 05:00:32 2000 +++ /tmp/cvsT8yJLm Mon Dec 11 14:12:52 2000 @@ -0,0 +1,37 @@ +/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -= *- + + libparted - a library for manipulating disk partitions + Copyright (C) 1998-2000 Free Software Foundation, Inc. + + This program 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 of the License, or + (at your option) any later version. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307= USA + + Contributor: Matt Wilson +*/ + +#ifndef PED_DISK_BSD_H_INCLUDED +#define PED_DISK_BSD_H_INCLUDED + +typedef struct { + u_int8_t type; +} BSDPartitionData; + +#define BSD_NAME "bsd" + +extern void ped_disk_bsd_init (); +extern void ped_disk_bsd_done (); + + +#endif /* PED_DISK_BSD_H_INCLUDED */ + Index: libparted/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -u -r1.1.1.1 -r1.1.1.1.2.1 --- libparted/Makefile.am 2000/11/20 16:18:15 1.1.1.1 +++ libparted/Makefile.am 2000/12/08 23:18:44 1.1.1.1.2.1 @@ -19,7 +19,8 @@ disk_dos.c \ disk_loop.c \ disk_mac.c \ - disk_pc98.c + disk_pc98.c \ + disk_bsd.c =20 libparted_la_LIBADD =3D fs_ext2/libext2.la \ fs_fat/libfat.la \ Index: libparted/device.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/device.c,v retrieving revision 1.1.1.2 retrieving revision 1.1.1.2.2.2 diff -u -u -r1.1.1.2 -r1.1.1.2.2.2 --- libparted/device.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/device.c 2000/12/11 19:04:32 1.1.1.2.2.2 @@ -803,12 +803,12 @@ =20 #if SIZEOF_OFF_T < 8 && defined(linux) if (sizeof (off_t) < 8) { - loff_t pos =3D sector * 512; + loff_t pos =3D sector * PED_SECTOR_SIZE; return ped_llseek (dev->fd, pos, SEEK_SET) =3D=3D pos; } else #endif { - off_t pos =3D sector * 512; + off_t pos =3D sector * PED_SECTOR_SIZE; return lseek (dev->fd, pos, SEEK_SET) =3D=3D pos; } } Index: libparted/disk_bsd.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: disk_bsd.c diff -N disk_bsd.c --- /dev/null Thu Aug 24 05:00:32 2000 +++ /tmp/cvsI9q4MF Mon Dec 11 14:12:52 2000 @@ -0,0 +1,565 @@ +/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -= *- + + libparted - a library for manipulating disk partitions + Copyright (C) 1998-2000 Free Software Foundation, Inc. + + This program 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 of the License, or + (at your option) any later version. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307= USA + + Contributor: Matt Wilson +*/ + +#include "config.h" + +#include + +#include +#include +#include + +#define BSD_DISKMAGIC (0x82564557UL) /* The disk magic number */ +#define BSD_MAXPARTITIONS 8 +#define BSD_FS_UNUSED 0 /* disklabel unused partition entry ID */ +#define BSD_LABEL_OFFSET 64 + +#define BSD_DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */ +#define BSD_DTYPE_MSCP 2 /* MSCP */ +#define BSD_DTYPE_DEC 3 /* other DEC (rk, rl) */ +#define BSD_DTYPE_SCSI 4 /* SCSI */ +#define BSD_DTYPE_ESDI 5 /* ESDI interface */ +#define BSD_DTYPE_ST506 6 /* ST506 etc. */ +#define BSD_DTYPE_HPIB 7 /* CS/80 on HP-IB */ +#define BSD_DTYPE_HPFL 8 /* HP Fiber-link */ +#define BSD_DTYPE_FLOPPY 10 /* floppy */ + +#define BSD_BBSIZE 8192 /* size of boot area, with label */ +#define BSD_SBSIZE 8192 /* max size of fs superblock */ + +typedef struct _BSDRawPartition BSDRawPartition; +typedef struct _BSDRawLabel BSDRawLabel; + +struct _BSDRawPartition { /* the partition table */ + u_int32_t p_size; /* number of sectors in partition */ + u_int32_t p_offset; /* starting sector */ + u_int32_t p_fsize; /* filesystem basic fragment size */ + u_int8_t p_fstype; /* filesystem type, see below */ + u_int8_t p_frag; /* filesystem fragments per block */ + u_int16_t p_cpg; /* filesystem cylinders per group */ +}; + +struct _BSDRawLabel { + u_int32_t d_magic; /* the magic number */ + int16_t d_type; /* drive type */ + int16_t d_subtype; /* controller/d_type specific */ + int8_t d_typename[16]; /* type name, e.g. "eagle" */ + int8_t d_packname[16]; /* pack identifier */=20 + u_int32_t d_secsize; /* # of bytes per sector */ + u_int32_t d_nsectors; /* # of data sectors per track */ + u_int32_t d_ntracks; /* # of tracks per cylinder */ + u_int32_t d_ncylinders; /* # of data cylinders per unit */ + u_int32_t d_secpercyl; /* # of data sectors per cylinder */ + u_int32_t d_secperunit; /* # of data sectors per unit */ + u_int16_t d_sparespertrack; /* # of spare sectors per track */ + u_int16_t d_sparespercyl; /* # of spare sectors per cylinder */ + u_int32_t d_acylinders; /* # of alt. cylinders per unit */ + u_int16_t d_rpm; /* rotational speed */ + u_int16_t d_interleave; /* hardware sector interleave */ + u_int16_t d_trackskew; /* sector 0 skew, per track */ + u_int16_t d_cylskew; /* sector 0 skew, per cylinder */ + u_int32_t d_headswitch; /* head switch time, usec */ + u_int32_t d_trkseek; /* track-to-track seek, usec */ + u_int32_t d_flags; /* generic flags */ +#define NDDATA 5 + u_int32_t d_drivedata[NDDATA]; /* drive-type specific informatio= n */ +#define NSPARE 5 + u_int32_t d_spare[NSPARE]; /* reserved for future use */ + u_int32_t d_magic2; /* the magic number (again) */ + u_int16_t d_checksum; /* xor of data incl. partitions */ + =20 + /* filesystem and partition information: */ + u_int16_t d_npartitions; /* number of partitions in following *= / + u_int32_t d_bbsize; /* size of boot area at sn0, bytes */ + u_int32_t d_sbsize; /* max size of fs superblock, bytes */ + BSDRawPartition d_partitions[BSD_MAXPARTITIONS]; /* actually may= be more */ +}; + +static int bsd_probe (const PedDevice *dev); +static PedDisk* bsd_open (PedDevice* dev); +static PedDisk* bsd_create (PedDevice* dev); +static int bsd_clobber (PedDevice* dev); +static int bsd_close (PedDisk* disk); +static int bsd_read (PedDisk* disk); +static int bsd_write (PedDisk* disk); + +static PedPartition* bsd_partition_new ( + const PedDisk* disk, PedPartitionType part_type, + const PedFileSystemType* fs_type, PedSector start, PedSector end= ); +static void bsd_partition_destroy (PedPartition* part); +static int bsd_partition_set_flag ( + PedPartition* part, PedPartitionFlag flag, int state); +static int bsd_partition_get_flag ( + const PedPartition* part, PedPartitionFlag flag); +static int bsd_partition_is_flag_available ( + const PedPartition* part, + PedPartitionFlag flag); +static int bsd_partition_align (PedPartition* part, + const PedConstraint* constraint); +static int bsd_partition_enumerate (PedPartition* part); +static int bsd_partition_set_extended_system (PedPartition* part); +static int bsd_get_max_primary_partition_count (const PedDisk* disk); + +static int bsd_alloc_metadata (PedDisk* disk); + +static PedDiskOps bsd_disk_ops =3D { + probe: bsd_probe, + open: bsd_open, + create: bsd_create, + clobber: bsd_clobber, + close: bsd_close, + read: bsd_read, + write: bsd_write, + + partition_new: bsd_partition_new, + partition_destroy: bsd_partition_destroy, + partition_set_flag: bsd_partition_set_flag, + partition_get_flag: bsd_partition_get_flag, + partition_is_flag_available: bsd_partition_is_flag_available, + partition_set_name: NULL, + partition_get_name: NULL, + partition_align: bsd_partition_align, + partition_enumerate: bsd_partition_enumerate, + partition_set_extended_system: bsd_partition_set_extended_system, + + alloc_metadata: bsd_alloc_metadata, + get_max_primary_partition_count: + bsd_get_max_primary_partition_count +}; + +static PedDiskType bsd_disk_type =3D { + next: NULL, + name: "bsd", + ops: &bsd_disk_ops, + features: 0 +}; + +void +ped_disk_bsd_init () +{ + PED_ASSERT (sizeof (BSDRawPartition) =3D=3D 16, return); + PED_ASSERT (sizeof (BSDRawLabel) =3D=3D 276, return); + + ped_register_disk_type (&bsd_disk_type); +} + +void +ped_disk_bsd_done () +{ + ped_unregister_disk_type (&bsd_disk_type); +} + + +/* XXX fixme: endian? */ +static unsigned short +xbsd_dkcksum (BSDRawLabel *lp) { + unsigned short *start, *end; + unsigned short sum =3D 0; + =20 + lp->d_checksum =3D 0; + start =3D (u_short *)lp; + end =3D (u_short *)&lp->d_partitions[lp->d_npartitions]; + while (start < end) + sum ^=3D *start++; + return (sum); +} + +/* XXX fixme: endian? */ +static void +alpha_bootblock_checksum (char *boot) { + u_int64_t *dp, sum; + int i; + =20 + dp =3D (u_int64_t *)boot; + sum =3D 0; + for (i =3D 0; i < 63; i++) + sum +=3D dp[i]; + dp[63] =3D sum; +} + + +static int +bsd_probe (const PedDevice *dev) +{ + PedDiskType* disk_type; + char boot[512]; + BSDRawLabel *label; + int i; + + PED_ASSERT (dev !=3D NULL, return 0); + + if (!ped_device_open ((PedDevice*) dev)) + return 0; + if (!ped_device_read (dev, boot, 0, 1)) { + ped_device_close ((PedDevice*) dev); + return 0; + } + + ped_device_close ((PedDevice*) dev); + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + + alpha_bootblock_checksum(boot); + =20 + /* check magic */ + if (PED_LE32_TO_CPU (label->d_magic) !=3D BSD_DISKMAGIC) + return 0; + + return 1; +} + +static PedDisk* +bsd_open (PedDevice* dev) +{ + PedDisk* disk; + + PED_ASSERT (dev !=3D NULL, return 0); + + if (!bsd_probe (dev)) + goto error; + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + disk =3D ped_disk_alloc (dev, &bsd_disk_type); + if (!disk) + goto error; + + if (!bsd_read (disk)) + goto error_free_disk; + + return disk; + +error_free_disk: + ped_disk_free (disk); +error: + return NULL; +} + +static int +bsd_close (PedDisk* disk) +{ + PED_ASSERT (disk !=3D NULL, return 0); + + ped_device_close (disk->dev); + ped_disk_free (disk); + return 1; +} + + +static PedDisk* +bsd_create (PedDevice* dev) +{ + char boot[512]; + BSDRawLabel *label; + + PED_ASSERT (dev !=3D NULL, return 0); + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + if (!ped_device_read (dev, boot, 0, 1)) { + ped_device_close ((PedDevice*) dev); + return 0; + } + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + + memset(label, 0, sizeof(label)); + + label->d_magic =3D PED_CPU_TO_LE32 (BSD_DISKMAGIC); + label->d_type =3D PED_CPU_TO_LE16 (BSD_DTYPE_SCSI); + label->d_flags =3D 0; + label->d_secsize =3D PED_CPU_TO_LE16 (PED_SECTOR_SIZE); + label->d_nsectors =3D PED_CPU_TO_LE32 (dev->sectors); + label->d_ntracks =3D PED_CPU_TO_LE32 (dev->heads); + label->d_ncylinders =3D PED_CPU_TO_LE32 (dev->cylinders); + label->d_secpercyl =3D PED_CPU_TO_LE32 (dev->sectors * dev->hea= ds); + label->d_secperunit =3D PED_CPU_TO_LE32 (dev->sectors * dev->hea= ds * dev->cylinders); + =20 + label->d_rpm =3D PED_CPU_TO_LE16 (3600); + label->d_interleave =3D PED_CPU_TO_LE16 (1);; + label->d_trackskew =3D 0; + label->d_cylskew =3D 0; + label->d_headswitch =3D 0; + label->d_trkseek =3D 0; + =20 + label->d_magic2 =3D PED_CPU_TO_LE32 (BSD_DISKMAGIC); + label->d_bbsize =3D PED_CPU_TO_LE32 (BSD_BBSIZE); + label->d_sbsize =3D PED_CPU_TO_LE32 (BSD_SBSIZE); + =20 + label->d_npartitions =3D 0; + label->d_checksum =3D xbsd_dkcksum (label); + + alpha_bootblock_checksum(boot); + + if (!ped_device_write (dev, (void*) boot, 0, 1)) + goto error_close_dev; + if (!ped_device_sync (dev)) + goto error_close_dev; + ped_device_close (dev); + return bsd_open (dev); + =20 +error_close_dev: + ped_device_close (dev); +error: + return 0; +} + +static int +bsd_clobber (PedDevice* dev) +{ + char boot[512]; + BSDRawLabel *label; + + PED_ASSERT (dev !=3D NULL, return 0); + PED_ASSERT (bsd_probe (dev), return 0); + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + if (!ped_device_read (dev, boot, 0, 1)) + goto error_close_dev; + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + =20 + label->d_magic =3D 0; + alpha_bootblock_checksum(boot); + + if (!ped_device_write (dev, (void*) boot, 0, 1)) + goto error_close_dev; + =20 + ped_device_close (dev); + return 1; + +error_close_dev: + ped_device_close (dev); +error: + return 0; +} + +static int +bsd_read (PedDisk* disk) +{ + char boot[512]; + BSDRawLabel *label; + BSDPartitionData* bsd_data; + int i, s; + PedPartition* part; + PedSector start, end; + PedConstraint* constraint_exact; + =20 + PED_ASSERT (disk !=3D NULL, return 0); + PED_ASSERT (disk->dev !=3D NULL, return 0); + =20 + ped_disk_delete_all (disk); + + if (!ped_device_open ((PedDevice*) disk->dev)) + goto error; + if (!ped_device_read (disk->dev, boot, 0, 1)) + goto error_close_dev; + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + + for (i =3D 1; i <=3D BSD_MAXPARTITIONS; i++) { + if (!label->d_partitions[i - 1].p_size + || !label->d_partitions[i - 1].p_fstype) + continue; + start =3D PED_LE32_TO_CPU(label->d_partitions[i - 1].p_o= ffset); + end =3D PED_LE32_TO_CPU(label->d_partitions[i - 1].p_off= set) + + PED_LE32_TO_CPU(label->d_partitions[i - 1].p_s= ize - 1); + part =3D ped_partition_new (disk, PED_PARTITION_PRIMARY,= NULL, + start, end); + bsd_data =3D part->disk_specific; + bsd_data->type =3D label->d_partitions[i - 1].p_fstype; + if (!part) + goto error_close_dev; + part->num =3D i; + part->fs_type =3D ped_file_system_probe (&part->geom); + =20 + constraint_exact =3D ped_constraint_exact (part); + if (!ped_disk_add_partition (disk, part, constraint_exact)) + goto error_close_dev; + ped_constraint_destroy (constraint_exact); + } + + ped_device_close ((PedDevice*) disk->dev); + return 1; + + error_close_dev: + ped_device_close ((PedDevice*) disk->dev); + error: + return 0; +} + +static int +bsd_write (PedDisk* disk) +{ + BSDRawLabel *label; + BSDPartitionData* bsd_data; + PedPartition* part; + int i, max_part; + char boot[512]; + + PED_ASSERT (disk !=3D NULL, return 0); + PED_ASSERT (disk->dev !=3D NULL, return 0); + + if (!ped_device_read (disk->dev, boot, 0, 1)) + return 0; + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + + memset (label->d_partitions, 0, + sizeof (BSDRawPartition) * BSD_MAXPARTITIONS); + + for (i =3D 1; i <=3D BSD_MAXPARTITIONS; i++) { + part =3D ped_disk_get_partition (disk, i); + if (!part) + continue; + bsd_data =3D part->disk_specific; + label->d_partitions[i - 1].p_fstype =3D bsd_data->type; + label->d_partitions[i - 1].p_offset =3D PED_CPU_TO_LE32 = (part->geom.start); + label->d_partitions[i - 1].p_size =3D PED_CPU_TO_LE32 (p= art->geom.length); + max_part =3D i; + } + + label->d_npartitions =3D PED_CPU_TO_LE16 (max_part + 1); + label->d_checksum =3D xbsd_dkcksum (label); + + alpha_bootblock_checksum(boot); + + if (!ped_device_write (disk->dev, (void*) boot, 0, 1)) + return 0; + if (!ped_device_sync (disk->dev)) + return 0; + + return 1; +} + +static PedPartition* +bsd_partition_new (const PedDisk* disk, PedPartitionType part_type, + const PedFileSystemType* fs_type, + PedSector start, PedSector end) +{ + PedPartition* part; + BSDPartitionData* bsd_data; + + part =3D ped_partition_alloc (disk, part_type, fs_type, start, end); + if (!part) + goto error; + + if (ped_partition_is_active (part)) { + part->disk_specific + =3D bsd_data =3D ped_malloc (sizeof (BSDPartitionData)); + if (!bsd_data) + goto error_free_part; + bsd_data->type =3D 0; + + if (fs_type && !ped_partition_set_system (part, fs_type)) + goto error_free_bsd_data; + } else { + part->disk_specific =3D NULL; + } + return part; + +error_free_bsd_data: + ped_free (bsd_data); +error_free_part: + ped_free (part); +error: + return 0; +} + + +static void +bsd_partition_destroy (PedPartition* part) +{ + PED_ASSERT (part !=3D NULL, return); + + if (ped_partition_is_active (part)) + ped_free (part->disk_specific); + ped_free (part); +} + + +static int +bsd_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int s= tate) +{ + /* no flags for bsd */ + return 0; +} + + +static int +bsd_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) +{ + /* no flags for bsd */ + return 0; +} + +static int +bsd_partition_is_flag_available (const PedPartition* part, + PedPartitionFlag flag) +{ + /* no flags for bsd */ + return 0; +} + + +static int +bsd_get_max_primary_partition_count (const PedDisk* disk) +{ + return BSD_MAXPARTITIONS; +} + +static int +bsd_partition_set_extended_system (PedPartition* part) +{ + return 1; +} + +static int +bsd_partition_align (PedPartition* part, const PedConstraint* constraint= ) +{ + /* no alignment problems */ + return 1; +} + +static int +bsd_partition_enumerate (PedPartition* part) +{ + int i; + PedPartition* p; + =20 + /* never change the partition numbers */ + if (part->num !=3D -1) + return 1; + for (i =3D 1; i <=3D BSD_MAXPARTITIONS; i++) { + p =3D ped_disk_get_partition (part->geom.disk, i); + if (!p) { + part->num =3D i; + return 1; + } + } + + /* failed to allocate a number */ + return 0; +} + +static int +bsd_alloc_metadata (PedDisk* disk) +{ + /* no metadata per partition */ + return 1; +} Index: libparted/libparted.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/libparted.c,v retrieving revision 1.1.1.2 retrieving revision 1.1.1.2.2.1 diff -u -u -r1.1.1.2 -r1.1.1.2.2.1 --- libparted/libparted.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/libparted.c 2000/12/08 23:18:44 1.1.1.2.2.1 @@ -63,6 +63,7 @@ ped_disk_msdos_init (); ped_disk_pc98_init (); ped_disk_mac_init (); + ped_disk_bsd_init (); } =20 static void @@ -97,6 +98,7 @@ ped_disk_pc98_done (); ped_disk_loop_done (); ped_disk_mac_done (); + ped_disk_bsd_done (); } =20 static void Index: libparted/fs_ext2/interface.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/fs_ext2/interface.c,v retrieving revision 1.1.1.2 retrieving revision 1.1.1.2.2.1 diff -u -u -r1.1.1.2 -r1.1.1.2.2.1 --- libparted/fs_ext2/interface.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/fs_ext2/interface.c 2000/12/08 23:18:44 1.1.1.2.2.1 @@ -21,7 +21,7 @@ * merged 1.1.11 changes (by Andrew) */ =20 -static const char _interface_c[] =3D "$Id: interface.c,v 1.1.1.2 2000/11= /30 17:51:11 msw Exp $"; +static const char _interface_c[] =3D "$Id: interface.c,v 1.1.1.2.2.1 200= 0/12/08 23:18:44 msw Exp $"; =20 #include "config.h" =20 @@ -30,6 +30,7 @@ #include #include #include +#include #include "ext2.h" #include "parted_io.h" =20 @@ -334,6 +335,12 @@ else strcpy (mac_data->system_name, "Apple_UNIX_SVR2"); mac_data->status =3D 0x33; + return 1; + } + + if (strcmp (disk_type->name, BSD_NAME) =3D=3D 0) { + BSDPartitionData* bsd_data =3D part->disk_specific; + bsd_data->type =3D 0x8; return 1; } =20 Index: libparted/fs_linux_swap/linux_swap.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/fs_linux_swap/linux_swap.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -u -r1.1.1.1 -r1.1.1.1.2.1 --- libparted/fs_linux_swap/linux_swap.c 2000/11/20 16:18:15 1.1.1.1 +++ libparted/fs_linux_swap/linux_swap.c 2000/12/08 23:18:44 1.1.1.1.2.1 @@ -31,6 +31,7 @@ #include #include #include +#include =20 #include #if ENABLE_NLS @@ -562,6 +563,12 @@ return 0; } mac_data->status =3D 0x33; + return 1; + } + + if (strcmp (disk_type->name, BSD_NAME) =3D=3D 0) { + BSDPartitionData* bsd_data =3D part->disk_specific; + bsd_data->type =3D 0x1; return 1; } =20 --x+6KMIRAuhnl3hBn-- From msw@devserv.devel.redhat.com Mon Dec 11 14:57:21 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 145Z4b-00057q-00 for ; Mon, 11 Dec 2000 14:57:21 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eBBJvLc05251 for bug-parted@gnu.org; Mon, 11 Dec 2000 14:57:21 -0500 Date: Mon, 11 Dec 2000 14:57:21 -0500 From: Matt Wilson To: bug-parted@gnu.org Subject: [PATCH] Revised-revised bsd disklabel support Message-ID: <20001211145720.E8468@devserv.devel.redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="neYutvxvOLaeuPCA" Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: --neYutvxvOLaeuPCA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Heh. This version applies the constraint in bsd_partition_align, allocates a metadata partition for the disk label, and throws exceptions when unable to enumerate a partition. Matt --neYutvxvOLaeuPCA Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: attachment; filename="parted-bsd-disklabel-support.patch3" Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by devserv.devel.redhat.com id eBBJvLc05251 Index: AUTHORS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/AUTHORS,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -u -r1.1.1.1 -r1.1.1.1.2.1 --- AUTHORS 2000/11/20 16:18:14 1.1.1.1 +++ AUTHORS 2000/12/11 19:04:51 1.1.1.1.2.1 @@ -34,6 +34,7 @@ * basis of partition table and device code (disk.c, disk_dos.c, and device.c) Has morphed into something that looks completely different now :-) + * BSD disklabel support (disk_bsd.c) =20 Martin von L=F6wis * German translations Index: include/parted/disk_bsd.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: disk_bsd.h diff -N disk_bsd.h --- /dev/null Thu Aug 24 05:00:32 2000 +++ /tmp/cvspzolKJ Mon Dec 11 14:55:01 2000 @@ -0,0 +1,37 @@ +/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -= *- + + libparted - a library for manipulating disk partitions + Copyright (C) 1998-2000 Free Software Foundation, Inc. + + This program 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 of the License, or + (at your option) any later version. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307= USA + + Contributor: Matt Wilson +*/ + +#ifndef PED_DISK_BSD_H_INCLUDED +#define PED_DISK_BSD_H_INCLUDED + +typedef struct { + u_int8_t type; +} BSDPartitionData; + +#define BSD_NAME "bsd" + +extern void ped_disk_bsd_init (); +extern void ped_disk_bsd_done (); + + +#endif /* PED_DISK_BSD_H_INCLUDED */ + Index: libparted/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -u -r1.1.1.1 -r1.1.1.1.2.1 --- libparted/Makefile.am 2000/11/20 16:18:15 1.1.1.1 +++ libparted/Makefile.am 2000/12/08 23:18:44 1.1.1.1.2.1 @@ -19,7 +19,8 @@ disk_dos.c \ disk_loop.c \ disk_mac.c \ - disk_pc98.c + disk_pc98.c \ + disk_bsd.c =20 libparted_la_LIBADD =3D fs_ext2/libext2.la \ fs_fat/libfat.la \ Index: libparted/device.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/device.c,v retrieving revision 1.1.1.2 retrieving revision 1.1.1.2.2.2 diff -u -u -r1.1.1.2 -r1.1.1.2.2.2 --- libparted/device.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/device.c 2000/12/11 19:04:32 1.1.1.2.2.2 @@ -803,12 +803,12 @@ =20 #if SIZEOF_OFF_T < 8 && defined(linux) if (sizeof (off_t) < 8) { - loff_t pos =3D sector * 512; + loff_t pos =3D sector * PED_SECTOR_SIZE; return ped_llseek (dev->fd, pos, SEEK_SET) =3D=3D pos; } else #endif { - off_t pos =3D sector * 512; + off_t pos =3D sector * PED_SECTOR_SIZE; return lseek (dev->fd, pos, SEEK_SET) =3D=3D pos; } } Index: libparted/disk_bsd.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: disk_bsd.c diff -N disk_bsd.c --- /dev/null Thu Aug 24 05:00:32 2000 +++ /tmp/cvsgwqgp3 Mon Dec 11 14:55:01 2000 @@ -0,0 +1,608 @@ +/* -*- Mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -= *- + + libparted - a library for manipulating disk partitions + Copyright (C) 1998-2000 Free Software Foundation, Inc. + + This program 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 of the License, or + (at your option) any later version. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307= USA + + Contributor: Matt Wilson +*/ + +#include "config.h" + +#include + +#include +#include +#include + +#include +#if ENABLE_NLS +# define _(String) gettext (String) +#else +# define _(String) (String) +#endif /* ENABLE_NLS */ + +#define BSD_DISKMAGIC (0x82564557UL) /* The disk magic number */ +#define BSD_MAXPARTITIONS 8 +#define BSD_FS_UNUSED 0 /* disklabel unused partition entry ID */ +#define BSD_LABEL_OFFSET 64 + +#define BSD_DTYPE_SMD 1 /* SMD, XSMD; VAX hp/up */ +#define BSD_DTYPE_MSCP 2 /* MSCP */ +#define BSD_DTYPE_DEC 3 /* other DEC (rk, rl) */ +#define BSD_DTYPE_SCSI 4 /* SCSI */ +#define BSD_DTYPE_ESDI 5 /* ESDI interface */ +#define BSD_DTYPE_ST506 6 /* ST506 etc. */ +#define BSD_DTYPE_HPIB 7 /* CS/80 on HP-IB */ +#define BSD_DTYPE_HPFL 8 /* HP Fiber-link */ +#define BSD_DTYPE_FLOPPY 10 /* floppy */ + +#define BSD_BBSIZE 8192 /* size of boot area, with label */ +#define BSD_SBSIZE 8192 /* max size of fs superblock */ + +typedef struct _BSDRawPartition BSDRawPartition; +typedef struct _BSDRawLabel BSDRawLabel; + +struct _BSDRawPartition { /* the partition table */ + u_int32_t p_size; /* number of sectors in partition */ + u_int32_t p_offset; /* starting sector */ + u_int32_t p_fsize; /* filesystem basic fragment size */ + u_int8_t p_fstype; /* filesystem type, see below */ + u_int8_t p_frag; /* filesystem fragments per block */ + u_int16_t p_cpg; /* filesystem cylinders per group */ +}; + +struct _BSDRawLabel { + u_int32_t d_magic; /* the magic number */ + int16_t d_type; /* drive type */ + int16_t d_subtype; /* controller/d_type specific */ + int8_t d_typename[16]; /* type name, e.g. "eagle" */ + int8_t d_packname[16]; /* pack identifier */=20 + u_int32_t d_secsize; /* # of bytes per sector */ + u_int32_t d_nsectors; /* # of data sectors per track */ + u_int32_t d_ntracks; /* # of tracks per cylinder */ + u_int32_t d_ncylinders; /* # of data cylinders per unit */ + u_int32_t d_secpercyl; /* # of data sectors per cylinder */ + u_int32_t d_secperunit; /* # of data sectors per unit */ + u_int16_t d_sparespertrack; /* # of spare sectors per track */ + u_int16_t d_sparespercyl; /* # of spare sectors per cylinder */ + u_int32_t d_acylinders; /* # of alt. cylinders per unit */ + u_int16_t d_rpm; /* rotational speed */ + u_int16_t d_interleave; /* hardware sector interleave */ + u_int16_t d_trackskew; /* sector 0 skew, per track */ + u_int16_t d_cylskew; /* sector 0 skew, per cylinder */ + u_int32_t d_headswitch; /* head switch time, usec */ + u_int32_t d_trkseek; /* track-to-track seek, usec */ + u_int32_t d_flags; /* generic flags */ +#define NDDATA 5 + u_int32_t d_drivedata[NDDATA]; /* drive-type specific informatio= n */ +#define NSPARE 5 + u_int32_t d_spare[NSPARE]; /* reserved for future use */ + u_int32_t d_magic2; /* the magic number (again) */ + u_int16_t d_checksum; /* xor of data incl. partitions */ + =20 + /* filesystem and partition information: */ + u_int16_t d_npartitions; /* number of partitions in following *= / + u_int32_t d_bbsize; /* size of boot area at sn0, bytes */ + u_int32_t d_sbsize; /* max size of fs superblock, bytes */ + BSDRawPartition d_partitions[BSD_MAXPARTITIONS]; /* actually may= be more */ +}; + +static int bsd_probe (const PedDevice *dev); +static PedDisk* bsd_open (PedDevice* dev); +static PedDisk* bsd_create (PedDevice* dev); +static int bsd_clobber (PedDevice* dev); +static int bsd_close (PedDisk* disk); +static int bsd_read (PedDisk* disk); +static int bsd_write (PedDisk* disk); + +static PedPartition* bsd_partition_new ( + const PedDisk* disk, PedPartitionType part_type, + const PedFileSystemType* fs_type, PedSector start, PedSector end= ); +static void bsd_partition_destroy (PedPartition* part); +static int bsd_partition_set_flag ( + PedPartition* part, PedPartitionFlag flag, int state); +static int bsd_partition_get_flag ( + const PedPartition* part, PedPartitionFlag flag); +static int bsd_partition_is_flag_available ( + const PedPartition* part, + PedPartitionFlag flag); +static int bsd_partition_align (PedPartition* part, + const PedConstraint* constraint); +static int bsd_partition_enumerate (PedPartition* part); +static int bsd_partition_set_extended_system (PedPartition* part); +static int bsd_get_max_primary_partition_count (const PedDisk* disk); + +static int bsd_alloc_metadata (PedDisk* disk); + +static PedDiskOps bsd_disk_ops =3D { + probe: bsd_probe, + open: bsd_open, + create: bsd_create, + clobber: bsd_clobber, + close: bsd_close, + read: bsd_read, + write: bsd_write, + + partition_new: bsd_partition_new, + partition_destroy: bsd_partition_destroy, + partition_set_flag: bsd_partition_set_flag, + partition_get_flag: bsd_partition_get_flag, + partition_is_flag_available: bsd_partition_is_flag_available, + partition_set_name: NULL, + partition_get_name: NULL, + partition_align: bsd_partition_align, + partition_enumerate: bsd_partition_enumerate, + partition_set_extended_system: bsd_partition_set_extended_system, + + alloc_metadata: bsd_alloc_metadata, + get_max_primary_partition_count: + bsd_get_max_primary_partition_count +}; + +static PedDiskType bsd_disk_type =3D { + next: NULL, + name: "bsd", + ops: &bsd_disk_ops, + features: 0 +}; + +void +ped_disk_bsd_init () +{ + PED_ASSERT (sizeof (BSDRawPartition) =3D=3D 16, return); + PED_ASSERT (sizeof (BSDRawLabel) =3D=3D 276, return); + + ped_register_disk_type (&bsd_disk_type); +} + +void +ped_disk_bsd_done () +{ + ped_unregister_disk_type (&bsd_disk_type); +} + + +/* XXX fixme: endian? */ +static unsigned short +xbsd_dkcksum (BSDRawLabel *lp) { + unsigned short *start, *end; + unsigned short sum =3D 0; + =20 + lp->d_checksum =3D 0; + start =3D (u_short *)lp; + end =3D (u_short *)&lp->d_partitions[lp->d_npartitions]; + while (start < end) + sum ^=3D *start++; + return (sum); +} + +/* XXX fixme: endian? */ +static void +alpha_bootblock_checksum (char *boot) { + u_int64_t *dp, sum; + int i; + =20 + dp =3D (u_int64_t *)boot; + sum =3D 0; + for (i =3D 0; i < 63; i++) + sum +=3D dp[i]; + dp[63] =3D sum; +} + + +static int +bsd_probe (const PedDevice *dev) +{ + PedDiskType* disk_type; + char boot[512]; + BSDRawLabel *label; + int i; + + PED_ASSERT (dev !=3D NULL, return 0); + + if (!ped_device_open ((PedDevice*) dev)) + return 0; + if (!ped_device_read (dev, boot, 0, 1)) { + ped_device_close ((PedDevice*) dev); + return 0; + } + + ped_device_close ((PedDevice*) dev); + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + + alpha_bootblock_checksum(boot); + =20 + /* check magic */ + if (PED_LE32_TO_CPU (label->d_magic) !=3D BSD_DISKMAGIC) + return 0; + + return 1; +} + +static PedDisk* +bsd_open (PedDevice* dev) +{ + PedDisk* disk; + + PED_ASSERT (dev !=3D NULL, return 0); + + if (!bsd_probe (dev)) + goto error; + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + disk =3D ped_disk_alloc (dev, &bsd_disk_type); + if (!disk) + goto error; + + if (!bsd_read (disk)) + goto error_free_disk; + + return disk; + +error_free_disk: + ped_disk_free (disk); +error: + return NULL; +} + +static int +bsd_close (PedDisk* disk) +{ + PED_ASSERT (disk !=3D NULL, return 0); + + ped_device_close (disk->dev); + ped_disk_free (disk); + return 1; +} + + +static PedDisk* +bsd_create (PedDevice* dev) +{ + char boot[512]; + BSDRawLabel *label; + + PED_ASSERT (dev !=3D NULL, return 0); + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + if (!ped_device_read (dev, boot, 0, 1)) { + ped_device_close ((PedDevice*) dev); + return 0; + } + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + + memset(label, 0, sizeof(label)); + + label->d_magic =3D PED_CPU_TO_LE32 (BSD_DISKMAGIC); + label->d_type =3D PED_CPU_TO_LE16 (BSD_DTYPE_SCSI); + label->d_flags =3D 0; + label->d_secsize =3D PED_CPU_TO_LE16 (PED_SECTOR_SIZE); + label->d_nsectors =3D PED_CPU_TO_LE32 (dev->sectors); + label->d_ntracks =3D PED_CPU_TO_LE32 (dev->heads); + label->d_ncylinders =3D PED_CPU_TO_LE32 (dev->cylinders); + label->d_secpercyl =3D PED_CPU_TO_LE32 (dev->sectors * dev->hea= ds); + label->d_secperunit =3D PED_CPU_TO_LE32 (dev->sectors * dev->hea= ds * dev->cylinders); + =20 + label->d_rpm =3D PED_CPU_TO_LE16 (3600); + label->d_interleave =3D PED_CPU_TO_LE16 (1);; + label->d_trackskew =3D 0; + label->d_cylskew =3D 0; + label->d_headswitch =3D 0; + label->d_trkseek =3D 0; + =20 + label->d_magic2 =3D PED_CPU_TO_LE32 (BSD_DISKMAGIC); + label->d_bbsize =3D PED_CPU_TO_LE32 (BSD_BBSIZE); + label->d_sbsize =3D PED_CPU_TO_LE32 (BSD_SBSIZE); + =20 + label->d_npartitions =3D 0; + label->d_checksum =3D xbsd_dkcksum (label); + + alpha_bootblock_checksum(boot); + + if (!ped_device_write (dev, (void*) boot, 0, 1)) + goto error_close_dev; + if (!ped_device_sync (dev)) + goto error_close_dev; + ped_device_close (dev); + return bsd_open (dev); + =20 +error_close_dev: + ped_device_close (dev); +error: + return 0; +} + +static int +bsd_clobber (PedDevice* dev) +{ + char boot[512]; + BSDRawLabel *label; + + PED_ASSERT (dev !=3D NULL, return 0); + PED_ASSERT (bsd_probe (dev), return 0); + + if (!ped_device_open ((PedDevice*) dev)) + goto error; + if (!ped_device_read (dev, boot, 0, 1)) + goto error_close_dev; + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + =20 + label->d_magic =3D 0; + alpha_bootblock_checksum(boot); + + if (!ped_device_write (dev, (void*) boot, 0, 1)) + goto error_close_dev; + =20 + ped_device_close (dev); + return 1; + +error_close_dev: + ped_device_close (dev); +error: + return 0; +} + +static int +bsd_read (PedDisk* disk) +{ + char boot[512]; + BSDRawLabel *label; + BSDPartitionData* bsd_data; + int i, s; + PedPartition* part; + PedSector start, end; + PedConstraint* constraint_exact; + =20 + PED_ASSERT (disk !=3D NULL, return 0); + PED_ASSERT (disk->dev !=3D NULL, return 0); + =20 + ped_disk_delete_all (disk); + + if (!ped_device_open ((PedDevice*) disk->dev)) + goto error; + if (!ped_device_read (disk->dev, boot, 0, 1)) + goto error_close_dev; + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + + for (i =3D 1; i <=3D BSD_MAXPARTITIONS; i++) { + if (!label->d_partitions[i - 1].p_size + || !label->d_partitions[i - 1].p_fstype) + continue; + start =3D PED_LE32_TO_CPU(label->d_partitions[i - 1].p_o= ffset); + end =3D PED_LE32_TO_CPU(label->d_partitions[i - 1].p_off= set) + + PED_LE32_TO_CPU(label->d_partitions[i - 1].p_s= ize - 1); + part =3D ped_partition_new (disk, PED_PARTITION_PRIMARY,= NULL, + start, end); + bsd_data =3D part->disk_specific; + bsd_data->type =3D label->d_partitions[i - 1].p_fstype; + if (!part) + goto error_close_dev; + part->num =3D i; + part->fs_type =3D ped_file_system_probe (&part->geom); + =20 + constraint_exact =3D ped_constraint_exact (part); + if (!ped_disk_add_partition (disk, part, constraint_exact)) + goto error_close_dev; + ped_constraint_destroy (constraint_exact); + } + + ped_device_close ((PedDevice*) disk->dev); + return 1; + + error_close_dev: + ped_device_close ((PedDevice*) disk->dev); + error: + return 0; +} + +static int +bsd_write (PedDisk* disk) +{ + BSDRawLabel *label; + BSDPartitionData* bsd_data; + PedPartition* part; + int i, max_part; + char boot[512]; + + PED_ASSERT (disk !=3D NULL, return 0); + PED_ASSERT (disk->dev !=3D NULL, return 0); + + if (!ped_device_read (disk->dev, boot, 0, 1)) + return 0; + label =3D (BSDRawLabel *) (boot + BSD_LABEL_OFFSET); + + memset (label->d_partitions, 0, + sizeof (BSDRawPartition) * BSD_MAXPARTITIONS); + + for (i =3D 1; i <=3D BSD_MAXPARTITIONS; i++) { + part =3D ped_disk_get_partition (disk, i); + if (!part) + continue; + bsd_data =3D part->disk_specific; + label->d_partitions[i - 1].p_fstype =3D bsd_data->type; + label->d_partitions[i - 1].p_offset =3D PED_CPU_TO_LE32 = (part->geom.start); + label->d_partitions[i - 1].p_size =3D PED_CPU_TO_LE32 (p= art->geom.length); + max_part =3D i; + } + + label->d_npartitions =3D PED_CPU_TO_LE16 (max_part + 1); + label->d_checksum =3D xbsd_dkcksum (label); + + alpha_bootblock_checksum(boot); + + if (!ped_device_write (disk->dev, (void*) boot, 0, 1)) + return 0; + if (!ped_device_sync (disk->dev)) + return 0; + + return 1; +} + +static PedPartition* +bsd_partition_new (const PedDisk* disk, PedPartitionType part_type, + const PedFileSystemType* fs_type, + PedSector start, PedSector end) +{ + PedPartition* part; + BSDPartitionData* bsd_data; + + part =3D ped_partition_alloc (disk, part_type, fs_type, start, end); + if (!part) + goto error; + + if (ped_partition_is_active (part)) { + part->disk_specific + =3D bsd_data =3D ped_malloc (sizeof (BSDPartitionData)); + if (!bsd_data) + goto error_free_part; + bsd_data->type =3D 0; + + if (fs_type && !ped_partition_set_system (part, fs_type)) + goto error_free_bsd_data; + } else { + part->disk_specific =3D NULL; + } + return part; + +error_free_bsd_data: + ped_free (bsd_data); +error_free_part: + ped_free (part); +error: + return 0; +} + + +static void +bsd_partition_destroy (PedPartition* part) +{ + PED_ASSERT (part !=3D NULL, return); + + if (ped_partition_is_active (part)) + ped_free (part->disk_specific); + ped_free (part); +} + + +static int +bsd_partition_set_flag (PedPartition* part, PedPartitionFlag flag, int s= tate) +{ + /* no flags for bsd */ + return 0; +} + + +static int +bsd_partition_get_flag (const PedPartition* part, PedPartitionFlag flag) +{ + /* no flags for bsd */ + return 0; +} + +static int +bsd_partition_is_flag_available (const PedPartition* part, + PedPartitionFlag flag) +{ + /* no flags for bsd */ + return 0; +} + + +static int +bsd_get_max_primary_partition_count (const PedDisk* disk) +{ + return BSD_MAXPARTITIONS; +} + +static int +bsd_partition_set_extended_system (PedPartition* part) +{ + return 1; +} + +static int +bsd_partition_align (PedPartition* part, const PedConstraint* constraint= ) +{ + PedGeometry* new_geom; + + new_geom =3D ped_constraint_solve_nearest (constraint, &part->geom); + if (!new_geom) { + ped_exception_throw ( + PED_EXCEPTION_ERROR, + PED_EXCEPTION_CANCEL, + _("Unable to align partition.")); + return 0; + } + ped_geometry_set (&part->geom, new_geom->start, new_geom->length); + ped_geometry_destroy (new_geom); + return 1; +} + +static int +bsd_partition_enumerate (PedPartition* part) +{ + int i; + PedPartition* p; + =20 + /* never change the partition numbers */ + if (part->num !=3D -1) + return 1; + for (i =3D 1; i <=3D BSD_MAXPARTITIONS; i++) { + p =3D ped_disk_get_partition (part->geom.disk, i); + if (!p) { + part->num =3D i; + return 1; + } + } + + /* failed to allocate a number */ + ped_exception_throw (PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, + _("Unable to allocate a bsd disklabel slot"= )); + return 0; +} + +static int +bsd_alloc_metadata (PedDisk* disk) +{ + PedPartition* new_part; + PedConstraint* constraint_any =3D ped_constraint_any (disk); + + PED_ASSERT (disk !=3D NULL, goto error); + PED_ASSERT (disk->dev !=3D NULL, goto error); + + /* allocate 1 sector for the disk label at the start */ + new_part =3D ped_partition_new ( + disk, + PED_PARTITION_PRIMARY | PED_PARTITION_METADATA, + NULL, + 0, 1); + if (!new_part) + goto error; + + if (!ped_disk_add_partition (disk, new_part, constraint_any)) { + ped_partition_destroy (new_part); + goto error; + } + + ped_constraint_destroy (constraint_any); + return 1; +error: + ped_constraint_destroy (constraint_any); + return 0; +} Index: libparted/libparted.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/libparted.c,v retrieving revision 1.1.1.2 retrieving revision 1.1.1.2.2.1 diff -u -u -r1.1.1.2 -r1.1.1.2.2.1 --- libparted/libparted.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/libparted.c 2000/12/08 23:18:44 1.1.1.2.2.1 @@ -63,6 +63,7 @@ ped_disk_msdos_init (); ped_disk_pc98_init (); ped_disk_mac_init (); + ped_disk_bsd_init (); } =20 static void @@ -97,6 +98,7 @@ ped_disk_pc98_done (); ped_disk_loop_done (); ped_disk_mac_done (); + ped_disk_bsd_done (); } =20 static void Index: libparted/fs_ext2/interface.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/fs_ext2/interface.c,v retrieving revision 1.1.1.2 retrieving revision 1.1.1.2.2.1 diff -u -u -r1.1.1.2 -r1.1.1.2.2.1 --- libparted/fs_ext2/interface.c 2000/11/30 17:51:11 1.1.1.2 +++ libparted/fs_ext2/interface.c 2000/12/08 23:18:44 1.1.1.2.2.1 @@ -21,7 +21,7 @@ * merged 1.1.11 changes (by Andrew) */ =20 -static const char _interface_c[] =3D "$Id: interface.c,v 1.1.1.2 2000/11= /30 17:51:11 msw Exp $"; +static const char _interface_c[] =3D "$Id: interface.c,v 1.1.1.2.2.1 200= 0/12/08 23:18:44 msw Exp $"; =20 #include "config.h" =20 @@ -30,6 +30,7 @@ #include #include #include +#include #include "ext2.h" #include "parted_io.h" =20 @@ -334,6 +335,12 @@ else strcpy (mac_data->system_name, "Apple_UNIX_SVR2"); mac_data->status =3D 0x33; + return 1; + } + + if (strcmp (disk_type->name, BSD_NAME) =3D=3D 0) { + BSDPartitionData* bsd_data =3D part->disk_specific; + bsd_data->type =3D 0x8; return 1; } =20 Index: libparted/fs_linux_swap/linux_swap.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /mnt/devel/CVS/parted/libparted/fs_linux_swap/linux_swap.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -u -r1.1.1.1 -r1.1.1.1.2.1 --- libparted/fs_linux_swap/linux_swap.c 2000/11/20 16:18:15 1.1.1.1 +++ libparted/fs_linux_swap/linux_swap.c 2000/12/08 23:18:44 1.1.1.1.2.1 @@ -31,6 +31,7 @@ #include #include #include +#include =20 #include #if ENABLE_NLS @@ -562,6 +563,12 @@ return 0; } mac_data->status =3D 0x33; + return 1; + } + + if (strcmp (disk_type->name, BSD_NAME) =3D=3D 0) { + BSDPartitionData* bsd_data =3D part->disk_specific; + bsd_data->type =3D 0x1; return 1; } =20 --neYutvxvOLaeuPCA-- From clausen@conectiva.com.br Mon Dec 11 15:23:54 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 145ZUI-0005vw-00 for ; Mon, 11 Dec 2000 15:23:54 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id A828B16B10; Mon, 11 Dec 2000 18:23:49 -0200 (BRST) Message-ID: <3A0C5B79.B7A9466A@conectiva.com.br> Date: Fri, 10 Nov 2000 18:32:57 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Matt Wilson Cc: bug-parted@gnu.org Subject: Re: [PATCH] Revised-revised bsd disklabel support References: <20001211145720.E8468@devserv.devel.redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Matt Wilson wrote: > > Heh. This version applies the constraint in bsd_partition_align, > allocates a metadata partition for the disk label, and throws > exceptions when unable to enumerate a partition. ped_partition_new() should have the last argument 0. Yes, it's broken, I know. I REALLY DO regret it! Might fix it in the next version... Andrew Clausen From clausen@conectiva.com.br Mon Dec 11 15:28:52 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 145ZZ5-0006IK-00 for ; Mon, 11 Dec 2000 15:28:52 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 1F8DF16B12; Mon, 11 Dec 2000 18:28:40 -0200 (BRST) Message-ID: <3A0C5C9C.4E9B0742@conectiva.com.br> Date: Fri, 10 Nov 2000 18:37:48 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Matt Wilson , bug-parted@gnu.org Subject: Re: [PATCH] Revised-revised bsd disklabel support References: <20001211145720.E8468@devserv.devel.redhat.com> <3A0C5B79.B7A9466A@conectiva.com.br> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Andrew Clausen wrote: > > Matt Wilson wrote: > > > > Heh. This version applies the constraint in bsd_partition_align, > > allocates a metadata partition for the disk label, and throws > > exceptions when unable to enumerate a partition. > > ped_partition_new() should have the last argument 0. Yes, it's > broken, I know. I REALLY DO regret it! Might fix it in the > next version... for bsd_alloc_metadata() Andrew Clausen From msw@devserv.devel.redhat.com Mon Dec 11 15:35:12 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 145ZfE-0006Ph-00 for ; Mon, 11 Dec 2000 15:35:12 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eBBKZ4X13576; Mon, 11 Dec 2000 15:35:04 -0500 Date: Mon, 11 Dec 2000 15:35:04 -0500 From: Matt Wilson To: Andrew Clausen Cc: bug-parted@gnu.org Subject: Re: [PATCH] Revised-revised bsd disklabel support Message-ID: <20001211153504.G8468@devserv.devel.redhat.com> References: <20001211145720.E8468@devserv.devel.redhat.com> <3A0C5B79.B7A9466A@conectiva.com.br> <3A0C5C9C.4E9B0742@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A0C5C9C.4E9B0742@conectiva.com.br>; from clausen@conectiva.com.br on Fri, Nov 10, 2000 at 06:37:48PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Right, oops! I always forget that it adds 1 to the end. I've fixed it in my version, I'll spare the list from another patch. :) Matt On Fri, Nov 10, 2000 at 06:37:48PM -0200, Andrew Clausen wrote: > > for bsd_alloc_metadata() > > Andrew Clausen > > _______________________________________________ > Bug-parted mailing list > Bug-parted@gnu.org > http://mail.gnu.org/mailman/listinfo/bug-parted From hollis@penguinppc.org Mon Dec 11 17:48:08 2000 Received: from penguinppc.org ([206.160.138.11]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 145bjs-0003kk-00 for ; Mon, 11 Dec 2000 17:48:08 -0500 Received: from localhost (hollis@localhost) by penguinppc.org (8.9.3/8.9.3) with ESMTP id RAA29988; Mon, 11 Dec 2000 17:51:11 -0500 Date: Mon, 11 Dec 2000 17:51:11 -0500 (EST) From: Hollis Blanchard To: Andrew Clausen cc: bug-parted@gnu.org Subject: Re: parted and partition types In-Reply-To: <3A0BEAB6.C6F01554@conectiva.com.br> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Fri, 10 Nov 2000, Andrew Clausen wrote: > Hollis Blanchard wrote: > > > > Is it possible to create a Mac partition with type Apple_HFS? When I tried, > > it seemed Apple_UNIX_SVR2 was the only possibility, but I was trying to > > make an HFS partition that the Mac OS would see... > > mkpart primary hfs [start] [end] > > doesn't work? Works here. Hmm, it wasn't working before, but it's all good now. Does that call hformat or something? I was booted from a ramdisk with a bad PATH at the time... But it's fine now, so on to my real question: > > Also, is it possible to change partition types with parted? > > No. (Well, you can rm, and mkpart...) > > I would like to do this, but I can't think of a good user interface. > Parted's UI pretends that partition types don't exist at all. I was noticing that; it is a noticable ommission... > It > seems weird to allow you to change something that "doesn't exist". > Also, there isn't a 1-1 mapping between file systems and partition > types. So, it isn't clear how you could provide user feedback > in the form of a file system. The only other (obvious) way you > could do it is by "Apple_HFS", or whatever. But this is very > disk-label specific (on PC98 and DOS labels, it's numbers), so > the user interface (and the libparted API) starts getting more > complicated, which is something I want to avoid. I understand the problem. The DOS partition number do have corresponding text labels though, so I think it would be possible to print that (along with Apple labels). > See any way out of the dilemma? An "advanced" flag? I believe fdisk has such an option, though it's *much* lower-level than what I'm suggesting... > > The partition types > > don't even show up in the 'print' output... that would be nice to have. > > Hard to do simply/portably. Besides, I can't think of any reasons > (other than for "expert hackers") why anyone would want it... > > (Provided mkpartfs primary hfs, etc. works) Well, here's my problem. I want to install ybin (basically a bootloader). ybin needs to be on an HFS partition (for the firmware to be able to boot), but the Mac OS automatically mounts Apple_HFS partitions (and can do bad things sometimes). So ybin likes to be on a partition of type Apple_Bootstrap - that way nobody except ybin will mess with it. Now if you remember, I really really want to get rid of pdisk, which has been unmaintained and buggy for ages. But without it I'm unable to pull this off... Oh, another problem: for PReP machines (old IBM PPC workstations), the firmware will only boot from a partition of type 0x41 (PPC Boot). That partition does NOT contain a filesystem, only a zImage dd'ed there. I see what you're saying about doing away with partition types entirely, but is it possible to add an "advanced" flag that will allow their manipulation? -Hollis From clausen@conectiva.com.br Tue Dec 12 05:03:30 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 145mHP-0001oV-00 for ; Tue, 12 Dec 2000 05:03:29 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 80DC416B27; Tue, 12 Dec 2000 08:03:14 -0200 (BRST) Message-ID: <3A0D1B89.305172E9@conectiva.com.br> Date: Sat, 11 Nov 2000 08:12:25 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Hollis Blanchard Cc: bug-parted@gnu.org Subject: Re: parted and partition types References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hollis Blanchard wrote: > > On Fri, 10 Nov 2000, Andrew Clausen wrote: > > > Hollis Blanchard wrote: > > > > > > Is it possible to create a Mac partition with type Apple_HFS? When I tried, > > > it seemed Apple_UNIX_SVR2 was the only possibility, but I was trying to > > > make an HFS partition that the Mac OS would see... > > > > mkpart primary hfs [start] [end] > > > > doesn't work? Works here. > > Hmm, it wasn't working before, but it's all good now. Does that call hformat or > something? No. It doesn't write any data to the partition. Perhaps it should call hformat... (just, there are kernel issues here, but we should be able to solve them with kernel 2.4) I think I'd rather have libparted link with libhfs, or something. > I understand the problem. The DOS partition number do have corresponding text > labels though, so I think it would be possible to print that (along with Apple > labels). It still doesn't help with changing the "labels" though. With Mac's, you could set the type to any name, but with msdos/pc98/bsd, you have to set it to a name corresponding to a number. These are still different semantics. > > See any way out of the dilemma? > > An "advanced" flag? I believe fdisk has such an option, though it's *much* > lower-level than what I'm suggesting... I'm more thinking of libparted here... Spend some time in include/parted/disk.h > Well, here's my problem. I want to install ybin (basically a bootloader). ybin > needs to be on an HFS partition (for the firmware to be able to boot), but the > Mac OS automatically mounts Apple_HFS partitions (and can do bad things > sometimes). So ybin likes to be on a partition of type Apple_Bootstrap - that > way nobody except ybin will mess with it. RTFM ;-) set X boot on > Oh, another problem: for PReP machines (old IBM PPC workstations), the firmware > will only boot from a partition of type 0x41 (PPC Boot). That partition does > NOT contain a filesystem, only a zImage dd'ed there. > > I see what you're saying about doing away with partition types entirely, but is > it possible to add an "advanced" flag that will allow their manipulation? I care more about libparted than parted. Having a simple API is good, because it means it gets used. (Of course, if you take this to the extreme, it doesn't get used, because it doesn't do what you need it to!) I'd rather add more flags, than introduce partition type names, or something. Andrew Clausen From tom@suse.de Tue Dec 12 09:34:54 2000 Received: from cantor.suse.de ([194.112.123.193]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 145qW5-0007RI-00 for ; Tue, 12 Dec 2000 09:34:53 -0500 Received: from Hermes.suse.de (Hermes.suse.de [194.112.123.136]) by Cantor.suse.de (Postfix) with ESMTP id 412E81E147 for ; Tue, 12 Dec 2000 15:34:49 +0100 (MET) Received: from Wotan.suse.de (Wotan.suse.de [10.10.0.1]) by Hermes.suse.de (Postfix) with ESMTP id 195A73E452 for ; Tue, 12 Dec 2000 15:34:49 +0100 (MET) Received: from suse.de (Simpson.suse.de [10.10.0.155]) by Wotan.suse.de (Postfix) with ESMTP id BEAE91C8259 for ; Tue, 12 Dec 2000 15:34:48 +0100 (CET) Message-ID: <3A363788.657C4127@suse.de> Date: Tue, 12 Dec 2000 15:34:48 +0100 From: Thomas Roelz Organization: SuSE GmbH, Nuernberg X-Mailer: Mozilla 4.74 [de] (X11; U; Linux 2.2.16 i686) X-Accept-Language: de MIME-Version: 1.0 To: "bug-parted@gnu.org" Subject: Problems resizing Win 2000 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all, I just encountered some strange problems after shrinking a windows 2000 partition in place (parted-1.4.4). These problems are _not_ identical to those discussed here some weeks ago (ntoskernel.exe). In the case mentioned Windows _does_ boot and seems to work fine (the boot.ini content is still valid since partition numbering hasn't changed due to the shrinking in place). Only if you try to start some external application (e.g. the Windows caculator) you get a message that a dll could not be found. The dll is still there but Windows 2000 appearently kind of caches its absolute location on disk. Since it was moved during resize Windows can't find it any more and is not clever enough to search anew. Has anyone else encountered similar problems? Has anyone found a workaround for this? Thanks in advance Tom -- From clausen@conectiva.com.br Wed Dec 13 07:21:30 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146AuT-00021b-00 for ; Wed, 13 Dec 2000 07:21:27 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 5374116B2D; Wed, 13 Dec 2000 10:21:12 -0200 (BRST) Message-ID: <3A0E8D69.94F56A8C@conectiva.com.br> Date: Sun, 12 Nov 2000 10:30:33 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Christoph Hellwig Cc: James Mello , evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability References: <3A3665DA.8B7C2744@conectiva.com.br> <20001212195718.B12943@caldera.de> <3A3674C8.E7E659B@conectiva.com.br> <20001212201053.A13711@caldera.de> <3A367B8F.79CB54D1@conecti <3A36A2AA.20076465@conectiva.com.br> <20001212235937.A24780@caldera.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Christoph Hellwig wrote: > > one single library != one single library > > Hmm. I don't have to understand the philosophical background of this > sentence? ;) ;-) > > Yuck! So, should the hints describe how to get the information as > > well?! > > (look in byte xxx of the partition, etc.) Is /etc/lvms/align. > > Turing complete? > > I doubt. > > It should just be a plain key/value file > > align: 4kb > rounding: 32kb > max-size: 4gb "align" depends on the on-disk file system (not merely the file system type). For example, if you have an ext2 file system, that starts at sector 63 (512 byte unit), and the file system has a block size of 2k, then: new_start = old_start + X * block_size max_size might be a function of certain properties of the file system, like the block size. (it is rather difficult to grow the block size, and if the resizer can't handle it, then this is going to be a factor) However, there is no way a front-end can know this, unless it asks the resizer. > > This is information that must be COMPUTED, by the resizer, from the > > file system. > > > > Yes. But unless the fs is totaly braindead this computations follow simple > rules. I disagree. ext2 doesn't follow simple rules, and I don't think it's braindead. FAT is braindead, and it also doesn't follow simple rules :p > And I don't think we should overdesign the whole system just to > support completly braindead filesystems. I think we should! The "overdesigned system" (libparted) is clean enough for me. (Heck, people are always trying to make it uglier, but I don't let them ;-) I mean, why bother with partitioning, except for compatibility? Partitions suck! > These filesystem would usually be foreign fses and only occur on one partition > type, so the hints can be added. (Yes, that's _horribly_ ugly, but less ugly > than messing up the whole design). I don't follow. How do the hints work? > > Fine. We can separate libparted into separate source trees. > > I don't see the point (yet), but maybe it may make sense in future. > > E.g. the 'get fs blocksize' code is better placed in the kernel - there > might be lots of other uses for it. Maybe this is true, but the block size doesn't tell you anything about the constraints. It's the *resizer* that has the constraints. Only the resizer knows what it can and can't do. My FAT resizer USED to be unable to shrink the cluster size, or move the start... but now it can. > It's just the one tool for one thing design compared to 'put everything > related to partition and fs handling in one lib'. > > > You don't need to move the LV with LVM. You can shrink the end, and > > copy the start to the end, so to speak. > > > > However, moving the entire LV is a bad idea. If it gets interrupted, > > you can't undo the operation. Doing journalling on disk will slow > > you down by about a factor of 10, compared to a normal copy without > > journaling (reason: all the seeks). Besides, I don't see how > > journalling is "clean", when you can do an in-place resize atomically > > by other methods. > > I can only tell how the current Linux LVM does it: > - it locks > - moves it to it's new location > - changes the remapping table > - it unlocks > > The locks are currently global - but they could be made more finegraded. That's my first suggestion, right? (Which I don't object to ;-) > > What if the program/library is modular? I mean, couldn't you say the > > same thing about a Linux distrubition: > > > > "I don't like these Linux CDs that try to do everything! I > > like buying Windows, and then MS Word separately..." etc. > > > > Actually it's the other way around: Absolutely! But I'm sure you'll here some people proposing that (ridiculous) argument! (I have!!!) My point is: "Do one thing and do it right." is easily taken out of context. It's an extremely vague statement, and I'm not sure how it is relevant here. Each module in libparted does one thing, and does it right. I don't understand how being a module as opposed to a program is relevant to a "Do one thing and do it right" argument. > I don't like windows where there are a few programs trying > to handle everything, e.g. the office suits. > Instead I write my text using vi, run ispell over it, then > tex, I preview it using xdvi, and print it using dvips. Agreed! > > I mean, what's so special about the unit "program/library"? > > A program is much more intuitive and simple. > > (pointer: the same thing is currently discussed on lkml > in the kORBit thread). Comparison between programs and libraries: (1) programs and libraries have interfaces (2) programs are easy to interface with users, but difficult to interface with other programs (i.e. difficult to be used by other programs). When I say "difficult", I mean for non-trivial stuff. (3) libraries are easy to interface with programs (i.e. used by other programs), but difficult to interface with users (4) and (5) follow from (2) and (3): (4) libraries are easily wrapped by programs, to provide an interface to users (5) programs are difficult to wrap in a library interface > > Besides, it's unfair to call libparted a single program/library, in the > > sense that it's a monolithical structure. It is fair to say it has a > > single API, though. (ATM, libparted is many libraries statically > > linked) > > > > > I _much_ prefere the tradtitional UNIX way of doing things: > > > > > > Do one thing and do it right. > > > > Each module "does one thing and does it right". > > > > I think you are taking this idea out of context. > > > > ("One thing" can equal "run the whole system" or "plot a pixel" > > or "handle data storage". The question is: at what level should > > it be "one thing"? A single function? API? module? program? > > library? collection of libraries? package?) > > Actually this might be worth a discussion. > I the traditional UNIX context one thing is a small, specific task, like > do a filesystem check for one specific filesystem, do a filesystem check > by invoking low-level fsck tool, check a text for spelling mistakes, > render a text written in a markup language or give out one file on the tty. > The level is usually one program. These programs may of course share common > functions (like append this string on another, give me information about one > specific fs, print out a string, create a file) on a library basis. Yep. However, I think file systems and partitions (and maybe LVMs) have Initimate Relationships TM. Actually, they aren't very intimate (hence, libparted is able to be very modular), but they are too intimate to be separated completely (unfortunately). I can see that the last point is contentious, but I don't see any disadvantages to taking this attitude. Here's another interesting option: libparted is structured such that it would be very trivial to write resize.ext2 and resize.fat front ends. VERY TRIVIAL (such frontends would be about 30 lines of code). Maybe, we should keep libparted as-is for partition table stuff, but use the simpler front ends for LVM. However, is this sufficient for conversion between LVM types, or converting from file-systems-on-partitions to physical volumes containing a logical volume with the old file system? Maybe it is possible... > > > I don't see any reason why a LVMS should be interested in that. > > > If it has partition type handling built in anyway, it would just tell the > > > low-level partition handling tool: write me a partition type for fs XYZ. > > > > Yeah, but the mapping from fs <-> partition type is neither surjective > > nor injective. i.e. you need more information to know what type the > > partition is, than simple the fs. If you ignore this, you end up > > leaving Windows and MacOS unbootable (or Linux unbootable on Mac's, > > due to their broken firmware). > > Could you elaborate that a little more? > I don't get the point yet. > It might be just because I'm more interested in the actually data managment > then playing with ugly details like partition tables ;) In the case of FAT/Windows: if the file system type and the partition type don't match, M$ chokes. There are 12 different partition types (numbers) corresponding to different types of FAT partitions. These correspond to various permutations of: (1) FAT12/16/32 (2) the size of the file system (some brain-damage, WRT small file systems) (3) whether the partition is "hidden" (4) whether M$ should use LBA (1) and (2) should be determined by the file system code. You could hack around this, by creating different file systems for fat12, fat16 and fat32, but this seems dubious to me. (For example: progams might get confused when the resizer automagically converts from fat16 to fat32, or whatever) I think my Mac example was bogus... the partition types need to be right, but it is merely a function of the file system type. I'm sure other cases will pop-up... Sun disk labels for example, allow partitions and the disk label metadata to overlap, so you have to be careful about which file system you use, so as not to clobber the disk label. (ext2, and new linux-swap don't use the first 1k of the partition) > > > > Here's another: how much free space does the resizer need to resize > > > > the partition to a diferent size? This is resizer-specific (resizers > > > > often need spare space to grow metadata, or for temporary "swap space", > > > > etc.) > > > > > > I come from the sane LVM world where is is 0. > > > > Huh? Where do you grow your group descriptor tables to? If you want to > > be atomic, then you also want to keep both and new metadata. 0 is > > not only insane, it's not possible. > > It looks like we are talking abot s.th. different: > sure you need to allocate mores pace then the pure data space that will > be available later. But just like e.g. mkfs you will create the fs in > it's 'vanilla' size and will have less avaible. But, it's useful to know how much free space you need, before hand, so you can plan ahead. (Think: automatic partitioning) > > > But for such things like constant number there exists yet another nice > > > UNIX thingie: ASCII config files. > > > > Can't be done. Eg: for ext2, you would need to know if it has > > sparse super blocks (to know how many group descriptor tables need > > to be shrunk/grown, and by how much) > > Why should the generic resize frontend want to know about that? Automatic partitioning, and "planning ahead". (Eg: figuring out how you want to rearrange your partitions, and then clicking "go!". It's nicer to know before hand, if it's going to work) > > > > Also, it cuts back the other way: there is useful stuff that resizers > > > > (and other utilities) can share, if they link (dynamically, if you > > > > want...) together. libparted's error handling, for example. > > > > > > I don't care wether we have a small liblvms that implements things the > > > tools _might_ share, but I don't want it to be too tightly coupled. > > > > I also don't like things "too tightly coupled". Just, we seem to > > have different ideas of "too tight". BTW: I don't think your ideas > > make the coupling any "looser", they just make the coupling occur > > elsewhere. > > One example: For whatever reason I just want to resize the LV, and > not mess with the fs. In my way I would just call the spezific > lowlevel tool and be done - no additional overhead. > With your lib you could either not do it - or you would have to > add another frontend or at least a new command line switch. Not true. You already can do it! Parted has a fake "raw" partition table, that has exactly one partition that occupies the entire device. So: # parted /dev/hda1 (or the LV device) resize 1 0 [new-size] (where 1 = the fake "partition" number, and 0 = the new start) Obviously, I could write a very simple front-end, to have equivalent behaviour to resize.ext2, or whatever. > Or I have writen a new test filesystem and write a little resizer > for it - in my scheme the high-level tool would simply call it > if it is in the right place - how would you integrate that? > Corba? Messing around two nights with XS? ROFL! /me imagines how CORBA and libparted might work together... libparted is easy to port to... (in fact, both the ext2 and fat resizers were originally separate programs) You could almost write a sed script to do it! > > BTW: I see this is beginning to turn into a holy war, hehe. Please > > don't take this stuff personally ;-) I think these are important > > issues, so I think we should continue the debate ;-) > > Ok. At least I'm arguing with a smart guy ;-) Philosophical debates aren't as much fun when they have implications... hehe Andrew Clausen From hch@ns.caldera.de Wed Dec 13 09:32:22 2000 Received: from ns.caldera.de ([212.34.180.1]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146CxB-0005yh-00 for ; Wed, 13 Dec 2000 09:32:21 -0500 Received: (from hch@localhost) by ns.caldera.de (8.9.3/8.9.3) id PAA11487; Wed, 13 Dec 2000 15:32:07 +0100 Date: Wed, 13 Dec 2000 15:32:07 +0100 From: Christoph Hellwig To: Andrew Clausen Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability Message-ID: <20001213153207.A7707@caldera.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <3A0E8D69.94F56A8C@conectiva.com.br>; from clausen@conectiva.com.br on Sun, Nov 12, 2000 at 10:30:33AM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Sun, Nov 12, 2000 at 10:30:33AM -0200, Andrew Clausen wrote: > "align" depends on the on-disk file system (not merely the file system > type). > For example, if you have an ext2 file system, that starts at sector 63 > (512 > byte unit), and the file system has a block size of 2k, then: > > new_start = old_start + X * block_size This _is_ a simple rule, isn't it? > max_size might be a function of certain properties of the file system, > like the block size. (it is rather difficult to grow the block size, > and if the resizer can't handle it, then this is going to be a factor) > However, there is no way a front-end can know this, unless it asks > the resizer. Right. What I currently do in lvmadm is just ignoring that fact and let the LV in it's new, big size and the fs in it's all small. This is not the right error recovery, thus my current working tree version resizes the LV back. > I disagree. ext2 doesn't follow simple rules, and I don't think it's > braindead. FAT is braindead, and it also doesn't follow simple rules :p I'm not completly familar with the ext2 size rules, but I've mostly seen simple rules like X (some not to difficult to retain variable) * blocksize. You are more familar with the limits, so please tell me the most difficult to calculate value, that has a real value for resizing ext2. And of course ext2 is not braindead - also it has a few small designe flaws. > > And I don't think we should overdesign the whole system just to > > support completly braindead filesystems. > > I think we should! The "overdesigned system" (libparted) is clean > enough > for me. (Heck, people are always trying to make it uglier, but I don't > let them ;-) I haven't said that libparted is overdesined - but I would lead to a over- design if you make it capable of dealing with each messy fs'es strange limitations. > I mean, why bother with partitioning, except for compatibility? > Partitions suck! I completly agree with you on that! > > These filesystem would usually be foreign fses and only occur on one partition > > type, so the hints can be added. (Yes, that's _horribly_ ugly, but less ugly > > than messing up the whole design). > > I don't follow. How do the hints work? If you have e.g. the mac partition table format the chance that a hfs(+) fs will be created on it is very big. If hfs had a strange limitation, the mac partition table resizer would just deal with this strange limitation (for example - just hypothetically it must have a size of 7 times the block size) even if an ext2fs would be created on it. As you said before the old-style partitions tables should be considered legacy... > Maybe this is true, but the block size doesn't tell you anything about > the constraints. It's the *resizer* that has the constraints. Only the > resizer knows what it can and can't do. My FAT resizer USED to be > unable > to shrink the cluster size, or move the start... but now it can. As we agreed on before moving the start of a fs should not be the fs resizers job. Shrinking the cluster size usually (always) happens by powers of two - so there shouldn't be a real problem either. And btw I don't know about any operating system that has problems with filesystems that are smaller then the underlying partitions. > Comparison between programs and libraries: > (1) programs and libraries have interfaces true. > (2) programs are easy to interface with users, but difficult to > interface > with other programs (i.e. difficult to be used by other programs). When > I say "difficult", I mean for non-trivial stuff. I can't agree 100% with you on this. Yes, the library interface is easier to use in programs in the first time, but not very much (when the interface to the program is designed right), but the program interface is _much_ more flexible. Just for loading different libraries with the same interface you need to play tricks with libdl, and loading libraries written in another language or just as shell script are extremly diffcult if not impossible. > (3) libraries are easy to interface with programs (i.e. used by other > programs), but difficult to interface with users Yes. > > (4) and (5) follow from (2) and (3): > > (4) libraries are easily wrapped by programs, to provide an interface to > users True. (wether this is a good design principle or not is another question ...) > (5) programs are difficult to wrap in a library interface At least more difficult than a native libarary ... > However, I think file systems and partitions (and maybe LVMs) have > Initimate Relationships TM. Actually, they aren't very intimate (hence, > libparted is able to be very modular), but they are too intimate to be > separated completely (unfortunately). Right. > I can see that the last point is contentious, but I don't see any > disadvantages to taking this attitude. > > Here's another interesting option: libparted is structured such that > it would be very trivial to write resize.ext2 and resize.fat front > ends. VERY TRIVIAL (such frontends would be about 30 lines of code). Good. And when (if) you start doing this frontends you can simply move the code that is only used by one program into this program and make the 'parted' program call them. I don't have any problem with multiple resizers sharing some common code - as long as they are separate programs, and one can code another such program without having to use the common code. > > Maybe, we should keep libparted as-is for partition table stuff, > but use the simpler front ends for LVM. Yes! - but they could of course share code for e.g. fs resizing by moving them into programs use by both. Eg. we could have: libresize (common fs resizing functions) libparted (partition handling stuff) liblvm (lvm handling) parted (frontend for partion handling) lvmadm (frontend for lvm handling) > > However, is this sufficient for conversion between LVM types, > or converting from file-systems-on-partitions to physical volumes > containing a logical volume with the old file system? Yet another frontend just for this purpose Do one thing right ...) that uses both middle and backends. > > Maybe it is possible... > If you are interested in such a thing I would help out on the LVM part. > In the case of FAT/Windows: if the file system type and the partition > type don't match, M$ chokes. There are 12 different partition types > (numbers) > corresponding to different types of FAT partitions. These correspond to > various permutations of: > > (1) FAT12/16/32 > (2) the size of the file system (some brain-damage, WRT small file > systems) > (3) whether the partition is "hidden" > (4) whether M$ should use LBA > > (1) and (2) should be determined by the file system code. You could > hack around this, by creating different file systems for fat12, fat16 > and fat32, but this seems dubious to me. I would really prefer that - fat{12,16,32} _are_ different filesystem, even if they are very similar - you might easily put all the code in one binary if that makes sense - and just make those behave differently when called as resizefs.fat12 and resizefs.fat32 > (For example: progams > might get confused when the resizer automagically converts from fat16 > to fat32, or whatever) Right - but this is actually an argument for my standpoint ;) > > I think my Mac example was bogus... the partition types need to be > right, > but it is merely a function of the file system type. I'm sure other > cases will pop-up... Sun disk labels for example, allow partitions > and the disk label metadata to overlap, so you have to be careful > about which file system you use, so as not to clobber the disk label. > (ext2, and new linux-swap don't use the first 1k of the partition) > That's really odd (besides the BSDish slice X = whole partition thing ...) But a offset option for the hints file and the fs resizer could easi > But, it's useful to know how much free space you need, before hand, > so you can plan ahead. (Think: automatic partitioning) I'm not really sure wether it does matter if the user gets 1024 or 950MB when he specifies 1GB. > > Why should the generic resize frontend want to know about that? > > Automatic partitioning, and "planning ahead". (Eg: figuring out how > you want to rearrange your partitions, and then clicking "go!". It's > nicer to know before hand, if it's going to work) And why does it help the automatic partitioning tool when it knows wether the filesystem uses sparse supers? It will get a few megabytes more if the filesystem has sparse supers enabled - but that shouldn't really matter (IMHO). > > One example: For whatever reason I just want to resize the LV, and > > not mess with the fs. In my way I would just call the spezific > > lowlevel tool and be done - no additional overhead. > > With your lib you could either not do it - or you would have to > > add another frontend or at least a new command line switch. > > Not true. You already can do it! > > Parted has a fake "raw" partition table, that has exactly one > partition that occupies the entire device. So: Actually the fake partition table is a cludge that would not be needed with separate programs... On the other hand: why do I need a fake partition table to resize the LV? - Once parted has LVM support this should not be needed and I doubt it will do anything usefull before that point ;) > # parted /dev/hda1 (or the LV device) resize 1 0 [new-size] > > (where 1 = the fake "partition" number, and 0 = the new start) Isn't that the parted syntax for resizing the partion _and_ the fs? > libparted is easy to port to... (in fact, both the ext2 and fat > resizers were originally separate programs) You could almost write > a sed script to do it! But what is when the new resizer is not written in C? Christoph -- Of course it doesn't work. We've performed a software upgrade. From dwaller@precisiondrive.com Wed Dec 13 09:43:30 2000 Received: from pdcautomation.com ([156.46.140.30] helo=mail-server.precisiondrive.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146D7y-00068e-00 for ; Wed, 13 Dec 2000 09:43:30 -0500 Received: from precisiondrive.com (IDENT:dwaller@dwaller [172.16.0.46]) by mail-server.precisiondrive.com (8.9.3/8.8.7) with ESMTP id IAA24201 for ; Wed, 13 Dec 2000 08:43:14 -0600 Message-ID: <3A3789DA.995EF768@precisiondrive.com> Date: Wed, 13 Dec 2000 08:38:19 -0600 From: Dave Waller X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: No Bugs Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: This software rocks!!!! Thank you for your great work. Dave Waller From clausen@conectiva.com.br Wed Dec 13 10:25:41 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146Dml-0000YT-00 for ; Wed, 13 Dec 2000 10:25:40 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 4985B16B11; Wed, 13 Dec 2000 13:25:21 -0200 (BRST) Message-ID: <3A0EB893.36C78109@conectiva.com.br> Date: Sun, 12 Nov 2000 13:34:43 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Thomas Roelz Cc: "bug-parted@gnu.org" Subject: Re: Problems resizing Win 2000 References: <3A363788.657C4127@suse.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Thomas Roelz wrote: > > Hi all, > > I just encountered some strange problems after shrinking a > windows 2000 partition in place (parted-1.4.4). These problems > are _not_ identical to those discussed here some weeks ago > (ntoskernel.exe). > > In the case mentioned Windows _does_ boot and seems to work fine > (the boot.ini content is still valid since partition numbering > hasn't changed due to the shrinking in place). Only if you try > to start some external application (e.g. the Windows caculator) > you get a message that a dll could not be found. The dll is still > there but Windows 2000 appearently kind of caches its absolute > location on disk. Since it was moved during resize Windows can't > find it any more and is not clever enough to search anew. > > Has anyone else encountered similar problems? > Has anyone found a workaround for this? Thanks for telling me... I've been doing some reverse engineering of Windows lately. I'll look into this... Maybe, we need to figure out how to trash the cache? Andrew Clausen From MAILER-DAEMON Wed Dec 13 11:42:00 2000 Received: from max2-168.dialin.uni-hamburg.de ([134.100.45.168] helo=schiwi) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146EyZ-0002s8-00 for ; Wed, 13 Dec 2000 11:41:56 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="--VE2BW5EVS5AF" Message-Id: From: Remote Mail Delivery System <> Bcc: Date: Wed, 13 Dec 2000 11:41:56 -0500 Subject: (no subject) Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: ----VE2BW5EVS5AF Content-Type: text/plain; charset="us-ascii" ----VE2BW5EVS5AF Content-Type: application/octet-stream; name="JNMLCLJN.EXE" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="JNMLCLJN.EXE" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAgAAAALRMzSEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAABQRQAATAECAAAAAAAAAAAAAAAAAOAADwELAQAAAFYAAAAAAAAAAAAAABAA AAAQAAAAAAAAAABAAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAIAAAAAABAA ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAAhwAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAAGAAAAAQAACoVAAAAAIA AAAAAAAAAAAAAAAAACAAAOAucmRhdGEAAAAQAAAAcAAAWgAAAABYAAAAAAAAAAAAAAAAAABAAADA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr FqhUAABQQkdQQ0ZQRwAMCEhZQlJJUwD8aExwQAD/FQBwQACjCiNAAIPEhIvMUOh8AAAAXqE1Cifa HPo3yJDnSLXJ7t3FOxTtOKRv+GfTc+pR9O6i/AuJNOIiPrxC4Cq53H5sNXfMXjVguFwJrFAYrHHj SiXLG3Lv+wdKT1hwcrOTfD7rduGAY5LvseJ7FEQYpBTblO28PiFdANOtfu+nOGbHGCUuPV1gfpLV ICaXTlFqH+jWCAAAagPHRCR8IIO47V0xLSsXQAAxLVEXQACLLQIQQABqQGgAMAAAVWoA/1QkSIXA D4TKBAAAUFVQ/1QkSAEsJF+FwI21ABBAAA+FsQQAAGhMTAAAaDMyLkRoV1MyX1T/VCQwhcBYWFgP hJIEAABQ/1QkKP2H6fOkxgfrgcc4AQAA/+f86L8HAADGhZwFAADrxoX0AQAAPImNmAUAAIHsBAEA AIv0gcTA/v//aAQBAABW/5QkkAIAAIXAD4QiBAAAjTwGuFxXU0+rNR8cYH2rNW0Pf36rK8CrVFb/ lCSMAgAAi9hDD4T4AwAAK+1Q/5QknAIAADlsJBwPheQDAABqEotEJCQr0ln38YP6EA+ExQMAAGiA AAAAVv+UJHwCAACFwHQcVWiAAAAAagNVVWgAAADAVv+UJHgCAACL2EB1butnaAQBAABqQP+UJLQC AACFwHRV6PAGAADGhfQBAADriYWYBQAAxoWcBQAAPDP/l+iUCAAAV1bzpIPvC411BqWlq19eagFW V/+UJMACAACFwA+FQv///8eEJLwCAAAAAAAAxoWcBQAA6+kWAwAAU4t0JCSBxgAAAQBVVlVqBFVT /5QkdAIAAIXAD4TWAgAAUFZVVWoCUP+UJHACAACFwA+EnAIAAFD/dCQsUP+UJJQCAACFwIsEJA+F fQIAAGAPtxgDQDxQaPgAAABQ/5QkuAIAAIXAWA+FXgIAADMY6CcGAACB8x0fAACLTQIPhUgCAABm 90AWACExQAgPt1gGD4Q1AgAAa9sojZQY+AAAAIt67Itq5Ita6AFK6AFK4MdC/EAAAMCLcDhOAXLg 99YhcuCLcug5cuBzBYly4OvnUYtK4ANK5IlIUFkD+41UHQCNqtASAAADfCQcUlXoqgUAAIv1UfOk XSv9iZf3EgAAK/Vdh2goib7hAwAAia/jEgAAlYtEJFBqEgNNPEkDwffRVeh1BQAAA0UCI8Er0l1Z 9/GZQED34UhIiUQkUP90JCSNtQQBAAAPt00Gi314i9+tUCvYrSvYcgZYg+7g4u+tUOguBAAAMX8E i38c6CMEAABeXofN6CIFAABbXlNqA7sgg7jtXY2GbgsAAIvQhwSvg+30K8KD6F2Jg8cLAACNhjYe AACL0IcEr0Urwi3eAAAAiYMQHwAAjYbvEQAARYvQRYcEryvCLYEAAACJg2wSAACNhucSAACLk+MS AAApg+MSAACF0nUGiZPjEgAAaAABAADocwcAAP7Egetw7P//iYN0////llKJk2////9fhf91Covy ibN0////6x0DuQwBAAAruQQBAAADPCSLB4lDzGr/6DMHAACJA4fx4wgAB67ByAji+IfxW4lxWIm0 JOgCAACLbCRMh/NVh83R6WatZgPQZoPSAOL1WAPCiUVY6CkEAACAvfQBAAA8dFCNtCRsAQAAagRW /7WYBQAA/5Qk2AIAAIXAdS5obWUAAGhSZW5hi8xoSU5JAGhOSVQuaFdJTklU/7WYBQAAVlH/lCTs AgAAg8QUxoWcBQAA62H/lCS8AgAA/5QkaAIAACvtVVX/dCQs/3QkDP+UJIQCAAD/NCT/lCSUAgAA jUQkGFCD6AhQg+gIUP90JAz/lCSMAgAA/5QkZAIAAI2cJEABAAD/NCRT/5QkfAIAAOsLx4QkvAIA AAAAAABoXAdRADwK/zQk/5QkwAIAAP+UJHACAACBxEQCAAC/BAEAACvni9wr54vsV1VqAP+UJHgC AABXU/+UJFQCAACLyIvRi/uL9aw6B3QGNCA4B3UDR+LyjTwTsFyquEZMTUaruEFNTkiruNG6p7r3 0KsrwKuDvCSAAgAAAA+EaAEAAIXJD4S5AAAAagNoAAAAgFXoqAEAAIvwQA+EkAEAAGgAAAIAakD/ lCR4AgAAi/hqAOixAgAAge16+f//VWgAAAIAV1b/lCRoAgAAVv+UJCgCAABqAmgAAABAU+heAQAA i+hAdFWNtCQAAQAAagBWaCCDuO1XVf+UJGwCAABQUGr/av/oLQUAAA+30OglBQAAD7fAgOQPgMQe VFJQ/5QkfAIAAIvEUFBQVf+UJFQCAABYWFX/lCQoAgAAV/+UJDQCAABqAGhQSTMyaEFEVkFU/5Qk OAIAAFlZWWhRPE7OaF7Stp5o2bCuwovMg+wMi9RQUVJqA+h/AgAAXltfg8QMVFRoBgACAGoA6NoB AACB7f73//9VaAEAAIBWi/VqEFmBNiCDuO2t4vde/9ZahcB0FlBUaAYAAgBqAFVoAgAAgP/WhcBa dWlSjbQkCAEAAFboUwMAAIcMJFFqAWoAagBS/9P/14HxIIO47YXJdUKL7GoEagBV/5QkcAIAAIXA dTBoTlVMAIvMaG1lAABoUmVuYYvUaElOSQBoTklULmhXSU5JVFVRUv+UJIgCAACDxBiBxAgCAAD/ NCT/NCTCdAArwFBogAAAAP90JBRQagP/dCQc/3QkHP+UJEwCAADCDAADfCQEK3wkCAN8JAzDc+ze mVfiyoh8ztGOUuzLgkb35LpJ7dyCV/DkrlXxyohO9+6IUvDRgk7f6phOzNaORYO47Qjgkc125tuD QYO47WCH/ovui10Ai3UEM8mLxsHgBIvWweoFM8KL1jPRA8KL0YPiAwMElwPYgcG5eTeei9PB4gSL w8HoBTPQi8MzwQPQi8HB6AuD4AMDFIcD8oH5IDfvxnW3iV0AiXUEYcNgh/6L7otdAIt1BLkgN+/G i9PB4gSLw8HoBTPQi8MzwQPQi8HB6AuD4AMDFIcr8oHBR4bIYYvGweAEi9bB6gUzwovWM9EDwovR g+IDAwSXK9iFyXW7iV0AiXUEYcPoAAAAAF2Bxf72///DQetW89CFLt9rmvNIEg6q973wG3KAvaix UJTSRed0Rce/4CEZ5ZsiSo/xDNA2CYvMLHIzMkfPsppRi4ToHGuYCPg9hG/7sX0zDw56vkBpng2X JvfX7qX5do2hPCAR+S1lusPlQWOkYLA4bev3UoepJgqI5W08F0qVd3tDEzOPh2wAAAAAi1QkEIty PI10MniLNo10FhitUK1QrZNdWa2Wh/P32ivyK+or2iv/R61gK8KWagBZrITAdBQyyLAI0elzBoHx IIO47f7IdfLr54t0JCyLVCQkh9GtK8J0CeL5YUl1ycIQAE8PtwR7i0SFAANEJDCLdCQoSYkEjuvi TThakDgDZgIECXH/gbjCkQFAwhXGgAkOtEzNIRUB6xhQRQhMAVMCFM7gAw8BC5VsKRCmBKWeKAzI bwTvFCziApwH3FPpCMpHWz4DCOfSKAoB9UAudGV456sOkck8B+AgkgsHLnJkYXQqJFFaSkzSTg7A FQH/qu/gzP8l4BBwQXQ4VAEPMNUQG8pMDDUgLzdWMDsRgEdldE1vZHV3bB1IYW72DJbgSxxFUk7D TDMyLnEemwd3UwAAVlAryayEwHQDQev4WF7DYIt0JCSLfCQo/LKApOhoAAAAc/gzyehfAAAAcxoz wOhWAAAAcyBBsBDoTAAAABLAc/d1PKrr1uhKAAAASeIQ6EAAAADrKKzR6HRLE8nrHJFIweAIrOgq AAAAPQB9AABzCoD8BXMGg/h/dwJBQZWLxVaL9yvw86Re65MC0nUFihZGEtLDM8lB6O7///8Tyejn ////cvLDK3wkKIl8JBxhwggAYOgjAAAAi2QkCGRnjwYAAMcEJEwnAADoc/3///+VzBIAAGH5G8DC DAAr22T/M2SJI4tEJDBmi1gCU4tABFBqAuh0EAAAWFtyB6kIAAAAdbpkZ48GAABYYemXaP//VVFS uIl9EgG5bU7GQffhBTkwAAAl////B+gU/f//iYXPCwAAi0wkECvS9/GSWlldwgQAyAgBAGD8i30Q i9czwLkgAAAA86v/Aot1FI29+P7//7kgAAAA86WLRQzorAIAAIld/MdF+AAAAACH24tFDItV+A+j EHMIi1UQ6BkAAACNlfj+///oDgAAAP9F+P9N/HnaYcnCEACQjb14////M8CJB4lHBIlHCIlHDIlH EIlHFIlHGIlHHIlHIIlHJIlHKIlHLIlHMIlHNIlHOIlHPIlHQIlHRIlHSIlHTIlHUIlHVIlHWIlH XIlHYIlHZIlHaIlHbIlHcIlHdIlHeIlHfI2F+P7//+gCAgAAh9vRJ9FXBNFXCNFXDNFXENFXFNFX GNFXHNFXINFXJNFXKNFXLNFXMNFXNNFXONFXPNFXQNFXRNFXSNFXTNFXUNFXVNFXWNFXXNFXYNFX ZNFXaNFXbNFXcNFXdNFXeNFXfOisAQAAjYX4/v//D6MYD4PFAAAAiwKLSgQBBxFPBItCCItKDBFH CBFPDItCEItKFBFHEBFPFItCGItKHBFHGBFPHItCIItKJBFHIBFPJItCKItKLBFHKBFPLItCMItK NBFHMBFPNItCOItKPBFHOBFPPItCQItKRBFHQBFPRItCSItKTBFHSBFPTItCUItKVBFHUBFPVItC WItKXBFHWBFPXItCYItKZBFHYBFPZItCaItKbBFHaBFPbItCcItKdBFHcBFPdItCeItKfBFHeBFP fOjaAAAAh9tLD4nB/v//iweLXwSLTwiLdwyJAolaBIlKCIlyDItHEItfFItPGIt3HIlCEIlaFIlK GIlyHItHIItfJItPKIt3LIlCIIlaJIlKKIlyLItHMItfNItPOIt3PIlCMIlaNIlKOIlyPItHQItf RItPSIt3TIlCQIlaRIlKSIlyTItHUItfVItPWIt3XIlCUIlaVIlKWIlyXItHYItfZItPaIt3bIlC YIlaZIlKaIlybItHcItfdItPeIt3fIlCcIladIlKeIlyfMOH27v/AwAAD6MYcgNLdfjDh9uLdQiL R3yLTnw7wXLwD4c1AgAAi0d4i054O8Fy4A+HJQIAAItHdItOdDvBctAPhxUCAACLR3CLTnA7wXLA D4cFAgAAi0dsi05sO8FysA+H9QEAAItHaItOaDvBcqAPh+UBAACLR2SLTmQ7wXKQD4fVAQAAi0dg i05gO8EPgnz///8Ph8EBAACLR1yLTlw7wQ+CaP///w+HrQEAAItHWItOWDvBD4JU////D4eZAQAA i0dUi05UO8EPgkD///8Ph4UBAACLR1CLTlA7wQ+CLP///w+HcQEAAItHTItOTDvBD4IY////D4dd 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 LdFeGOE2elBr+NS/ioiLYE+8JtSHktJVJOanjQ4PZe3gSkGMWpRanxyTaJOTRaME23oAPi3h9Axs DprP79rIOTzBU+LQU/Hwxl3mapCAet2a6OBBcce/7wD+sA2se16kQwlZCIAGp88e/Pv5MCE3Bb0d dm7LEzCoiHTyVvqLe7nu6KKiHI29/oDWVjrHrEVrHYt4rInxFM+6wo8ZVp7EWbpPvHCrwN7iU2QX 7ENNxZb2SefMHgDTfn87yF//NIasbekUM6o6Oe8bEU03tTS4Mj9v9nEyY4o/4vKvtKr5t+O0Zpuz yrAoKYqrUzxdc1Rs3Tlv1YwsdzTFC8po63CbiJoIb7PbX4rlM6TVgW6MX1YJg2le+hTikcIEsTFu ZXdzAgAAAPANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAADhwAAAAAAAAMHAAAAAAAAAAAAAATHAAAABwAAAAAAAAAAAAAAAAAAAAAAAA AAAAADhwAAAAAAAAEQFHZXRNb2R1bGVIYW5kbGVBAABLRVJORUwzMi5kbGwAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA ----VE2BW5EVS5AF-- From clausen@conectiva.com.br Wed Dec 13 12:30:47 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146Fjq-00061h-00 for ; Wed, 13 Dec 2000 12:30:46 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id E404316B12; Wed, 13 Dec 2000 15:30:38 -0200 (BRST) Message-ID: <3A0ED5F1.1C927F98@conectiva.com.br> Date: Sun, 12 Nov 2000 15:40:01 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Christoph Hellwig Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability References: <20001213153207.A7707@caldera.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Christoph Hellwig wrote: > > On Sun, Nov 12, 2000 at 10:30:33AM -0200, Andrew Clausen wrote: > > "align" depends on the on-disk file system (not merely the file system > > type). > > For example, if you have an ext2 file system, that starts at sector 63 > > (512 > > byte unit), and the file system has a block size of 2k, then: > > > > new_start = old_start + X * block_size > > This _is_ a simple rule, isn't it? Yes. But the front-end doesn't know how to generate the rule. > > max_size might be a function of certain properties of the file system, > > like the block size. (it is rather difficult to grow the block size, > > and if the resizer can't handle it, then this is going to be a factor) > > However, there is no way a front-end can know this, unless it asks > > the resizer. > > Right. What I currently do in lvmadm is just ignoring that fact and let > the LV in it's new, big size and the fs in it's all small. This is > not the right error recovery, thus my current working tree version resizes > the LV back. I think it's better to be able to plan ahead. > > I disagree. ext2 doesn't follow simple rules, and I don't think it's > > braindead. FAT is braindead, and it also doesn't follow simple rules :p > > I'm not completly familar with the ext2 size rules, but I've mostly seen > simple rules like X (some not to difficult to retain variable) * blocksize. > > You are more familar with the limits, so please tell me the most difficult > to calculate value, that has a real value for resizing ext2. > > And of course ext2 is not braindead - also it has a few small designe flaws. yep. The rules are resizer dependent. I intend to change the resizer, so it duplicates all metadata it changes, so it can do resize the start (which isn't important for LVM, but is important for partition tables) So, in this case, it would be a function of the number of directory blocks... (Yes, it isn't exactly elegant, but it is a MUCH more defensive way of doing FS resizing. The idea of FS resizing is that you don't lose data ;-) > > > And I don't think we should overdesign the whole system just to > > > support completly braindead filesystems. > > > > I think we should! The "overdesigned system" (libparted) is clean > > enough > > for me. (Heck, people are always trying to make it uglier, but I don't > > let them ;-) > > I haven't said that libparted is overdesined - but I would lead to a over- > design if you make it capable of dealing with each messy fs'es strange > limitations. Actually, I think I've achieved an elegant way of dealing with the problems. For example, you ask the file system for a resize constraint with ped_file_system_get_resize_constraint() (this function is polymorphic - i.e. each resizer has it's own implementation) struct _PedConstraint { PedAlignment* start_align; PedAlignment* end_align; PedGeometry* start_range; PedGeometry* end_range; PedSector min_size; }; struct _PedGeometry { PedDisk* disk; PedSector start; PedSector length; PedSector end; }; struct _PedAlignment { PedSector offset; PedSector grain_size; }; So, the resizer can generate the constraint anyway it wants to... Obviously, the above (PedConstraint) can be represented in a hints file. However, the PedConstraint only applies to a particular file system (not all file systems of a particular file system type). The rules for generating the PedConstraint are non-trivial. > > > These filesystem would usually be foreign fses and only occur on one partition > > > type, so the hints can be added. (Yes, that's _horribly_ ugly, but less ugly > > > than messing up the whole design). > > > > I don't follow. How do the hints work? > > If you have e.g. the mac partition table format the chance that a hfs(+) fs > will be created on it is very big. If hfs had a strange limitation, the > mac partition table resizer would just deal with this strange limitation > (for example - just hypothetically it must have a size of 7 times the block > size) even if an ext2fs would be created on it. Just, the limitations usually must be computed from hard-to-access (and resizer-specific) stuff, like "2 * # directory blocks". > > Maybe this is true, but the block size doesn't tell you anything about > > the constraints. It's the *resizer* that has the constraints. Only the > > resizer knows what it can and can't do. My FAT resizer USED to be > > unable > > to shrink the cluster size, or move the start... but now it can. > > As we agreed on before moving the start of a fs should not be the fs > resizers job. In LVM, this is the case. For partitions, this is not the case. > Shrinking the cluster size usually (always) happens by > powers of two - so there shouldn't be a real problem either. Yes, but it changes lots of other things... (changes the amount of metadata, etc.) > And btw I don't know about any operating system that has problems with > filesystems that are smaller then the underlying partitions. DOS/Windows have problems. In some circumstances, DOS/Windows computes information about the file system (like, the size of the FATs, the size of the file system, etc.) from the size of the partition. This is VERY braindead, I know, but spent a month reverse engineering it, to figure out the algorithm. (It's a VERY brain-damaged algorithm! It took me a day to prove that it never calculated an invalid file system) > > (2) programs are easy to interface with users, but difficult to > > interface > > with other programs (i.e. difficult to be used by other programs). When > > I say "difficult", I mean for non-trivial stuff. > > I can't agree 100% with you on this. > Yes, the library interface is easier to use in programs in the first time, > but not very much (when the interface to the program is designed right), Program interfaces aren't good at giving back information. It's only good when program A calls program B, and A gives information to B, but B doesn't give information to A. > but the program interface is _much_ more flexible. When B needs to give A information (like constraints, etc.), then I disagree... > Just for loading > different libraries with the same interface you need to play tricks with > libdl, Nah, it's trivial! (BTW, "same interface" usually means calling init() and done(). init() would just register the filesystem/disklabel/whatever it implements. eg: ped_file_system_type_register()) > and loading libraries written in another language Depends on the language... > or just as shell > script are extremly diffcult if not impossible. Shell scripts: should just use the program front-end. Obviously, the program front-end needs to have a good interface. Parted is a reasonable interface to libparted, IMHO. > > (4) and (5) follow from (2) and (3): > > > > (4) libraries are easily wrapped by programs, to provide an interface to > > users > > True. (wether this is a good design principle or not is another question ...) Hehe. I think it is, because you get a nice library interface (for other programs) and a nice user interface (for users). > > Here's another interesting option: libparted is structured such that > > it would be very trivial to write resize.ext2 and resize.fat front > > ends. VERY TRIVIAL (such frontends would be about 30 lines of code). > > Good. And when (if) you start doing this frontends you can simply move > the code that is only used by one program into this program and make the > 'parted' program call them. This is not true. The simple frontends can't communicate the constraints. (well, you could do somthing like: resize.ext2 --print-constraints, but I don't like it!) > I don't have any problem with multiple > resizers sharing some common code - as long as they are separate programs, > and one can code another such program without having to use the common code. Well, at least for partitioning stuff, this is necessary. > > Maybe, we should keep libparted as-is for partition table stuff, > > but use the simpler front ends for LVM. > > Yes! - but they could of course share code for e.g. fs resizing by moving > them into programs use by both. > > Eg. we could have: > > libresize (common fs resizing functions) > libparted (partition handling stuff) > liblvm (lvm handling) > > parted (frontend for partion handling) > lvmadm (frontend for lvm handling) Do you feel like becoming more familiar with libparted? This kind of thing might be possible, but I think we need to discuss the "guts" a bit more ;-) I suggest you look in include/parted/*, and look at how the weird stuff (like ped_file_system_set_system()) is done. There is API documentation, but it's really only useful as reference. The frontend's code isn't particularly elegant (I'm working on it!), but it might help, also. > > However, is this sufficient for conversion between LVM types, > > or converting from file-systems-on-partitions to physical volumes > > containing a logical volume with the old file system? > > Yet another frontend just for this purpose Do one thing right ...) > that uses both middle and backends. OK. I think this is possible... > If you are interested in such a thing I would help out on the LVM part. Of course :-) > > In the case of FAT/Windows: if the file system type and the partition > > type don't match, M$ chokes. There are 12 different partition types > > (numbers) > > corresponding to different types of FAT partitions. These correspond to > > various permutations of: > > > > (1) FAT12/16/32 > > (2) the size of the file system (some brain-damage, WRT small file > > systems) > > (3) whether the partition is "hidden" > > (4) whether M$ should use LBA > > > > (1) and (2) should be determined by the file system code. You could > > hack around this, by creating different file systems for fat12, fat16 > > and fat32, but this seems dubious to me. > > I would really prefer that - fat{12,16,32} _are_ different filesystem, > even if they are very similar - you might easily put all the code in > one binary if that makes sense - and just make those behave differently > when called as resizefs.fat12 and resizefs.fat32 What happens if another feature gets introduced, that can be enabled on fat12/16/32, and affects the partition type? Basically, I'm paranoid of idiots doing stupid things (as has happened many times in the past...) > > (For example: progams > > might get confused when the resizer automagically converts from fat16 > > to fat32, or whatever) > > Right - but this is actually an argument for my standpoint ;) Why? No-one should care about a change from fat16 -> fat32. If you are doing a whole series of operations on a partition, should you have to check the file system type every second, to make sure you're calling the right function? (compulsive obsessive disorder! yay!) > > I think my Mac example was bogus... the partition types need to be > > right, > > but it is merely a function of the file system type. I'm sure other > > cases will pop-up... Sun disk labels for example, allow partitions > > and the disk label metadata to overlap, so you have to be careful > > about which file system you use, so as not to clobber the disk label. > > (ext2, and new linux-swap don't use the first 1k of the partition) > > > > That's really odd (besides the BSDish slice X = whole partition thing ...) > But a offset option for the hints file and the fs resizer could easi I *really* don't like the idea of a hints file. Hints file + program is a more complicated interface than a library. > > But, it's useful to know how much free space you need, before hand, > > so you can plan ahead. (Think: automatic partitioning) > > I'm not really sure wether it does matter if the user gets 1024 or > 950MB when he specifies 1GB. It does, if you're trying to plan some complicated manuevre... (which you often need to do... eg: swapping the order of two partitions, which might be necessary, say, to get your computer to boot with brain-damaged BIOSes, or to move free space together, or something!) > > > Why should the generic resize frontend want to know about that? > > > > Automatic partitioning, and "planning ahead". (Eg: figuring out how > > you want to rearrange your partitions, and then clicking "go!". It's > > nicer to know before hand, if it's going to work) > > And why does it help the automatic partitioning tool when it knows > wether the filesystem uses sparse supers? It doesn't. But this information is necessary for computing some of the constriants. Hence, it makes sense to have the computations performed by fs-specific code, not via hints. > It will get a few megabytes > more if the filesystem has sparse supers enabled - but that shouldn't > really matter (IMHO). It matters, IMHO. > Actually the fake partition table is a cludge that would not be > needed with separate programs... The fake partition is a cludge, because PedGeometry and PedDevice aren't polymorphic. I could change that, though... > On the other hand: why do I need a fake partition table to resize > the LV? - Once parted has LVM support this should not be needed and > I doubt it will do anything usefull before that point ;) ROFL Yeah, we can get rid of the fake partition table thing. But it was a very simple hack. (Also, it keeps the UI consistent, although it isn't exactly intuitive...) > > # parted /dev/hda1 (or the LV device) resize 1 0 [new-size] > > > > (where 1 = the fake "partition" number, and 0 = the new start) > > Isn't that the parted syntax for resizing the partion _and_ the fs? No. # parted /dev/hda resize MINOR NEW-START NEW-END > > libparted is easy to port to... (in fact, both the ext2 and fat > > resizers were originally separate programs) You could almost write > > a sed script to do it! > > But what is when the new resizer is not written in C? Still shouldn't be that hard... besides, this is rather unlikely. It's a pity this isn't a trivial job. Andrew Clausen From tom@suse.de Wed Dec 13 12:42:26 2000 Received: from cantor.suse.de ([194.112.123.193]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146Fv7-0006As-00 for ; Wed, 13 Dec 2000 12:42:25 -0500 Received: from Hermes.suse.de (Hermes.suse.de [194.112.123.136]) by Cantor.suse.de (Postfix) with ESMTP id 6FB381E32F for ; Wed, 13 Dec 2000 18:42:23 +0100 (MET) Received: from Wotan.suse.de (Wotan.suse.de [10.10.0.1]) by Hermes.suse.de (Postfix) with ESMTP id 331593E458 for ; Wed, 13 Dec 2000 18:42:23 +0100 (MET) Received: from suse.de (Simpson.suse.de [10.10.0.155]) by Wotan.suse.de (Postfix) with ESMTP id 57B731C8259 for ; Wed, 13 Dec 2000 18:42:22 +0100 (CET) Message-ID: <3A37B4FE.13B813C0@suse.de> Date: Wed, 13 Dec 2000 18:42:22 +0100 From: Thomas Roelz Organization: SuSE GmbH, Nuernberg X-Mailer: Mozilla 4.74 [de] (X11; U; Linux 2.2.16 i686) X-Accept-Language: de MIME-Version: 1.0 To: "bug-parted@gnu.org" Subject: Problems resizing Win2000 (II) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all again, there is a new cognition related to the problem mentioned in my earlier mail. First of all I forgot to say that the file system used was FAT16 (not ntfs) an that scandisk did not report any errors. Second I was told by somebody knowing that Win2000 has a "new" feature similar to hard links in Unix. Old Windoze versions only had kind of symbolic links (foo.lnk) that worked only when interpreted by the explorer. Reportedly Win2000 has hard links (sort of) in the file system (how could that be with FAT16?). May be that is the cause for all the trouble (still searching). Tom -- From clausen@conectiva.com.br Wed Dec 13 12:54:06 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146G6O-0006ir-00 for ; Wed, 13 Dec 2000 12:54:05 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 3252516B12; Wed, 13 Dec 2000 15:53:56 -0200 (BRST) Message-ID: <3A0EDB67.85A0D7D1@conectiva.com.br> Date: Sun, 12 Nov 2000 16:03:19 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Thomas Roelz Cc: "bug-parted@gnu.org" Subject: Re: Problems resizing Win2000 (II) References: <3A37B4FE.13B813C0@suse.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Thomas Roelz wrote: > > Hi all again, > > there is a new cognition related to the problem mentioned in > my earlier mail. > > First of all I forgot to say that the file system used was FAT16 > (not ntfs) an that scandisk did not report any errors. > > Second I was told by somebody knowing that Win2000 has a "new" > feature similar to hard links in Unix. Old Windoze versions only > had kind of symbolic links (foo.lnk) that worked only when > interpreted by the explorer. Reportedly Win2000 has hard links > (sort of) in the file system (how could that be with FAT16?). > May be that is the cause for all the trouble (still searching). I don't see how this is possible. FAT doesn't have inodes (or anything similar). The only way to "hard link" would be to cross-link. Parted will scream about this! I can't think of any other way it could do it (i.e. store all the metadata for hard links). OTOH, M$ seems to be creative at this kind of stuff. (remember long file names...? *shudder*) Andrew Clausen From hollis@penguinppc.org Wed Dec 13 13:49:18 2000 Received: from penguinppc.org ([206.160.138.11]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146Gxp-0008Mq-00 for ; Wed, 13 Dec 2000 13:49:18 -0500 Received: from localhost (hollis@localhost) by penguinppc.org (8.9.3/8.9.3) with ESMTP id NAA32665; Wed, 13 Dec 2000 13:53:57 -0500 Date: Wed, 13 Dec 2000 13:53:57 -0500 (EST) From: Hollis Blanchard To: Andrew Clausen cc: bug-parted@gnu.org Subject: Re: parted and partition types In-Reply-To: <3A0D1B89.305172E9@conectiva.com.br> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Sat, 11 Nov 2000, Andrew Clausen wrote: > Hollis Blanchard wrote: > > > > I understand the problem. The DOS partition number do have corresponding > > text labels though, so I think it would be possible to print that (along > > with Apple labels). > > It still doesn't help with changing the "labels" though. With Mac's, you > could set the type to any name, but with msdos/pc98/bsd, you have to set > it to a name corresponding to a number. These are still different > semantics. Parted does handle differing semantics already, for example with the 'boot' flag... but I think you're correct that arbitrary partition types are not especially useful. > > Well, here's my problem. I want to install ybin (basically a bootloader). > > ybin needs to be on an HFS partition (for the firmware to be able to boot), > > but the Mac OS automatically mounts Apple_HFS partitions (and can do bad > > things sometimes). So ybin likes to be on a partition of type > > Apple_Bootstrap - that way nobody except ybin will mess with it. > > RTFM ;-) > > set X boot on Nice! But I have an important clarification for the manual. The type 'Apple_Bootstrap' is artificial - Ethan Benson made it up. The Mac OS looks at the type, doesn't recognize it, and so skips it (doesn't mount it), which is what Ethan wanted. Setting a partition to type 'Apple_Bootstrap' alone does nothing for the firmware or affect booting. It's the Open Firmware 'boot-device' variable that specifies the boot partition and binary. With a vague boot-device (like the default, hd:,\\:tbxi), OF will search for something to boot, attempting to boot from the first non-driver partition on the disk (be it Apple_HFS, Apple_Bootstrap, or whatever). Also, yaboot does not require its own boot partition - it runs quite happily in any directory on an HFS or HFS+ partition, including out of the Mac OS System Folder. If you want OF to boot yaboot automatically (without fussing with the boot-device variable), *then* it needs to be on its own partition. Oh, and quik is far from popular. :) > > Oh, another problem: for PReP machines (old IBM PPC workstations), the > > firmware will only boot from a partition of type 0x41 (PPC Boot). That > > partition does NOT contain a filesystem, only a zImage dd'ed there. [snip] > I'd rather add more flags, than introduce partition type names, or > something. Ok, would you add a flag that sets a partition type (in a DOS partition map) to 0x41 so that the firmware will boot from it? -Hollis From clausen@conectiva.com.br Wed Dec 13 15:12:24 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146IGF-0003d4-00 for ; Wed, 13 Dec 2000 15:12:24 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 9A3A616B11; Wed, 13 Dec 2000 18:12:19 -0200 (BRST) Message-ID: <3A0EFBD5.5873BAE6@conectiva.com.br> Date: Sun, 12 Nov 2000 18:21:41 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Hollis Blanchard Cc: bug-parted@gnu.org Subject: Re: parted and partition types References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hollis Blanchard wrote: > > > Well, here's my problem. I want to install ybin (basically a bootloader). > > > ybin needs to be on an HFS partition (for the firmware to be able to boot), > > > but the Mac OS automatically mounts Apple_HFS partitions (and can do bad > > > things sometimes). So ybin likes to be on a partition of type > > > Apple_Bootstrap - that way nobody except ybin will mess with it. > > > > RTFM ;-) > > > > set X boot on > > Nice! > > But I have an important clarification for the manual. The type > 'Apple_Bootstrap' is artificial - Ethan Benson made it up. The Mac OS looks at > the type, doesn't recognize it, and so skips it (doesn't mount it), which is > what Ethan wanted. IIRC, this is incorrect... /me waits for debate from Ethan, hehe > Setting a partition to type 'Apple_Bootstrap' alone does nothing for the > firmware or affect booting. It's the Open Firmware 'boot-device' variable that > specifies the boot partition and binary. With a vague boot-device (like the > default, hd:,\\:tbxi), OF will search for something to boot, attempting to boot > from the first non-driver partition on the disk (be it Apple_HFS, > Apple_Bootstrap, or whatever). Doesn't MacOS avoid clobbering Apple_Boot*, or something? I can't remember. > Also, yaboot does not require its own boot partition - it runs quite happily > in any directory on an HFS or HFS+ partition, including out of the Mac OS > System Folder. If you want OF to boot yaboot automatically (without fussing > with the boot-device variable), *then* it needs to be on its own partition. Interesting. > Oh, and quik is far from popular. :) What do old-world ppl use? > Ok, would you add a flag that sets a partition type (in a DOS partition map) to > 0x41 so that the firmware will boot from it? Is this a hypothetical question? I don't know what you're talking about! Andrew Clausen From hollis@penguinppc.org Wed Dec 13 21:19:32 2000 Received: from penguinppc.org ([206.160.138.11]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146NzX-0002Fx-00 for ; Wed, 13 Dec 2000 21:19:31 -0500 Received: from localhost (hollis@localhost) by penguinppc.org (8.9.3/8.9.3) with ESMTP id VAA00351; Wed, 13 Dec 2000 21:24:39 -0500 Date: Wed, 13 Dec 2000 21:24:39 -0500 (EST) From: Hollis Blanchard To: Andrew Clausen cc: bug-parted@gnu.org Subject: Re: parted and partition types In-Reply-To: <3A0EFBD5.5873BAE6@conectiva.com.br> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Sun, 12 Nov 2000, Andrew Clausen wrote: > Hollis Blanchard wrote: > > > Setting a partition to type 'Apple_Bootstrap' alone does nothing for the > > firmware or affect booting. It's the Open Firmware 'boot-device' variable > > that specifies the boot partition and binary. With a vague boot-device > > (like the default, hd:,\\:tbxi), OF will search for something to boot, > > attempting to boot from the first non-driver partition on the disk (be it > > Apple_HFS, Apple_Bootstrap, or whatever). > > Doesn't MacOS avoid clobbering Apple_Boot*, or something? I can't > remember. It avoids clobbering things it doesn't understand. :) This includes Apple_Boot*. > > Oh, and quik is far from popular. :) > > What do old-world ppl use? BootX. Some slightly dated material is at http://penguinppc.org/usr/bootx/ . > > Ok, would you add a flag that sets a partition type (in a DOS partition > > map) to 0x41 so that the firmware will boot from it? > > Is this a hypothetical question? I don't know what you're talking > about! No, in my earlier email I explained how PReP machines boot. The firmware will *only* boot from a partition of type 0x41 (PPC Boot), onto which you dd a zImage. parted is unable to create such a partition, which is unfortunate... -Hollis From hollis@penguinppc.org Thu Dec 14 01:46:55 2000 Received: from penguinppc.org ([206.160.138.11]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146SAI-00047X-00 for ; Thu, 14 Dec 2000 01:46:55 -0500 Received: from localhost (hollis@localhost) by penguinppc.org (8.9.3/8.9.3) with ESMTP id BAA00483; Thu, 14 Dec 2000 01:52:01 -0500 Date: Thu, 14 Dec 2000 01:52:01 -0500 (EST) From: Hollis Blanchard To: Andrew Clausen cc: bug-parted@gnu.org Subject: Mac OS not booting Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1978937696-1137299203-976776721=:464" Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1978937696-1137299203-976776721=:464 Content-Type: TEXT/PLAIN; charset=US-ASCII I think I've run across a moderate-sized bug in parted-1.4.4. It seems that whenever I modify my partition table with parted, the Mac OS cannot understand the resulting map. Open Firmware can, so the result is the Mac OS starting to boot (as OF exec's the Mac OS ROM file), only to present a flashing question mark (can't find a System Folder) immediately after. When I boot into the Mac OS from a boot CD, the Mac OS partition is not mounted, and Drive Setup (Apple's disk-formatting utility) cannot mount it either (with the descriptive error "Unable to mount volumes"). Hard Disk Toolkit (a 3rd-party formatter from FWB) can, however. This already burned me and forced a complete Mac OS reinstall, so this time I had partition map dd backups ready. :) I originally thought this only occured when running 'set X boot on', but it also happened when adding a swap partition to Apple_Free space as well (leaving the existing partitions untouched). Here's something for comparison: PMAP-boot is a working partition map (the first 15 blocks) (I used pdisk to change the type of partition 6 from Apple_HFS to Apple_Bootstrap, and the Mac OS was fine with that). PMAP-partedboot is a non-working partition map, which resulted from me running (only) 'set 6 boot on'. hexdump and diff show quite a few changes in the first block (which I wouldn't expect to change much)... but what do I know. :) Anyways, I'm going to sleep; just thought you should hear about it... this is Mac OS 9.0.4 on a B&W G3. -Hollis ---1978937696-1137299203-976776721=:464 Content-Type: APPLICATION/octet-stream; name=PMAP-boot Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=PMAP-boot RVICAAGDWf8AAAAAAAAAAAACAAAAQAAVBwEAAAB2ACH4/wAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABQTQAAAAAACAAAAAEAAAA/QXBwbGUAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABBcHBsZV9wYXJ0aXRpb25fbWFwAAAAAAAA AAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBNAAAAAAAIAAAA QAAAADZNYWNpbnRvc2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFwcGxlX0Ry aXZlcl9BVEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAAd/AAAAAAAAKgAA AAAAAAAAAAAAAAAAAAAAAAAUjzY4MDAwAAAAAAAAAAAAAABwdERSAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAUE0AAAAAAAgAAAB2AAAASk1hY2ludG9zaAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAQXBwbGVfRHJpdmVyX0FUQQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAASgAAA38AAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAAAGe0NjgwMDAAAAAA AAAAAAAAAHdpa2kAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQTQAAAAAACAAAAMAAAAIATWFjaW50 b3NoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBcHBsZV9Ecml2ZXJfSU9LaXQA AAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBNAAAA AAAIAAACwAAAAgBQYXRjaCBQYXJ0aXRpb24AAAAAAAAAAAAAAAAAAAAAAEFw cGxlX1BhdGNoZXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAUE0AAAAAAAgAAATAAAEAAGJvb3QAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAQXBwbGVfQm9vdHN0cmFwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAEAAAAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQTQAAAAAACAABBMAAQAAA dW50aXRsZWQgMgAAAAAAAAAAAAAAAAAAAAAAAAAAAABBcHBsZV9IRlMAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAARAADfwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAERTVTEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AFBNAAAAAAAIAEEEwAFCVUBFeHRyYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAEFwcGxlX0ZyZWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCVUAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ---1978937696-1137299203-976776721=:464 Content-Type: APPLICATION/octet-stream; name=PMAP-partedboot Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=PMAP-partedboot RVICAAGDWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABQTQAAAAAACAAAAAEAAAA/QXBwbGUAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABBcHBsZV9wYXJ0aXRpb25fbWFwAAAAAAAA AAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBNAAAAAAAIAAAA QAAAADZNYWNpbnRvc2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFwcGxlX0Ry aXZlcl9BVEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAAd/AAAAAAAAKgAA AAAAAAAAAAAAAAAAAAAAAAAUjzY4MDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAUE0AAAAAAAgAAAB2AAAASk1hY2ludG9zaAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAQXBwbGVfRHJpdmVyX0FUQQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAASgAAA38AAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAAAGe0NjgwMDAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQTQAAAAAACAAAAMAAAAIATWFjaW50 b3NoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBcHBsZV9Ecml2ZXJfSU9LaXQA AAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBNAAAA AAAIAAACwAAAAgBQYXRjaCBQYXJ0aXRpb24AAAAAAAAAAAAAAAAAAAAAAEFw cGxlX1BhdGNoZXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAUE0AAAAAAAgAAATAAAEAAHVudGl0bGVkAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAQXBwbGVfQm9vdHN0cmFwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAEAAAAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQTQAAAAAACAABBMAAQAAA dW50aXRsZWQgMgAAAAAAAAAAAAAAAAAAAAAAAAAAAABBcHBsZV9IRlMAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAARAADfwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AFBNAAAAAAAIAEEEwAFCVUBFeHRyYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAEFwcGxlX0ZyZWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCVUAA AAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ---1978937696-1137299203-976776721=:464-- From alberto@isabeldeespana.org Thu Dec 14 03:00:47 2000 Received: from [213.96.176.246] (helo=p250.isabeldeespana.org) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146TJm-0006gz-00 for ; Thu, 14 Dec 2000 03:00:47 -0500 Received: (qmail 18920 invoked from network); 14 Dec 2000 08:27:03 -0000 Received: from unknown (HELO isabeldeespana.org) (papa@193.152.217.254) by 213.96.176.246 with SMTP; 14 Dec 2000 08:27:03 -0000 Message-ID: <3A387DD2.408149E4@isabeldeespana.org> Date: Thu, 14 Dec 2000 07:59:14 +0000 From: Alberto =?iso-8859-1?Q?Rodr=EDguez?= X-Mailer: Mozilla 4.61 [en] (X11; I; Linux 2.2.12-20 i586) X-Accept-Language: es-ES, en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Problems with my partition table.(Second Times) Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: First I'd like say you congratulations for this wonderfull program, I have read the documentation and I think it's great. Well, my problem is that the CHS of my slave disk (hdb) on the sistem (linux) don't match with CHS on the Bios. If I write fdisk /dev/hdb, in my system, I get this: = The number of cylinders for this disk is set to 1027. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/hdb: 255 heads, 63 sectors, 1027 cylinders Units =3D cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 377 3028221 83 Linux /dev/hdb2 378 384 56227+ 5 Extended /dev/hdb5 378 384 56196 82 Linux swap Acording you documentation, CHS on the system and on the Bios must be the same, so I put the follow line when I boot my system: LILO boot: linux hdb=3D16368,16,63 (The above CHS is the CHS I have seen when I check it in the Bios) So my system boot and all look like OK, but if I write now, fdisk /dev/hdb, I get the follow lines: The number of cylinders for this disk is set to 16368. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/hdb: 16 heads, 63 sectors, 16368 cylinders Units =3D cylinders of 1008 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 6009 3028221 83 Linux Partition 1 does not end on cylinder boundary: phys=3D(376, 254, 63) should be (376, 15, 63) /dev/hdb2 6009 6120 56227+ 5 Extended Partition 2 does not end on cylinder boundary: phys=3D(383, 254, 63) should be (383, 15, 63) /dev/hdb5 6009 6120 56196 82 Linux swap And this is the problem. = Is there any way to get that Bios's CHS and System's CHS match each other without getting the last message? I please you very much If you could help me with problem. Best Regards. Juan Alberto Rodr=EDguez. From hch@ns.caldera.de Thu Dec 14 03:44:23 2000 Received: from ns.caldera.de ([212.34.180.1]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146Tzy-0008Dn-00 for ; Thu, 14 Dec 2000 03:44:23 -0500 Received: (from hch@localhost) by ns.caldera.de (8.9.3/8.9.3) id JAA11559; Thu, 14 Dec 2000 09:44:14 +0100 Date: Thu, 14 Dec 2000 09:44:14 +0100 From: Christoph Hellwig To: Andrew Clausen Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability Message-ID: <20001214094414.A10076@caldera.de> References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <3A0ED5F1.1C927F98@conectiva.com.br>; from clausen@conectiva.com.br on Sun, Nov 12, 2000 at 03:40:01PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Sun, Nov 12, 2000 at 03:40:01PM -0200, Andrew Clausen wrote: > yep. The rules are resizer dependent. I intend to change the resizer, > so it duplicates all metadata it changes, so it can do resize the start > (which isn't important for LVM, but is important for partition tables) We also agreed on viewing old-style partition tables as legacy. If we implement the partition table support as part of a LVMS, it should be easy to do LVM-like resizing even on partition tables. We only have to take care of having the full resize done before any other OS tries to access it. > > > > These filesystem would usually be foreign fses and only occur on one partition > > > > type, so the hints can be added. (Yes, that's _horribly_ ugly, but less ugly > > > > than messing up the whole design). > > > > > > I don't follow. How do the hints work? > > > > If you have e.g. the mac partition table format the chance that a hfs(+) fs > > will be created on it is very big. If hfs had a strange limitation, the > > mac partition table resizer would just deal with this strange limitation > > (for example - just hypothetically it must have a size of 7 times the block > > size) even if an ext2fs would be created on it. > > Just, the limitations usually must be computed from hard-to-access (and > resizer-specific) stuff, like "2 * # directory blocks". > > > And btw I don't know about any operating system that has problems with > > filesystems that are smaller then the underlying partitions. > > DOS/Windows have problems. In some circumstances, DOS/Windows computes > information about the file system (like, the size of the FATs, the size > of > the file system, etc.) from the size of the partition. This is VERY > braindead, I know, but spent a month reverse engineering it, to figure > out the algorithm. (It's a VERY brain-damaged algorithm! It took > me a day to prove that it never calculated an invalid file system) Hmm. Last time I installed DOS I had no problems with that - but as you have stated above that might be a special case. (Braindead DOS ...) > Program interfaces aren't good at giving back information. It's only > good when program A calls program B, and A gives information to B, > but B doesn't give information to A. True. > > > but the program interface is _much_ more flexible. > > When B needs to give A information (like constraints, etc.), then I > disagree... Ok. That's the case I would use ascii files for - but the resizer case looks more difficult then others when everything you said is right. > > Good. And when (if) you start doing this frontends you can simply move > > the code that is only used by one program into this program and make the > > 'parted' program call them. > > This is not true. The simple frontends can't communicate the > constraints. > (well, you could do somthing like: resize.ext2 --print-constraints, but > I don't like it!) Also it is not what I call a really clean design I like this more then a doit all library. > Do you feel like becoming more familiar with libparted? This > kind of thing might be possible, but I think we need to discuss > the "guts" a bit more ;-) Sure - this was just a quick idea... > > I would really prefer that - fat{12,16,32} _are_ different filesystem, > > even if they are very similar - you might easily put all the code in > > one binary if that makes sense - and just make those behave differently > > when called as resizefs.fat12 and resizefs.fat32 > > What happens if another feature gets introduced, that can be enabled > on fat12/16/32, and affects the partition type? Actually I'm not really initersted in alls this partition type stuff. But when the different resizers are actually the same binary it should be trivial. > Basically, I'm paranoid > of idiots doing stupid things (as has happened many times in the > past...) Hehe. > > > (For example: progams > > > might get confused when the resizer automagically converts from fat16 > > > to fat32, or whatever) > > > > Right - but this is actually an argument for my standpoint ;) > > Why? No-one should care about a change from fat16 -> fat32. If you > are doing a whole series of operations on a partition, should you > have to check the file system type every second, to make sure you're > calling the right function? (compulsive obsessive disorder! yay!) Win < 95b and NT < 2000 cares. > > > But, it's useful to know how much free space you need, before hand, > > > so you can plan ahead. (Think: automatic partitioning) > > > > I'm not really sure wether it does matter if the user gets 1024 or > > 950MB when he specifies 1GB. > > It does, if you're trying to plan some complicated manuevre... > (which you often need to do... eg: swapping the order of two partitions, > which might be necessary, say, to get your computer to boot with > brain-damaged BIOSes, or to move free space together, or something!) I don't see the point. Why does it matter wether my 1024MB partition contains 1000MB or 950MB of actual data in this example? Christoph -- Of course it doesn't work. We've performed a software upgrade. From clausen@conectiva.com.br Thu Dec 14 06:15:48 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146WMV-0000eS-00 for ; Thu, 14 Dec 2000 06:15:48 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 3C40416B1E; Thu, 14 Dec 2000 09:15:37 -0200 (BRST) Message-ID: <3A0FCF90.46D5214E@conectiva.com.br> Date: Mon, 13 Nov 2000 09:25:04 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Alberto =?iso-8859-1?Q?Rodr=EDguez?= Cc: bug-parted@gnu.org Subject: Re: Problems with my partition table.(Second Times) References: <3A387DD2.408149E4@isabeldeespana.org> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi, I don't know what happened to your first try... sorry! Alberto Rodr=EDguez wrote: > = > First I'd like say you congratulations for this wonderfull prog= ram, I > have read the documentation and I think it's great. > = > Well, my problem is that the CHS of my slave disk (hdb) on the sistem > (linux) don't match with CHS on the Bios. > = > If I write fdisk /dev/hdb, in my system, I get this: > = > The number of cylinders for this disk is set to 1027. > There is nothing wrong with that, but this is larger than 1024, > and could in certain setups cause problems with: > 1) software that runs at boot time (e.g., LILO) > 2) booting and partitioning software from other OSs > (e.g., DOS FDISK, OS/2 FDISK) > = > Command (m for help): p > = > Disk /dev/hdb: 255 heads, 63 sectors, 1027 cylinders > Units =3D cylinders of 16065 * 512 bytes > = > Device Boot Start End Blocks Id System > /dev/hdb1 1 377 3028221 83 Linux > /dev/hdb2 378 384 56227+ 5 Extended > /dev/hdb5 378 384 56196 82 Linux swap > = > Acording you documentation, CHS on the system and on the Bios must be > the same, so I put the follow line when I boot my system: > = > LILO boot: linux hdb=3D16368,16,63 > = > (The above CHS is the CHS I have seen when I check it in the Bios) > = > So my system boot and all look like OK, but if I write now, fdisk > /dev/hdb, I get the follow lines: > = > The number of cylinders for this disk is set to 16368. > There is nothing wrong with that, but this is larger than 1024, > and could in certain setups cause problems with: > 1) software that runs at boot time (e.g., LILO) > 2) booting and partitioning software from other OSs > (e.g., DOS FDISK, OS/2 FDISK) > = > Command (m for help): p > = > Disk /dev/hdb: 16 heads, 63 sectors, 16368 cylinders > Units =3D cylinders of 1008 * 512 bytes > = > Device Boot Start End Blocks Id System > /dev/hdb1 1 6009 3028221 83 Linux > Partition 1 does not end on cylinder boundary: > phys=3D(376, 254, 63) should be (376, 15, 63) > /dev/hdb2 6009 6120 56227+ 5 Extended > Partition 2 does not end on cylinder boundary: > phys=3D(383, 254, 63) should be (383, 15, 63) > /dev/hdb5 6009 6120 56196 82 Linux swap > = > And this is the problem. > = > Is there any way to get that Bios's CHS and System's CHS match each > other without getting the last message? Option 1: change the BIOS's CHS to match Linux's. Option 2: ignore the problem, and use LBA mode for booting, etc. The problem was caused by using fdisk (i.e. linux) to do partitioning. It had Linux's idea of the partition table (as parted would have had), which was different to the BIOSes. However, now that you have your partition table inconsistent with the BIOS, there is little you can do about it. If everything works, then I wouldn't bother changing anything! (LILO/GRUB/whatever is using LBA?) Andrew Clausen From clausen@conectiva.com.br Thu Dec 14 07:08:08 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146XB9-00033p-00 for ; Thu, 14 Dec 2000 07:08:07 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id BC77C16B16; Thu, 14 Dec 2000 10:08:02 -0200 (BRST) Message-ID: <3A0FDBDB.DAB3D843@conectiva.com.br> Date: Mon, 13 Nov 2000 10:17:31 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Christoph Hellwig Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Christoph Hellwig wrote: > > On Sun, Nov 12, 2000 at 03:40:01PM -0200, Andrew Clausen wrote: > > yep. The rules are resizer dependent. I intend to change the resizer, > > so it duplicates all metadata it changes, so it can do resize the start > > (which isn't important for LVM, but is important for partition tables) > > We also agreed on viewing old-style partition tables as legacy. Yes. > If we implement the partition table support as part of a LVMS, > it should be easy to do LVM-like resizing even on partition tables. What is "LVM-like resizing"? Do you mean resize.ext2, etc? (If this is the case, then I disagree, obviously, hehe) > We only have to take care of having the full resize done before any > other OS tries to access it. Parted does resizing off-line (it's userspace). Although, we intend to interface the online resizers too... > Hmm. Last time I installed DOS I had no problems with that - > but as you have stated above that might be a special case. > (Braindead DOS ...) I still haven't figured out what the special conditions are, but when things go wrong, things go HORRBILY wrong. (you get a different root directory cluster / sectors, inconsistent FATs, scandisk completely obliterates your file system...) > > > but the program interface is _much_ more flexible. > > > > When B needs to give A information (like constraints, etc.), then I > > disagree... > > Ok. That's the case I would use ascii files for - but the resizer > case looks more difficult then others when everything you said is > right. Exactly. > > > Good. And when (if) you start doing this frontends you can simply move > > > the code that is only used by one program into this program and make the > > > 'parted' program call them. > > > > This is not true. The simple frontends can't communicate the > > constraints. > > (well, you could do somthing like: resize.ext2 --print-constraints, but > > I don't like it!) > > Also it is not what I call a really clean design I like this more then > a doit all library. s/Also/Although/ ? Well, I certainly think it's good to have both a program AND a library interface. (I want to have the do-it-all library, even if it delegates things out by exec()ing other programs) Your (only?) arguments in favour of having the do-it-all library calling other programs (as opposed to the programs calling the do-it-all library) is language compatibility issues and "forced" code sharing? > > Do you feel like becoming more familiar with libparted? This > > kind of thing might be possible, but I think we need to discuss > > the "guts" a bit more ;-) > > Sure - this was just a quick idea... Tell me when you're ready ;-) > > > I would really prefer that - fat{12,16,32} _are_ different filesystem, > > > even if they are very similar - you might easily put all the code in > > > one binary if that makes sense - and just make those behave differently > > > when called as resizefs.fat12 and resizefs.fat32 > > > > What happens if another feature gets introduced, that can be enabled > > on fat12/16/32, and affects the partition type? > > Actually I'm not really initersted in alls this partition type stuff. I can imagine! > But when the different resizers are actually the same binary it > should be trivial. You mean, when the resizers + the partition table code... Anyway, it isn't trivial, because the code needs to maintainable and modular, and needs to have a consistent interface (to be useful). > > Why? No-one should care about a change from fat16 -> fat32. If you > > are doing a whole series of operations on a partition, should you > > have to check the file system type every second, to make sure you're > > calling the right function? (compulsive obsessive disorder! yay!) > > Win < 95b and NT < 2000 cares. Yeah, you should warn the user about it... but Linux tools shouldn't care. BTW, this is another argument for a library. How does an all-in-one front-end (eg: a GUI installer, an automatic partitioner, or whatever) communicate error messages? What if the user has multiple ways of resolving an error (eg: retry, ok, cancel, etc.) One solution would be to read/write to stdin/stdout, etc., but then you need more conventions on the protocol (i.e. user interface for the low level tool). This get's tricky, with i18n issues. The programs-that-are-a-front-end-to-a-big-library approach doesn't have this problem. > > > I'm not really sure wether it does matter if the user gets 1024 or > > > 950MB when he specifies 1GB. > > > > It does, if you're trying to plan some complicated manuevre... > > (which you often need to do... eg: swapping the order of two partitions, > > which might be necessary, say, to get your computer to boot with > > brain-damaged BIOSes, or to move free space together, or something!) > > I don't see the point. Sometimes, the last 10Mb makes a difference, if you're low on disk space. (or, a particular free-space region is small - not necessarily the whole disk) > Why does it matter wether my 1024MB partition contains 1000MB or 950MB > of actual data in this example? Yes. Andrew Clausen From hch@ns.caldera.de Thu Dec 14 10:25:26 2000 Received: from ns.caldera.de ([212.34.180.1]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146aG5-0001Bp-00 for ; Thu, 14 Dec 2000 10:25:25 -0500 Received: (from hch@localhost) by ns.caldera.de (8.9.3/8.9.3) id QAA20995; Thu, 14 Dec 2000 16:25:03 +0100 Date: Thu, 14 Dec 2000 16:25:03 +0100 From: Christoph Hellwig To: Andrew Clausen Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability Message-ID: <20001214162503.B19524@caldera.de> References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> <3A0FDBDB.DAB3D843@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <3A0FDBDB.DAB3D843@conectiva.com.br>; from clausen@conectiva.com.br on Mon, Nov 13, 2000 at 10:17:31AM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Mon, Nov 13, 2000 at 10:17:31AM -0200, Andrew Clausen wrote: > > If we implement the partition table support as part of a LVMS, > > it should be easy to do LVM-like resizing even on partition tables. > > What is "LVM-like resizing"? Do you mean resize.ext2, etc? (If this > is the case, then I disagree, obviously, hehe) No. a) I actually meant lv (or partition) moving ;) b) that means it is done block for block using block remapping. > > We only have to take care of having the full resize done before any > > other OS tries to access it. > > Parted does resizing off-line (it's userspace). Right, I forgot that while discussing. On the other hand I understand your inital argument no more. > Although, we intend > to interface the online resizers too... That would of course be nice - but before that Andreas must get his patches in... > > Also it is not what I call a really clean design I like this more then > > a doit all library. > > s/Also/Although/ ? Yes, sorry. > > Well, I certainly think it's good to have both a program AND a library > interface. (I want to have the do-it-all library, even if it delegates > things out by exec()ing other programs) That's great - I don't have an objection against an do-it-all library as long as I can use the nice functionality in the exec()ed programs without it! > > Your (only?) arguments in favour of having the do-it-all library calling > other programs (as opposed to the programs calling the do-it-all > library) > is language compatibility issues and "forced" code sharing? Those are two, but here are some additional arguments: - this way you can easily write different frontends without a need to use the library (this again includes the language argument). - with separate programs I can esily use (and install) e.g. resizefs.ext2 separate without the bloat of a full library. - it's more UNIXish (and I _really_ like the UNIX way of doing things) > > But when the different resizers are actually the same binary it > > should be trivial. > > You mean, when the resizers + the partition table code... > > Anyway, it isn't trivial, because the code needs to maintainable and > modular, > and needs to have a consistent interface (to be useful). We were only talking about the fat family of filesystems, weren't we? > > > > Why? No-one should care about a change from fat16 -> fat32. If you > > > are doing a whole series of operations on a partition, should you > > > have to check the file system type every second, to make sure you're > > > calling the right function? (compulsive obsessive disorder! yay!) > > > > Win < 95b and NT < 2000 cares. > > Yeah, you should warn the user about it... but Linux tools shouldn't > care. BTW, this is another argument for a library. How does an > all-in-one front-end (eg: a GUI installer, an automatic partitioner, > or whatever) communicate error messages? What if the user has > multiple ways of resolving an error (eg: retry, ok, cancel, etc.) Hmm, I haven't thought about that - just because it is very unusual for unix tools to ask such questions, they just fail if an error occours. > > One solution would be to read/write to stdin/stdout, etc., but then you > need more conventions on the protocol (i.e. user interface for the > low level tool). This get's tricky, with i18n issues. Right - but if you use tools from other programs it makes sense to set the locale to C for the invoked program anyway if you want to at least under- stand it's messages (just imagine it would be Japanese or so ...) > > The programs-that-are-a-front-end-to-a-big-library approach doesn't > have this problem. Right. Christoph -- Of course it doesn't work. We've performed a software upgrade. From clausen@conectiva.com.br Thu Dec 14 13:06:43 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146cmA-0008UW-00 for ; Thu, 14 Dec 2000 13:06:43 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id E36BE16B22; Thu, 14 Dec 2000 16:06:25 -0200 (BRST) Message-ID: <3A102FDB.89C29B4F@conectiva.com.br> Date: Mon, 13 Nov 2000 16:15:55 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Christoph Hellwig Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> <3A0FDBDB.DAB3D843@conectiva.com.br> <20001214162503.B19524@caldera.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Christoph Hellwig wrote: > > > We only have to take care of having the full resize done before any > > > other OS tries to access it. > > > > Parted does resizing off-line (it's userspace). > > Right, I forgot that while discussing. On the other hand I understand > your inital argument no more. The idea is: the CONSTRAINTS are simple, but the calculation of constraints isn't. > > Although, we intend > > to interface the online resizers too... > > That would of course be nice - but before that Andreas must get his > patches in... He hasn't already? (I thought he had... I don't really follow the kernel much, though...) > > Your (only?) arguments in favour of having the do-it-all library calling > > other programs (as opposed to the programs calling the do-it-all > > library) > > is language compatibility issues and "forced" code sharing? > > Those are two, but here are some additional arguments: > - this way you can easily write different frontends without a need > to use the library (this again includes the language argument). > - with separate programs I can esily use (and install) e.g. > resizefs.ext2 separate without the bloat of a full library. The full library isn't bloated, because you only need the modules you want. There may be slightly more bloat for the "core" library, but there's likely to be more code-reuse, so if there are many modules (that you want simultaneously), then there is less bloat in total. > - it's more UNIXish (and I _really_ like the UNIX way of doing things) I'm not convinced here. Say, compare this to something like the standard ftp client. Should it have separate binaries for "ls", "get", "mget", etc? Why doesn't it? (because ftp runs on a connection?) Could similar arguments be made about this stuff? (the programs aren't really independent - it doesn't make sense (in MOST cases) to run these programs on their own?) > > > But when the different resizers are actually the same binary it > > > should be trivial. > > > > You mean, when the resizers + the partition table code... > > > > Anyway, it isn't trivial, because the code needs to maintainable and > > modular, > > and needs to have a consistent interface (to be useful). > > We were only talking about the fat family of filesystems, weren't we? Yes, but file systems and partition table code are in completely separate modules. Actually, the way libparted deals with this is quite ugly, IMHO. File systems need to know about all partition tables (rather than the other way around, which is The Right Thing) We need to do it like this, just because of the fat16/32 issue. > > > > Why? No-one should care about a change from fat16 -> fat32. If you > > > > are doing a whole series of operations on a partition, should you > > > > have to check the file system type every second, to make sure you're > > > > calling the right function? (compulsive obsessive disorder! yay!) > > > > > > Win < 95b and NT < 2000 cares. > > > > Yeah, you should warn the user about it... but Linux tools shouldn't > > care. BTW, this is another argument for a library. How does an > > all-in-one front-end (eg: a GUI installer, an automatic partitioner, > > or whatever) communicate error messages? What if the user has > > multiple ways of resolving an error (eg: retry, ok, cancel, etc.) > > Hmm, I haven't thought about that - just because it is very unusual > for unix tools to ask such questions, they just fail if an error occours. Which is often very frustrating. It's often very difficult to discover what the error was, and often, you can do intelligent recovery... Eg: Unix handles running out of HD space VERY badly. X usually crashes, and goes into a cycle of crash, attempt restart, crash... Users tend to have to LOOK for the problem (i.e. the cause), rather than have it presented to them. (This is true for basically all software, not just Unix. At least with Unix, it's usually possible to find the problem...!) Enough ranting. Just, I don't like Unix error handling. > > One solution would be to read/write to stdin/stdout, etc., but then you > > need more conventions on the protocol (i.e. user interface for the > > low level tool). This get's tricky, with i18n issues. > > Right - but if you use tools from other programs it makes sense to set the > locale to C for the invoked program anyway if you want to at least under- > stand it's messages (just imagine it would be Japanese or so ...) But, how do you present the error message to the user? (With the appropriate options, etc.) You want to do this in the native language, right? Andrew Clausen From hch@ns.caldera.de Thu Dec 14 13:28:55 2000 Received: from ns.caldera.de ([212.34.180.1]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146d7f-000162-00 for ; Thu, 14 Dec 2000 13:28:55 -0500 Received: (from hch@localhost) by ns.caldera.de (8.9.3/8.9.3) id TAA03636; Thu, 14 Dec 2000 19:28:39 +0100 Date: Thu, 14 Dec 2000 19:28:39 +0100 From: Christoph Hellwig To: Andrew Clausen Cc: Christoph Hellwig , evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability Message-ID: <20001214192839.A2782@caldera.de> References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> <3A0FDBDB.DAB3D843@conectiva.com.br> <20001214162503.B19524@caldera.de> <3A102FDB.89C29B4F@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <3A102FDB.89C29B4F@conectiva.com.br>; from clausen@conectiva.com.br on Mon, Nov 13, 2000 at 04:15:55PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Mon, Nov 13, 2000 at 04:15:55PM -0200, Andrew Clausen wrote: > The full library isn't bloated, because you only need the modules > you want. There may be slightly more bloat for the "core" library, > but there's likely to be more code-reuse, so if there are many > modules (that you want simultaneously), then there is less bloat > in total. Ok, now I need only a simple 'program' interface to each module and I would be happy :) > > > - it's more UNIXish (and I _really_ like the UNIX way of doing things) > > I'm not convinced here. Say, compare this to something like the > standard ftp client. Should it have separate binaries for "ls", > "get", "mget", etc? Why doesn't it? (because ftp runs on a > connection?) Because they are not separate things. The ftp 'commands' are mostly send over a tcp connection and executed by the server. On the other hand lots of ftp daemons use a separate 'ls' binary... > Could similar arguments be made about this stuff? (the programs > aren't really independent - it doesn't make sense (in MOST cases) to > run these programs on their own?) No. I often run e.g. lvextend on my own. And usually you can resize filesystem on they're own as long as the block device container is large enough. (Ok, as spotted before DOS might have problems with that, but DOS is not considered to be installed on a sane computer ;)). > Yes, but file systems and partition table code are in completely > separate modules. Actually, the way libparted deals with this is > quite ugly, IMHO. File systems need to know about all partition > tables (rather than the other way around, which is The Right Thing) > We need to do it like this, just because of the fat16/32 issue. Ugg. That's realy ugly. I don't know sane filesystems (e.g. ext2) and sane partitioning schemes (e.g. LVM) should know of each other... And I'm interested in LVM and not all that DOS legacy crap. You want it in parted - but I don't want to see such things in a LVM enviroment. > Which is often very frustrating. It's often very difficult to discover > what the error was, and often, you can do intelligent recovery... > > Eg: Unix handles running out of HD space VERY badly. X usually crashes, > and goes into a cycle of crash, attempt restart, crash... > > Users tend to have to LOOK for the problem (i.e. the cause), rather than > have it presented to them. (This is true for basically all software, > not just Unix. At least with Unix, it's usually possible to find the > problem...!) I must say that I like that behaviour. The error might just not be an error, or I intended to see that error - now I will get a simple notice on stderr and it is done. Sure I would really like to see foorecover tools for everything, too - but Windowsish dialogs are horryble to me. > But, how do you present the error message to the user? (With the > appropriate options, etc.) You want to do this in the native language, > right? Actually I wouldn't - but lots of others would... Christoph -- Of course it doesn't work. We've performed a software upgrade. From clausen@conectiva.com.br Thu Dec 14 14:05:48 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146dhL-0001gg-00 for ; Thu, 14 Dec 2000 14:05:47 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 70EA816B19; Thu, 14 Dec 2000 17:05:32 -0200 (BRST) Message-ID: <3A103DB8.6017EDD4@conectiva.com.br> Date: Mon, 13 Nov 2000 17:15:04 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Christoph Hellwig Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> <3A0FDBDB.DAB3D843@conectiva.com.br> <20001214162503.B19524@caldera.de> <3A102FDB.89C29B4F@conectiva.com.br> <20001214192839.A2782@caldera.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Christoph Hellwig wrote: > > On Mon, Nov 13, 2000 at 04:15:55PM -0200, Andrew Clausen wrote: > > The full library isn't bloated, because you only need the modules > > you want. There may be slightly more bloat for the "core" library, > > but there's likely to be more code-reuse, so if there are many > > modules (that you want simultaneously), then there is less bloat > > in total. > > Ok, now I need only a simple 'program' interface to each module and > I would be happy :) :-) (But, there are still your other complaints, hehe) > > > - it's more UNIXish (and I _really_ like the UNIX way of doing things) > > > > I'm not convinced here. Say, compare this to something like the > > standard ftp client. Should it have separate binaries for "ls", > > "get", "mget", etc? Why doesn't it? (because ftp runs on a > > connection?) > > Because they are not separate things. The ftp 'commands' are mostly > send over a tcp connection and executed by the server. Exactly. > > Could similar arguments be made about this stuff? (the programs > > aren't really independent - it doesn't make sense (in MOST cases) to > > run these programs on their own?) > > No. I often run e.g. lvextend on my own. Why, BTW? > And usually you can resize > filesystem on they're own as long as the block device container is large > enough. (Ok, as spotted before DOS might have problems with that, but > DOS is not considered to be installed on a sane computer ;)). DOS/Windows. But, your comment still stands (but, I'm interested in insane computers ;-) Anyway, my argument is a bit obtuse. I won't bother persuing it. hehe > > Yes, but file systems and partition table code are in completely > > separate modules. Actually, the way libparted deals with this is > > quite ugly, IMHO. File systems need to know about all partition > > tables (rather than the other way around, which is The Right Thing) > > We need to do it like this, just because of the fat16/32 issue. > > Ugg. That's realy ugly. It's VERY contained ugliness, but yes, I agree. > I don't know sane filesystems (e.g. ext2) and sane partitioning schemes > (e.g. LVM) should know of each other... > And I'm interested in LVM and not all that DOS legacy crap. > You want it in parted - but I don't want to see such things in a LVM > enviroment. Obviously, the file system code is going to be shared between partition and LVM environments, so the code is going to be there, but it doesn't need to appear in the LVM interface. > > Which is often very frustrating. It's often very difficult to discover > > what the error was, and often, you can do intelligent recovery... > > > > Eg: Unix handles running out of HD space VERY badly. X usually crashes, > > and goes into a cycle of crash, attempt restart, crash... > > > > Users tend to have to LOOK for the problem (i.e. the cause), rather than > > have it presented to them. (This is true for basically all software, > > not just Unix. At least with Unix, it's usually possible to find the > > problem...!) > > I must say that I like that behaviour. My grandmother doesn't, hehe. > The error might just not be an error, > or I intended to see that error - In which case, it should be possible to specify this (convieniently). This would be a big debate, and I don't think this is the appropriate place, hehe... Maybe I should ask for flame-wars@gnu.org? :p > now I will get a simple notice on stderr > and it is done. Sure I would really like to see foorecover tools for > everything, too - but Windowsish dialogs > are horryble to me. I guess it depends on the context /me runs > > But, how do you present the error message to the user? (With the > > appropriate options, etc.) You want to do this in the native language, > > right? > > Actually I wouldn't - but lots of others would... So, I win? :p I guess not, because you'd rather print out the [translated] error messages to stderr, and be done with it. Not sure how this works for GUIs. (log window?) Andrew Clausen From hch@ns.caldera.de Thu Dec 14 14:13:41 2000 Received: from ns.caldera.de ([212.34.180.1]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146doz-00028i-00 for ; Thu, 14 Dec 2000 14:13:41 -0500 Received: (from hch@localhost) by ns.caldera.de (8.9.3/8.9.3) id UAA07778; Thu, 14 Dec 2000 20:13:24 +0100 Date: Thu, 14 Dec 2000 20:13:24 +0100 From: Christoph Hellwig To: Andrew Clausen Cc: Christoph Hellwig , evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability Message-ID: <20001214201324.A7317@caldera.de> References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> <3A0FDBDB.DAB3D843@conectiva.com.br> <20001214162503.B19524@caldera.de> <3A102FDB.89C29B4F@conectiva.com.br> <20001214192839.A2782@calder <3A103DB8.6017EDD4@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <3A103DB8.6017EDD4@conectiva.com.br>; from clausen@conectiva.com.br on Mon, Nov 13, 2000 at 05:15:04PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Mon, Nov 13, 2000 at 05:15:04PM -0200, Andrew Clausen wrote: > > > Could similar arguments be made about this stuff? (the programs > > > aren't really independent - it doesn't make sense (in MOST cases) to > > > run these programs on their own?) > > > > No. I often run e.g. lvextend on my own. > > Why, BTW? Usually because it is a raw device. Sometimes because I create a new filesystem on it and need an other size. > > I don't know sane filesystems (e.g. ext2) and sane partitioning schemes > > (e.g. LVM) should know of each other... > > And I'm interested in LVM and not all that DOS legacy crap. > > You want it in parted - but I don't want to see such things in a LVM > > enviroment. > > Obviously, the file system code is going to be shared between partition > and LVM environments, so the code is going to be there, but it doesn't > need to appear in the LVM interface. True. What about ext2resize.c --> core ext2fs resizing code ext2resize_parted.c --> glue for libparted (incl partition stuff) ext2resize_stand.c --> standalone glue ? > In which case, it should be possible to specify this (convieniently). > This would be a big debate, and I don't think this is the appropriate > place, hehe... > > Maybe I should ask for flame-wars@gnu.org? :p Why? I really like --i-really-want-to-ignore-that-stupid-bloody-error ;\ > > Actually I wouldn't - but lots of others would... > > So, I win? :p > > I guess not, because you'd rather print out the [translated] error > messages > to stderr, and be done with it. Not sure how this works for GUIs. (log > window?) It doesn't even have to be a log window, just grep all the [translated] messages and put them into the log widget (which can have it's own window, but doesn't have to). Christoph -- Of course it doesn't work. We've performed a software upgrade. From clausen@conectiva.com.br Thu Dec 14 14:40:24 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146eEq-0003f0-00 for ; Thu, 14 Dec 2000 14:40:24 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 1ED8E16B14; Thu, 14 Dec 2000 17:40:19 -0200 (BRST) Message-ID: <3A1044A8.ACF9FF56@conectiva.com.br> Date: Mon, 13 Nov 2000 17:44:40 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Christoph Hellwig Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> <3A0FDBDB.DAB3D843@conectiva.com.br> <20001214162503.B19524@caldera.de> <3A102FDB.89C29B4F@conectiva.com.br> <20001214192839.A2782@calder <3A103DB8.6017EDD4@conectiva.com.br> <20001214201324.A7317@caldera.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Christoph Hellwig wrote: > > On Mon, Nov 13, 2000 at 05:15:04PM -0200, Andrew Clausen wrote: > > > > Could similar arguments be made about this stuff? (the programs > > > > aren't really independent - it doesn't make sense (in MOST cases) to > > > > run these programs on their own?) > > > > > > No. I often run e.g. lvextend on my own. > > > > Why, BTW? > > Usually because it is a raw device. Sometimes because I create a > new filesystem on it and need an other size. Interesting. I guess this is more common with LVs than partitions, because LVs can have a more complicated (i.e. more painful to reproduce) layout. > > Obviously, the file system code is going to be shared between partition > > and LVM environments, so the code is going to be there, but it doesn't > > need to appear in the LVM interface. > > True. What about > > ext2resize.c --> core ext2fs resizing code > ext2resize_parted.c --> glue for libparted (incl partition stuff) > ext2resize_stand.c --> standalone glue ? The stand-alone stuff shouldn't need a file-system-specific front end, if it conforms to a common interface, right? > > I guess not, because you'd rather print out the [translated] error > > messages > > to stderr, and be done with it. Not sure how this works for GUIs. (log > > window?) > > It doesn't even have to be a log window, just grep all the [translated] > messages and put them into the log widget (which can have it's own window, > but doesn't have to). How do you know what to grep for? What if you have incomplete translations (so parts of it come out in another language) (BTW: I really meant log widget instead of log window...) Andrew Clausen From hch@ns.caldera.de Thu Dec 14 15:00:18 2000 Received: from ns.caldera.de ([212.34.180.1]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 146eY5-0004Pp-00 for ; Thu, 14 Dec 2000 15:00:17 -0500 Received: (from hch@localhost) by ns.caldera.de (8.9.3/8.9.3) id UAA10925; Thu, 14 Dec 2000 20:59:55 +0100 Date: Thu, 14 Dec 2000 20:59:55 +0100 From: Christoph Hellwig To: Andrew Clausen Cc: Christoph Hellwig , evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability Message-ID: <20001214205955.A9336@caldera.de> References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> <3A0FDBDB.DAB3D843@conectiva.com.br> <20001214162503.B19524@caldera.de> <3A102FDB.89C29B4F@conectiva.com.br> <20001214192839.A2782@calder <3A1044A8.ACF9FF56@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <3A1044A8.ACF9FF56@conectiva.com.br>; from clausen@conectiva.com.br on Mon, Nov 13, 2000 at 05:44:40PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Mon, Nov 13, 2000 at 05:44:40PM -0200, Andrew Clausen wrote: > > > Obviously, the file system code is going to be shared between partition > > > and LVM environments, so the code is going to be there, but it doesn't > > > need to appear in the LVM interface. > > > > True. What about > > > > ext2resize.c --> core ext2fs resizing code > > ext2resize_parted.c --> glue for libparted (incl partition stuff) > > ext2resize_stand.c --> standalone glue ? > > The stand-alone stuff shouldn't need a file-system-specific front end, > if it conforms to a common interface, right? Right - you could also add the main() function directly to the main source file, sourrounded by an ifdef. > How do you know what to grep for? What if you have incomplete > translations > (so parts of it come out in another language) A simple commandline switch, that prefixes the translated messages with [translated] and additionally gives out the untranslated one. (Ok - it's going to be ugly, but it should be decided case by case). Christoph -- Of course it doesn't work. We've performed a software upgrade. From clausen@conectiva.com.br Fri Dec 15 07:02:01 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146tYm-0004ER-00 for ; Fri, 15 Dec 2000 07:02:01 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id C9F0A16B17; Fri, 15 Dec 2000 10:01:52 -0200 (BRST) Message-ID: <3A112BF0.55F30BB7@conectiva.com.br> Date: Tue, 14 Nov 2000 10:11:28 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Christoph Hellwig Cc: evms@oss.lotus.com, bug-parted@gnu.org Subject: Re: [Evms] Questions about portability References: <20001213153207.A7707@caldera.de> <3A0ED5F1.1C927F98@conectiva.com.br> <20001214094414.A10076@caldera.de> <3A0FDBDB.DAB3D843@conectiva.com.br> <20001214162503.B19524@caldera.de> <3A102FDB.89C29B4F@conectiva.com.br> <20001214192839.A2782@calder <3A1044A8.ACF9FF56@conectiva.com.br> <20001214205955.A9336@caldera.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Christoph Hellwig wrote: > > On Mon, Nov 13, 2000 at 05:44:40PM -0200, Andrew Clausen wrote: > > > > Obviously, the file system code is going to be shared between partition > > > > and LVM environments, so the code is going to be there, but it doesn't > > > > need to appear in the LVM interface. > > > > > > True. What about > > > > > > ext2resize.c --> core ext2fs resizing code > > > ext2resize_parted.c --> glue for libparted (incl partition stuff) > > > ext2resize_stand.c --> standalone glue ? > > > > The stand-alone stuff shouldn't need a file-system-specific front end, > > if it conforms to a common interface, right? > > Right - you could also add the main() function directly to the main source > file, sourrounded by an ifdef. Yep, you could. I prefer code reuse ;-) > > How do you know what to grep for? What if you have incomplete > > translations > > (so parts of it come out in another language) > > A simple commandline switch, that prefixes the translated messages with > [translated] and additionally gives out the untranslated one. > (Ok - it's going to be ugly, but it should be decided case by case). Yeah, that's better. Andrew Clausen From clausen@conectiva.com.br Fri Dec 15 09:00:22 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 146vPH-0000Ay-00 for ; Fri, 15 Dec 2000 09:00:19 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 25B4516B10; Fri, 15 Dec 2000 12:00:11 -0200 (BRST) Message-ID: <3A3A23EC.8E6419EF@conectiva.com.br> Date: Fri, 15 Dec 2000 12:00:12 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Hollis Blanchard Cc: bug-parted@gnu.org Subject: Re: Mac OS not booting References: Content-Type: multipart/mixed; boundary="------------D056BC50ECD32B597DC752B6" Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Esta é uma mensagem multiparte em formato MIME. --------------D056BC50ECD32B597DC752B6 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hollis Blanchard wrote: > > I think I've run across a moderate-sized bug in parted-1.4.4. It seems that > whenever I modify my partition table with parted, the Mac OS cannot understand > the resulting map. Ouch! > This already burned me and forced a complete Mac OS reinstall, so this time I > had partition map dd backups ready. :) Good! > I originally thought this only occured when running 'set X boot on', but it > also happened when adding a swap partition to Apple_Free space as well > (leaving the existing partitions untouched). > > Here's something for comparison: > PMAP-boot is a working partition map (the first 15 blocks) (I used pdisk to > change the type of partition 6 from Apple_HFS to Apple_Bootstrap, and the Mac > OS was fine with that). > PMAP-partedboot is a non-working partition map, which resulted from me running > (only) 'set 6 boot on'. > > hexdump and diff show quite a few changes in the first block (which I wouldn't > expect to change much)... but what do I know. :) Thanks. As you know, it's difficult for me to test ;-) Actually, there's an iMac here that I can probably hijack... ;-) Changes I've made: * Apple_Free partitions now have status 0x0 (not 0x33) * won't zero out bits it doesn't understand in block 0, anymore * now preserves the driver signature That handles all-but-one of the diffs. I have no idea about the last remaining one (it's in the pad field...) I can't upload to ftp.gnu.org yet (still waiting for kerberos, arrgghh!) Attached 1.4.4-1.4.5-pre2.diff.gz Andrew Clausen --------------D056BC50ECD32B597DC752B6 Content-Type: application/x-gzip; name="parted-1.4.4-1.4.5-pre2.diff.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="parted-1.4.4-1.4.5-pre2.diff.gz" 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 Jbt/WVYDAA== --------------D056BC50ECD32B597DC752B6-- From nick@nickbower.com Sat Dec 16 01:56:05 2000 Received: from ses.curtin.edu.au ([134.7.171.101]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 147BGG-0004Bq-00 for ; Sat, 16 Dec 2000 01:56:05 -0500 Received: (qmail 11272 invoked from network); 16 Dec 2000 06:55:35 -0000 Received: from rap59.curtin.edu.au (HELO cricket.) (134.7.112.187) by ses.curtin.edu.au with SMTP; 16 Dec 2000 06:55:35 -0000 From: Nick Bower Date: Sat, 16 Dec 2000 06:55:51 GMT Message-ID: <20001216.6555100@cricket.> Subject: partition not aligned? To: bug-parted@gnu.org X-Mailer: /usr/bin/netscape X-Priority: 3 (Normal) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all. I'm trying to downsize my 7200MB /home (logical) partition by=20 1GB on my thinkpad 600E (10050MB drive) in order to create a new 1GB=20 partition in the space made available. Unfortunately parted is giving me an incompatibility message when even=20 just trying to print the parition table: # parted /dev/hda GNU Parted 1.2.8 ...Copyright stuff... Using /dev/hda Warning: The operating system thinks the geometry on /dev/hda is=20 1299/240/63. You should check that this matches the BIOS geometry before using this=20 program. (parted) print No Implementation: Partition 1 isn't aligned to cylinder boundaries. =20 Need to add support for this. So I downloaded the new 1.4.4 source, but got a similar message: (parted) print Error: Unable to align partition. Here is the gear that fdisk and df spit out: # fdisk /dev/hda Command (m for help): p Disk /dev/hda: 240 heads, 63 sectors, 1299 cylinders Units =3D cylinders of 15120 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 2 15088 83 Linux Partition 1 does not end on cylinder boundary: phys=3D(1, 239, 62) should be (1, 239, 63) /dev/hda2 3 1028 7756560 5 Extended /dev/hda3 1029 1299 2048760 83 Linux /dev/hda5 3 37 264568+ 82 Linux swap /dev/hda6 38 1028 7491928+ 83 Linux # df Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda3 2016520 1740056 174028 91% / /dev/hda1 14607 4436 9417 32% /boot /dev/hda6 7374232 4882044 2117592 70% /home I'm not really sure what's going on. Thanks for any help. nick From clausen@conectiva.com.br Sat Dec 16 15:07:48 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 147NcR-0001zB-00 for ; Sat, 16 Dec 2000 15:07:48 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id EBD5216B10; Sat, 16 Dec 2000 18:07:40 -0200 (BRST) Message-ID: <3A12EF57.7E56024C@conectiva.com.br> Date: Wed, 15 Nov 2000 18:17:27 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Nick Bower Cc: bug-parted@gnu.org Subject: Re: partition not aligned? References: <20001216.6555100@cricket.> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Nick Bower wrote: > I'm not really sure what's going on. Thanks for any help. Basically, you have a dogdey partition table. I'm working on a work around now ;-) Andrew Clausen From clausen@conectiva.com.br Tue Dec 19 15:37:40 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148TVz-00021r-00 for ; Tue, 19 Dec 2000 15:37:39 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 4BC7616B13 for ; Tue, 19 Dec 2000 18:37:35 -0200 (BRST) Message-ID: <3A3FC712.6311A608@conectiva.com.br> Date: Tue, 19 Dec 2000 18:37:38 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Parted 1.4.5-pre3 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all, Changes: (since 1.4.4) * fixed nasty wrap-around bug in fat_construct_directory() and fat_convert_directory(), when directories have their last cluster/sector filled. * merged in FAT32 boot loader fix (now copies the "hidden sectors") * merge FAT fix from 1.2.14-pre1 * Apple_Free partitions have status 0x0 (not 0x33) * fixed _ext2_get_resize_constraint(). constraint->min_size was calculated in (ext2) blocks, not 512 byte sectors. (patch from Matt Wilson) * commented out "this is not a block device", because it already warns about "this is not SCSI/IDE", etc. * added another example to the documentation Note: The first change on the list - "nasty wrap-around" fixes a bug that corrupts all Windows 2000 \WINNT\SYSTEM32\DLLCACHE directory entries (i.e. deleting everything in the directory). Andrew Clausen From clausen@conectiva.com.br Tue Dec 19 15:41:10 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148TZO-00029c-00 for ; Tue, 19 Dec 2000 15:41:10 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 66D2A16B11 for ; Tue, 19 Dec 2000 18:41:07 -0200 (BRST) Message-ID: <3A3FC7E6.2785DEEF@conectiva.com.br> Date: Tue, 19 Dec 2000 18:41:10 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Parted 1.2.14-pre3 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all, Changes: (since 1.2.13) * merged fat_construct_directory() and fat_convert_directory() fix from 1.4.x * now doesn't destroy the Windows FAT32 boot loader * fixed flag_traverse_dir() in libparted/fs_fat/count.c. Now checks for failure (NULL) when calling flag_traverse_dir() * added a work-around for "partition not aligned to cylinder boundaries" I'm interested to here how the work-around for the "partition not aligned" thing goes... Andrew Clausen From clausen@conectiva.com.br Wed Dec 20 05:01:06 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148g3U-00084Q-00 for ; Wed, 20 Dec 2000 05:01:05 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 0340916B39; Wed, 20 Dec 2000 08:01:00 -0200 (BRST) Message-ID: <3A17A742.32432EAD@conectiva.com.br> Date: Sun, 19 Nov 2000 08:11:14 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Nick Bower Cc: bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 References: <3A3FC7E6.2785DEEF@conectiva.com.br> <20001220.3553300@cricket.> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Nick Bower wrote: > > Does this mean only 1.2.14 and not 1.4.5 has had the "cylinder not > aligned" modification? It doesn't really matter one way or the other to > me. I intend to port it to 1.4.5, too. 1.2.x is a slightly higher priority, because Conectiva need it ;-) > Just while I'm here - for future installations, if the bios has no clue > what the geometry of the disk is, how do you work it out. This problem > probably says to me that my initial guess of c/h/s was out a little (in > fact I remember there being a few k difference). Is there a way I can > work out the real geometry? The "real geometry" is whatever the BIOS says the geometry is. If you can change the geometry in your BIOS, then you can change the "real geometry" ;-) So, the BIOS *always* has "a clue", but sometimes you can't ask it (directly) what is thinks the geometry is. There are probably BIOS-interrogation programs around... Andrew Clausen From msw@devserv.devel.redhat.com Wed Dec 20 09:44:44 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 148kU0-0007Ko-00 for ; Wed, 20 Dec 2000 09:44:44 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eBKEi5701546; Wed, 20 Dec 2000 09:44:05 -0500 Date: Wed, 20 Dec 2000 09:44:05 -0500 From: Matt Wilson To: Andrew Clausen Cc: Nick Bower , bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 Message-ID: <20001220094405.E30530@devserv.devel.redhat.com> References: <3A3FC7E6.2785DEEF@conectiva.com.br> <20001220.3553300@cricket.> <3A17A742.32432EAD@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A17A742.32432EAD@conectiva.com.br>; from clausen@conectiva.com.br on Sun, Nov 19, 2000 at 08:11:14AM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: The experience I've had with vm86 to do real mode int13 BIOS calls has been, well, a bit troublesome. First of all, the BIOS drive ID (0x80 for drive 1, 0x81 for drive 2, etc) doesn't map directly to Linux's idea of which drive is which. I currently have code to interrogate a drive and BIOS to see if the support the EDD BIOS extensions (packet mode, to allow LILO to get bits from >1024 cyl). I've run into many BIOSes and adaptors that hook int13 and cause all sorts of problems (segfaults inside vm86, mostly). I could whip up something in 2 minutes to display the drive geometry for a given BIOS drive ID probed by me EDD program if you'd like... It's accessible via the same BIOS call that I'm using to int13 AH=0x48. See anaconda's source tree in the edd/ directory... Cheers, Matt On Sun, Nov 19, 2000 at 08:11:14AM -0200, Andrew Clausen wrote: > > So, the BIOS *always* has "a clue", but sometimes you can't ask it > (directly) what is thinks the geometry is. > > There are probably BIOS-interrogation programs around... From clausen@conectiva.com.br Wed Dec 20 09:56:42 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148kfY-0007xh-00 for ; Wed, 20 Dec 2000 09:56:41 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id A90C816B46; Wed, 20 Dec 2000 12:56:34 -0200 (BRST) Message-ID: <3A40C8A3.FF4F0E6B@conectiva.com.br> Date: Wed, 20 Dec 2000 12:56:35 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Matt Wilson Cc: Nick Bower , bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 References: <3A3FC7E6.2785DEEF@conectiva.com.br> <20001220.3553300@cricket.> <3A17A742.32432EAD@conectiva.com.br> <20001220094405.E30530@devserv.devel.redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Matt Wilson wrote: > > The experience I've had with vm86 to do real mode int13 BIOS calls has > been, well, a bit troublesome. First of all, the BIOS drive ID (0x80 > for drive 1, 0x81 for drive 2, etc) doesn't map directly to Linux's > idea of which drive is which. Could you use the BIOS to read in sectors, and do comparisons with what Linux reads in? > I currently have code to interrogate a > drive and BIOS to see if the support the EDD BIOS extensions (packet > mode, to allow LILO to get bits from >1024 cyl). I've run into many > BIOSes and adaptors that hook int13 and cause all sorts of problems > (segfaults inside vm86, mostly). Ouch. > I could whip up something in 2 minutes to display the drive geometry > for a given BIOS drive ID probed by me EDD program if you'd like... > It's accessible via the same BIOS call that I'm using to int13 > AH=0x48. See anaconda's source tree in the edd/ directory... I guess this could be useful... but not something that should go in the parted distribution (how big would it be? how big is vm86?) Andrew Clausen From msw@devserv.devel.redhat.com Wed Dec 20 10:45:53 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 148lRA-0001Ve-00 for ; Wed, 20 Dec 2000 10:45:52 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eBKFjeF17162; Wed, 20 Dec 2000 10:45:40 -0500 Date: Wed, 20 Dec 2000 10:45:40 -0500 From: Matt Wilson To: Andrew Clausen Cc: Matt Wilson , Nick Bower , bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 Message-ID: <20001220104540.F8542@devserv.devel.redhat.com> References: <3A3FC7E6.2785DEEF@conectiva.com.br> <20001220.3553300@cricket.> <3A17A742.32432EAD@conectiva.com.br> <20001220094405.E30530@devserv.devel.redhat.com> <3A40C8A3.FF4F0E6B@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A40C8A3.FF4F0E6B@conectiva.com.br>; from clausen@conectiva.com.br on Wed, Dec 20, 2000 at 12:56:35PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Wed, Dec 20, 2000 at 12:56:35PM -0200, Andrew Clausen wrote: > > Could you use the BIOS to read in sectors, and do comparisons with > what Linux reads in? Sure. > I guess this could be useful... but not something that should go > in the parted distribution (how big would it be? how big is vm86?) Oh, come to think of it, if you compile the code I have in test mode it prints out the geometry already... hrmph. Matt From msw@devserv.devel.redhat.com Wed Dec 20 10:50:20 2000 Received: from host156.207-175-42.redhat.com ([207.175.42.156] helo=devserv.devel.redhat.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 148lVU-0001Z8-00 for ; Wed, 20 Dec 2000 10:50:20 -0500 Received: (from msw@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id eBKFo9R18503; Wed, 20 Dec 2000 10:50:09 -0500 Date: Wed, 20 Dec 2000 10:50:09 -0500 From: Matt Wilson To: Andrew Clausen Cc: Matt Wilson , Nick Bower , bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 Message-ID: <20001220105009.G8542@devserv.devel.redhat.com> References: <3A3FC7E6.2785DEEF@conectiva.com.br> <20001220.3553300@cricket.> <3A17A742.32432EAD@conectiva.com.br> <20001220094405.E30530@devserv.devel.redhat.com> <3A40C8A3.FF4F0E6B@conectiva.com.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3A40C8A3.FF4F0E6B@conectiva.com.br>; from clausen@conectiva.com.br on Wed, Dec 20, 2000 at 12:56:35PM -0200 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: On Wed, Dec 20, 2000 at 12:56:35PM -0200, Andrew Clausen wrote: > > I guess this could be useful... but not something that should go > in the parted distribution (how big would it be? how big is vm86?) -rw-r--r-- 1 msw msw 15k Dec 20 10:48 edd-0.0.tar.gz http://people.redhat.com/msw/edd-0.0.tar.gz Matt From dankna@brain.mics.net Wed Dec 20 14:51:46 2000 Received: from brain.mics.net ([209.41.216.21]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148pH8-0003gL-00 for ; Wed, 20 Dec 2000 14:51:46 -0500 Received: from brain.mics.net (brain.mics.net [209.41.216.21]) by brain.mics.net (Postfix) with ESMTP id 54EBC17BDB for ; Wed, 20 Dec 2000 14:51:45 -0500 (EST) Date: Wed, 20 Dec 2000 14:51:45 -0500 (EST) From: Dan Knapp To: bug-parted@gnu.org Subject: Compiling parted Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: So, I had tried the precompiled versions of parted, but was unable to use them due to the cylinder-not-aligned problem (which Partition Magic happily created for me, with a minimum of warning, and which no tool I'm aware of for any OS can do anything about). So when I read the announcement for 1.2.14-pre3, I thought I'd just build it and see whether it could print a partition table. (I have rather a large amount of data on the drive in question, which I can't at present back up, so I wouldn't have actually changed anything with a -pre version... but it would have been some nice feedback to give to the list...) Unfortunately, I discovered that I can't compile parted, apparantly due to libuuid not being usable. I suppose this is off-topic, but can anybody help me get parted to build? tatara-ba% ./configure [...] checking for uuid_generate in -luuid... no configure: error: GNU Parted requires libuuid - a part of the e2fsprogs package. This can probably be found on your distribution's CD or FTP site or at: http://web.mit.edu/tytso/www/linux/e2fsprogs.html Note: if you are using precompiled packages you will also need the development package as well (which may be called e2fsprogs-devel or something similar). tatara-ba% ls -l /lib [...] -rw-r--r-- 1 root root 7664 Dec 3 22:21 libutil-2.2.so lrwxrwxrwx 1 root root 14 Dec 11 11:20 libutil.so.1 -> libutil-2.2.so lrwxrwxrwx 1 root root 14 Dec 15 14:55 libuuid.so.1 -> libuuid.so.1.2 -rw-r--r-- 1 root root 9064 Dec 4 16:38 libuuid.so.1.2 lrwxrwxrwx 1 root root 16 Dec 15 14:49 libwrap.so.0 -> libwrap.so.0.7.6 -rw-r--r-- 1 root root 23052 Aug 8 01:56 libwrap.so.0.7.6 drwxr-xr-x 4 root root 4096 Nov 23 20:44 modules drwxr-xr-x 2 root root 4096 Dec 15 16:42 security tatara-ba% cat > foo.c int main(void) { return 0; } tatara-ba% gcc -lutil foo.c tatara-ba% gcc -luuid foo.c /usr/bin/ld: cannot find -luuid collect2: ld returned 1 exit status tatara-ba% ... and I can compile a trivial program with -lutil, so gcc must be scanning that directory. This is Linux - Debian, to be exact. The e2fsprogs package is installed. | Dan Knapp, Knight of the Random Seed | http://brain.mics.net/~dankna/ | ONES WHO DOES NOT HAVE TRIFORCE CAN'T GO IN. From clausen@conectiva.com.br Wed Dec 20 15:00:42 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148pPj-0004KF-00 for ; Wed, 20 Dec 2000 15:00:40 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 7657B16B18; Wed, 20 Dec 2000 18:00:31 -0200 (BRST) Message-ID: <3A410FE1.1D6142F9@conectiva.com.br> Date: Wed, 20 Dec 2000 18:00:33 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Dan Knapp Cc: bug-parted@gnu.org Subject: Re: Compiling parted References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Dan Knapp wrote: > > So, I had tried the precompiled versions of parted, but was unable to > use them due to the cylinder-not-aligned problem (which Partition Magic > happily created for me, with a minimum of warning, and which no tool I'm > aware of for any OS can do anything about). So when I read the announcement > for 1.2.14-pre3, I thought I'd just build it and see whether it could print > a partition table. (I have rather a large amount of data on the drive in > question, which I can't at present back up, so I wouldn't have actually > changed anything with a -pre version... but it would have been some nice > feedback to give to the list...) Unfortunately, I discovered that I can't > compile parted, apparantly due to libuuid not being usable. I suppose this > is off-topic, but can anybody help me get parted to build? You also need the e2fsprogs-devel package. This contains headers, and static libraries. Andrew Clausen From bug1@optushome.com.au Wed Dec 20 15:33:36 2000 Received: from ha1.rdc2.nsw.optushome.com.au ([203.164.2.50] helo=mss.rdc2.nsw.optushome.com.au) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148pvc-0005j1-00 for ; Wed, 20 Dec 2000 15:33:36 -0500 Received: from optushome.com.au ([203.164.87.172]) by mss.rdc2.nsw.optushome.com.au (InterMail vM.4.01.03.00 201-229-121) with ESMTP id <20001220203331.BGEQ28304.mss.rdc2.nsw.optushome.com.au@optushome.com.au>; Thu, 21 Dec 2000 07:33:31 +1100 Message-ID: <3A4116F8.6A81B61E@optushome.com.au> Date: Thu, 21 Dec 2000 07:30:48 +1100 From: Glenn McGrath X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.0-test10 i586) X-Accept-Language: en MIME-Version: 1.0 To: Andrew Clausen CC: bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 References: <3A3FC7E6.2785DEEF@conectiva.com.br> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Andrew Clausen wrote: > > Hi all, > * added a work-around for "partition not aligned to cylinder boundaries" > > I'm interested to here how the work-around for the "partition not > aligned" > thing goes... > > Andrew Clausen > Why even bother with CHS at all, could we set them to all 1's which should mean they will be ignored. CHS are obsolete anyway (arent they?), why not just use LBA ? I was wonderign abotu this the other day, is there anything bad about havign a non-alighed partitiion that justifies even a warning ? I mean having a non aligned partition doesnt make the partition unusable does it, it just mean other partition program spit out ugly messages. maybe i missing a piece fo the puzzle though. Glenn From dankna@brain.mics.net Wed Dec 20 15:54:48 2000 Received: from brain.mics.net ([209.41.216.21]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148qG7-0006SI-00 for ; Wed, 20 Dec 2000 15:54:48 -0500 Received: from brain.mics.net (brain.mics.net [209.41.216.21]) by brain.mics.net (Postfix) with ESMTP id 9BAE517BDA for ; Wed, 20 Dec 2000 15:54:45 -0500 (EST) Date: Wed, 20 Dec 2000 15:54:45 -0500 (EST) From: Dan Knapp To: bug-parted@gnu.org Subject: Re: Compiling parted In-Reply-To: <3A410FE1.1D6142F9@conectiva.com.br> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: > You also need the e2fsprogs-devel package. This contains headers, and > static libraries. Ahh, thanks, that got it working. (If anybody has this problem in future, the packages Debian needs are e2fslibs-dev and uuid-dev.) So, the result: it prints the partition table correctly, and the result appears to agree with what fdisk (which is the only tool I've seen that doesn't care about cylinder boundaries) prints. What is the issue here, exactly? I can imagine that the structure of some loop might make it easier to be sure that code was bugless for cylinder-aligned partitions, or something... Or is it just the check itself? Are there any non-destructive ways that I can help in testing or finishing the implementation of support for non-cylinder-aligned partitions? (I'm willing to write code, if someone else can test it...) | Dan Knapp, Knight of the Random Seed | http://brain.mics.net/~dankna/ | ONES WHO DOES NOT HAVE TRIFORCE CAN'T GO IN. From dankna@brain.mics.net Wed Dec 20 15:56:15 2000 Received: from brain.mics.net ([209.41.216.21]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148qHX-0006Uf-00 for ; Wed, 20 Dec 2000 15:56:15 -0500 Received: from brain.mics.net (brain.mics.net [209.41.216.21]) by brain.mics.net (Postfix) with ESMTP id 2DA1917BDA; Wed, 20 Dec 2000 15:56:14 -0500 (EST) Date: Wed, 20 Dec 2000 15:56:14 -0500 (EST) From: Dan Knapp To: Glenn McGrath Cc: Andrew Clausen , bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 In-Reply-To: <3A4116F8.6A81B61E@optushome.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: > I mean having a non aligned partition doesnt make the partition unusable > does it, it just mean other partition program spit out ugly messages. I can testify that it does not make partitions unusable - at least on i386, under Linux, DOS, or Win - but don't know anything else about the issue. | Dan Knapp, Knight of the Random Seed | http://brain.mics.net/~dankna/ | ONES WHO DOES NOT HAVE TRIFORCE CAN'T GO IN. From clausen@conectiva.com.br Wed Dec 20 16:05:36 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148qQZ-00075c-00 for ; Wed, 20 Dec 2000 16:05:35 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 0F71A16B16; Wed, 20 Dec 2000 19:05:32 -0200 (BRST) Message-ID: <3A411F1E.7AE90512@conectiva.com.br> Date: Wed, 20 Dec 2000 19:05:34 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Dan Knapp Cc: bug-parted@gnu.org Subject: Re: Compiling parted References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Dan Knapp wrote: > > > You also need the e2fsprogs-devel package. This contains headers, and > > static libraries. > > Ahh, thanks, that got it working. (If anybody has this problem in future, > the packages Debian needs are e2fslibs-dev and uuid-dev.) So, the result: > it prints the partition table correctly, and the result appears to agree > with what fdisk (which is the only tool I've seen that doesn't care about > cylinder boundaries) prints. s/is/was/, hehe. It doesn't have to do anything interesting with partitions. > What is the issue here, exactly? I can imagine that the structure of some > loop might make it easier to be sure that code was bugless for > cylinder-aligned partitions, or something... Or is it just the check itself? > Are there any non-destructive ways that I can help in testing or finishing > the implementation of support for non-cylinder-aligned partitions? (I'm > willing to write code, if someone else can test it...) The problem is metadata allocation. You need to allocate it in a sensible place, which won't overlap with other partitions. It isn't much work to have the same thing working with 1.4.x. Just some more fun with the constraint solver, hehe... Andrew Clausen From clausen@conectiva.com.br Wed Dec 20 16:06:35 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148qRW-00076E-00 for ; Wed, 20 Dec 2000 16:06:35 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id A4F8116B16; Wed, 20 Dec 2000 19:06:32 -0200 (BRST) Message-ID: <3A411F5B.CC343C6@conectiva.com.br> Date: Wed, 20 Dec 2000 19:06:35 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Glenn McGrath Cc: bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 References: <3A3FC7E6.2785DEEF@conectiva.com.br> <3A4116F8.6A81B61E@optushome.com.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Glenn McGrath wrote: > Why even bother with CHS at all, could we set them to all 1's which > should mean they will be ignored. > > CHS are obsolete anyway (arent they?), why not just use LBA ? > > I was wonderign abotu this the other day, is there anything bad about > havign a non-alighed partitiion that justifies even a warning ? Well, CHS isn't really obsolete, because people still use it. Also, there is the metadata allocation issue. Andrew Clausen From bug1@optushome.com.au Wed Dec 20 17:54:32 2000 Received: from ha1.rdc2.nsw.optushome.com.au ([203.164.2.50] helo=mss.rdc2.nsw.optushome.com.au) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148s80-0003Vc-00 for ; Wed, 20 Dec 2000 17:54:32 -0500 Received: from optushome.com.au ([203.164.87.172]) by mss.rdc2.nsw.optushome.com.au (InterMail vM.4.01.03.00 201-229-121) with ESMTP id <20001220212509.BOTP28304.mss.rdc2.nsw.optushome.com.au@optushome.com.au>; Thu, 21 Dec 2000 08:25:09 +1100 Message-ID: <3A412317.9F9857A6@optushome.com.au> Date: Thu, 21 Dec 2000 08:22:31 +1100 From: Glenn McGrath X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.0-test10 i586) X-Accept-Language: en MIME-Version: 1.0 To: Andrew Clausen CC: bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre3 References: <3A3FC7E6.2785DEEF@conectiva.com.br> <3A4116F8.6A81B61E@optushome.com.au> <3A411F5B.CC343C6@conectiva.com.br> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Andrew Clausen wrote: > > Glenn McGrath wrote: > > Why even bother with CHS at all, could we set them to all 1's which > > should mean they will be ignored. > > > > CHS are obsolete anyway (arent they?), why not just use LBA ? > > > > I was wonderign abotu this the other day, is there anything bad about > > havign a non-alighed partitiion that justifies even a warning ? > > Well, CHS isn't really obsolete, because people still use it. > You mean peoples bios's bios use it ? I thought linux ignored CHS and only used LBA. Ive read old versions of m$'s fdisk only use CHS, so i guess the bad about not using CHS would be that it would produce compatability problems with old OS's > Also, there is the metadata allocation issue. > > Andrew Clausen > Whats the metadata allocation issue, is that something to do with not using sectors on the first track (i.e. below 63) ? Glenn From nick@nickbower.com Wed Dec 20 22:04:51 2000 Received: from ses.curtin.edu.au ([134.7.171.101]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 148w2D-0006AN-00 for ; Wed, 20 Dec 2000 22:04:50 -0500 Received: (qmail 5984 invoked from network); 21 Dec 2000 03:04:21 -0000 Received: from rap21.curtin.edu.au (HELO cricket.) (134.7.112.149) by ses.curtin.edu.au with SMTP; 21 Dec 2000 03:04:21 -0000 From: Nick Bower Date: Thu, 21 Dec 2000 03:04:37 GMT Message-ID: <20001221.3043700@cricket.> Subject: Resizing PT To: bug-parted@gnu.org X-Mailer: /usr/bin/netscape X-Priority: 3 (Normal) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Now I have a question about the resize command and how smart it is. =20 Hopefully more than me ;) I was surprised to find the limits are given in 0.1 increments of a MB. = =20 So if i have in order: stuff... /home (last logical on primary2) / (primary3) and want to downsize /home to get: stuff... /home (2nd-last logical on primary 2) /new (last logical on primary 2) / (primary3) does Parted check to make sure /new won't run over /? I mean, specifyin= g=20 xxx.x MB isn't going to be exact enough right so how does it know? I'm = just a little paranoid about this process. :P Thanks, Nick. From clausen@conectiva.com.br Thu Dec 21 06:35:34 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14940S-0006mE-00 for ; Thu, 21 Dec 2000 06:35:33 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id A302216B48; Thu, 21 Dec 2000 09:35:23 -0200 (BRST) Message-ID: <3A190EEA.B8C72C67@conectiva.com.br> Date: Mon, 20 Nov 2000 09:45:46 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Nick Bower Cc: bug-parted@gnu.org Subject: Re: Resizing PT References: <20001221.3043700@cricket.> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Nick Bower wrote: > > Now I have a question about the resize command and how smart it is. > Hopefully more than me ;) > > I was surprised to find the limits are given in 0.1 increments of a MB. They're not. It's just a matter of what can fit on the screen! > So if i have in order: > > stuff... > /home (last logical on primary2) > / (primary3) > > and want to downsize /home to get: > > stuff... > /home (2nd-last logical on primary 2) > /new (last logical on primary 2) > / (primary3) > > does Parted check to make sure /new won't run over /? Of course! > I mean, specifying > xxx.x MB isn't going to be exact enough right so how does it know? I'm > just a little paranoid about this process. :P Parted has a constraint solver :-) Partitions aren't allowed to overlap. Andrew Clausen From clausen@conectiva.com.br Thu Dec 21 12:40:40 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 1499hm-00068T-00 for ; Thu, 21 Dec 2000 12:40:38 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 52D8B16B12; Thu, 21 Dec 2000 15:40:34 -0200 (BRST) Message-ID: <3A424098.33FA63B3@conectiva.com.br> Date: Thu, 21 Dec 2000 15:40:40 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Thomas Roelz Cc: bug-parted@gnu.org Subject: Re: Unknown Disklabel References: <3A423F3E.8174439@suse.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Thomas Roelz wrote: > > Hi Andrew, > > I don't post this on the parted mailing list because the matter is > pretty urgent. Don't follow the logic here... You could CC me, if you want it to be quikcer, but bug-parted@gnu.org and clausen@gnu.org are the same machine ;-) (fencepost.gnu.org) Also, you could use IRC ;-) #parted on openprojects > I had a strange problem with a newly bought machine > that had Win ME preinstalled. Obviously parted can't handle the > disk that's built in and preformatted with Windows. > > Trying "parted print" yields: > > ERROR: Unable to open /dev/hda - Unrecognised disk label > > fdisk has no problems with this disk. Have you ever seen > this phenomenon? Weird. Could you send in the partition table? # dd if=/dev/hda if=table bs=512 count=1 Andrew Clausen From kingde@voicenet.com Thu Dec 21 15:32:26 2000 Received: from acct2.voicenet.com ([207.103.26.205] helo=voicenet.com) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149CO1-0005BU-00 for ; Thu, 21 Dec 2000 15:32:25 -0500 Received: (qmail 23840 invoked from network); 21 Dec 2000 20:32:22 -0000 Received: from email2.voicenet.com (HELO zeus?o.randomhouse.com) (207.103.0.26) by acct2.voicenet.com with SMTP; 21 Dec 2000 20:32:22 -0000 To: bug-parted@gnu.org Cc: kingde@voicenet.com From: kingde@voicenet.com Subject: Errors during compilation Date: Thu, 21 Dec 2000 15:32:25 US/Eastern X-Mailer: Voicenet WebMail Message-Id: Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hello, I received the following errors during compilation (make): gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -DLOCALEDIR=\"/usr/local/share/locale\" -DLOCALEDIR=\"/usr/local/share/locale\" -W -Wall -Wno-unused -Wno-switch -c device.c -o device.o device.c: In function `_is_ide_major': device.c:172: `IDE4_MAJOR' undeclared (first use this function) device.c:172: (Each undeclared identifier is reported only once device.c:172: for each function it appears in.) device.c:173: `IDE5_MAJOR' undeclared (first use this function) device.c: In function `_is_cpqarray_major': device.c:184: `COMPAQ_SMART2_MAJOR' undeclared (first use this function) device.c:184: `COMPAQ_SMART2_MAJOR7' undeclared (first use this function) device.c:185: warning: control reaches end of non-void function device.c: In function `device_probe_type': device.c:218: `DAC960_MAJOR' undeclared (first use this function) make[3]: *** [device.lo] Error 1 I am running Debian (Corel) Linux Kernel 2.2.12 Glibc (/lib/libc.so.6 -> libc-2.0.7.so) on Compaq Deskpro 2000 233 MMX Please advise Thanks, Dave King --------------------------------------------- This message was sent using Voicenet WebMail. http://www.voicenet.com/webmail/ From clausen@conectiva.com.br Thu Dec 21 16:14:56 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149D39-0006ve-00 for ; Thu, 21 Dec 2000 16:14:55 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 043C416B0A; Thu, 21 Dec 2000 19:14:48 -0200 (BRST) Message-ID: <3A4272CF.9F9043F2@conectiva.com.br> Date: Thu, 21 Dec 2000 19:14:55 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Thomas Roelz , bug-parted@gnu.org Subject: Re: Unknown Disklabel References: <3A423F3E.8174439@suse.de> <3A424098.33FA63B3@conectiva.com.br> <3A424B58.4EF16C85@suse.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Thomas Roelz wrote: > > Andrew Clausen wrote: > > > > Trying "parted print" yields: > > > > > > ERROR: Unable to open /dev/hda - Unrecognised disk label > > > > > > fdisk has no problems with this disk. Have you ever seen > > > this phenomenon? > > > > Weird. Could you send in the partition table? > > > > # dd if=/dev/hda if=table bs=512 count=1 > > OK, here it is.... Arghhh! It doesn't conform to the conventions that "everyone" agreed to...! The partition ends beyond cylinder 1024. Therefore, it should have the CHS set to 1022 or 1023. It is set to 385 (!). Since this is invalid, Parted treats it as not being a MS-DOS partition table (because the signature isn't enough to verify it). I guess I need to play with Windows ME, to see if there is a pattern to this madness! :-( Andrew Clausen From clausen@conectiva.com.br Fri Dec 22 11:18:54 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149Uu0-0005ff-00 for ; Fri, 22 Dec 2000 11:18:43 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id B92F716B1B for ; Fri, 22 Dec 2000 14:18:18 -0200 (BRST) Message-ID: <3A437ECD.A7D285E7@conectiva.com.br> Date: Fri, 22 Dec 2000 14:18:21 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Parted 1.4.5-pre4 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all, I'm happy with this, so this will probably become 1.4.5. In 1.4.6, I plan to: * apply msw's patch for BSD support * write a work-around for that partition alignment problem * make ped_file_system_probe() deal with ambiguous probes nicely * other stuff in TODO... Sane? Changes: (since pre3) * the bug fix in 1.4.5-pre3 (wrap-around bug) was wrong. Fixed properly now. * made the FAT16 <-> FAT32 conversion messages more friendly * ext2_mkfs() now makes sparse file systems by default * rearranged ext2_mkfs() a bit, and separated generation of the super block * fixed bug in ext2_mkfs(): if there isn't enough room for per-group metadata in the last block group, then chop it off! * fixed ext2 bug in ext2_is_data_block() in ext2.h. I forgot to endian-awarenize (?) it!!! * FAT resizer now avoids changing the fat type (FAT16 or FAT32) in script mode * removed error checking, after the "point of no return" in the FAT resizer * updated documentation, adding info about FAT16 <-> FAT32, and boot loaders Andrew Clausen From clausen@conectiva.com.br Fri Dec 22 11:31:12 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149V66-0006Mo-00 for ; Fri, 22 Dec 2000 11:31:12 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 92F3816B12 for ; Fri, 22 Dec 2000 14:31:01 -0200 (BRST) Message-ID: <3A4381C8.EC1B87B@conectiva.com.br> Date: Fri, 22 Dec 2000 14:31:04 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Parted 1.2.14-pre4 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all, Changes since 1.2.14-pre3: * merged the new fat_construct_dir... fix * merged the changes to the FAT16 <-> FAT32 messages * merged the small-last-group fix from 1.4.x * default to sparse supers for ext2_mkfs * merged fat_construct_directory() and fat_convert_directory() fix from 1.4.x Andrew Clausen From bpaddock@csonline.net Sat Dec 23 07:46:58 2000 Received: from mail.csonline.net ([206.101.113.7]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 149o4g-00068R-00 for ; Sat, 23 Dec 2000 07:46:58 -0500 Received: from dip-43.maxg3-3.dips.csonline.net [208.155.245.173] by mail.csonline.net (SMTPD32-5.05) id AFDE1A1D0058; Sat, 23 Dec 2000 07:51:42 -0500 From: bpaddock@csonline.net (Bob Paddock) To: bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre4 Date: Sat, 23 Dec 2000 07:37:08 -0500 Organization: is mostly via piles Reply-To: bpaddock@csonline.net Message-ID: <0xJR6UQy8EJJ092yn@csonline.net> References: <3A4381C8.EC1B87B@conectiva.com.br> In-Reply-To: <3A4381C8.EC1B87B@conectiva.com.br> Lines: 18 User-Agent: VSoup v1.2.9.47Beta [95/NT] Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: >Changes since 1.2.14-pre3: I've been following the list here for a while now, and some thing is still not clear to me. What is the difference between the 1.2x and the 1.4x stuff? I know the 1.4x stuff has Apple related things. On the surface it seems 1.2x = Windows, and 1.4x = Apple, but I keep getting the felling there is more to it than that? -- For information on any of the following check out my WEB site at: http://www.csonline.net/bpaddock/ Chronic Pain Relief, Philadelphia Experiment, better Spelling via UNIFON http://www.chipcenter.com/circuitcellar/crparciv.htm http://www.uCOS-II.com From bpaddock@csonline.net Sat Dec 23 07:46:59 2000 Received: from mail.csonline.net ([206.101.113.7]) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 149o4g-00068W-00 for ; Sat, 23 Dec 2000 07:46:58 -0500 Received: from dip-43.maxg3-3.dips.csonline.net [208.155.245.173] by mail.csonline.net (SMTPD32-5.05) id AFDF1A1D0058; Sat, 23 Dec 2000 07:51:43 -0500 From: bpaddock@csonline.net (Bob Paddock) To: bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre4 Date: Sat, 23 Dec 2000 07:40:35 -0500 Organization: is mostly via piles Reply-To: bpaddock@csonline.net Message-ID: References: <3A4381C8.EC1B87B@conectiva.com.br> In-Reply-To: <3A4381C8.EC1B87B@conectiva.com.br> Lines: 9 User-Agent: VSoup v1.2.9.47Beta [95/NT] Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: >* merged the changes to the FAT16 <-> FAT32 messages If it might help any one there is a FAT16 to FAT32 converter on my web site. Only goes one direction. http://www.csonline.net/bpaddock/cvtfat32/cvtfat32.htm It was some thing I came across when 'fat32' was a 'new thing', alas there is no source code. From Matthias.Gack@ngi.de Sat Dec 23 15:06:40 2000 Received: from sender.ngi.de ([212.79.47.18]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149uwB-0001p6-00 for ; Sat, 23 Dec 2000 15:06:40 -0500 Received: from ngi.de (klmb-3e363b67.pool.mediaWays.net [62.54.59.103]) by sender.ngi.de (Postfix) with ESMTP id 762E296D47; Sat, 23 Dec 2000 21:03:39 +0100 (CET) Message-ID: <3A450747.E87DA31E@ngi.de> Date: Sat, 23 Dec 2000 21:12:56 +0100 From: root X-Mailer: Mozilla 4.75 [de] (X11; U; Linux 2.2.17-21mdk i686) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: GUI for parted Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hallo, is it planed, that parted will get a graphical interface? It would be nice, if this could be organized (like DiskDrake by Mandrake for example). Thanks very much Matthias From clausen@conectiva.com.br Sat Dec 23 16:25:05 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149wA4-0005IX-00 for ; Sat, 23 Dec 2000 16:25:05 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 704CA16B13; Sat, 23 Dec 2000 19:24:49 -0200 (BRST) Message-ID: <3A1C3C24.8C1D5903@conectiva.com.br> Date: Wed, 22 Nov 2000 19:35:32 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bpaddock@csonline.net Cc: bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre4 References: <3A4381C8.EC1B87B@conectiva.com.br> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Bob Paddock wrote: > > >* merged the changes to the FAT16 <-> FAT32 messages > > If it might help any one there is a FAT16 to FAT32 converter > on my web site. Only goes one direction. > > http://www.csonline.net/bpaddock/cvtfat32/cvtfat32.htm > > It was some thing I came across when 'fat32' was a 'new > thing', alas there is no source code. Parted can already convert in both directions ;-) It has been able to do so for almost 1 year. The changes were just updated messages, telling users about what would happen, should they convert... Andrew Clausen From clausen@conectiva.com.br Sat Dec 23 17:50:33 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149xUm-0006Xr-00 for ; Sat, 23 Dec 2000 17:50:32 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 1FAFC16B0A; Sat, 23 Dec 2000 20:50:28 -0200 (BRST) Message-ID: <3A1C5036.3F6D5498@conectiva.com.br> Date: Wed, 22 Nov 2000 21:01:10 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bpaddock@csonline.net Cc: bug-parted@gnu.org Subject: Re: Parted 1.2.14-pre4 References: <3A4381C8.EC1B87B@conectiva.com.br> <0xJR6UQy8EJJ092yn@csonline.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Bob Paddock wrote: > > >Changes since 1.2.14-pre3: > > I've been following the list here for a while now, and some > thing is still not clear to me. What is the difference > between the 1.2x and the 1.4x stuff? I know the 1.4x stuff > has Apple related things. > > On the surface it seems 1.2x = Windows, and 1.4x = Apple, > but I keep getting the felling there is more to it than > that? There is... Basically: there are few changes (for users) between 1.2.x and 1.4.x for x86 IBM PC users. The big difference (for users) is Macintosh and PC98 support. 1.4.x has all the features that 1.2.x had. 1.2.x is obsoleted by 1.4.x. 1.2.x. is still maintained, because the 1.4.x API is incompatible with the 1.2.x API, and people (like Conective ;-) are still using 1.2.x ATM. Also, 1.4.x is relatively new code, and it is wise to be conservative about adopting new code in this area of software! Andrew Clausen From clausen@conectiva.com.br Sat Dec 23 17:58:14 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149xcD-0006cU-00 for ; Sat, 23 Dec 2000 17:58:13 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id DF20416B1B; Sat, 23 Dec 2000 20:58:04 -0200 (BRST) Message-ID: <3A1C5200.17FAFB98@conectiva.com.br> Date: Wed, 22 Nov 2000 21:08:48 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: root Cc: bug-parted@gnu.org Subject: Re: GUI for parted References: <3A450747.E87DA31E@ngi.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi, root wrote: > > Hallo, > is it planed, that parted will get a graphical interface? Already has several, hehe... Conectiva Linux has a nice UI (newt + GTK), that ships in Conectiva Linux 6.0. You can get the source: $ CVSROOT=:pserver:anonimo@cvs.conectiva.com.br:/home/cvs/ $ cvs get mi libconectiva newt-cnc Unfortunately the front end hasn't been separated from the installer (yet). > It would be nice, if this could be organized (like DiskDrake by Mandrake > for example). But, writing a REALLY GOOD front end seems quite hard. It requires operation queues (or action sets, or whatever you want to call it!), which require prediction of constraints, which requires lots more thinking, hehe... Matt Wilson (at Red Hat) is having a bash at this, without (good) constraint prediction... it appears that for most purposes, good constraint prediction doesn't matter. Andrew Clausen From clausen@conectiva.com.br Sat Dec 23 18:04:32 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 149xiJ-0006fv-00 for ; Sat, 23 Dec 2000 18:04:31 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 24A4316B13; Sat, 23 Dec 2000 21:04:28 -0200 (BRST) Message-ID: <3A1C537F.9963122D@conectiva.com.br> Date: Wed, 22 Nov 2000 21:15:11 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: kingde@voicenet.com Cc: bug-parted@gnu.org Subject: Re: Errors during compilation References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: kingde@voicenet.com wrote: > > Hello, > > I received the following errors during compilation (make): > > gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -DLOCALEDIR=\"/usr/local/share/locale\" > -DLOCALEDIR=\"/usr/local/share/locale\" -W -Wall -Wno-unused -Wno-switch -c device.c -o > device.o > device.c: In function `_is_ide_major': > device.c:172: `IDE4_MAJOR' undeclared (first use this function) > device.c:172: (Each undeclared identifier is reported only once > device.c:172: for each function it appears in.) > device.c:173: `IDE5_MAJOR' undeclared (first use this function) > device.c: In function `_is_cpqarray_major': > device.c:184: `COMPAQ_SMART2_MAJOR' undeclared (first use this function) > device.c:184: `COMPAQ_SMART2_MAJOR7' undeclared (first use this function) > device.c:185: warning: control reaches end of non-void function > device.c: In function `device_probe_type': > device.c:218: `DAC960_MAJOR' undeclared (first use this function) > make[3]: *** [device.lo] Error 1 > > I am running Debian (Corel) Linux > Kernel 2.2.12 > Glibc (/lib/libc.so.6 -> libc-2.0.7.so) > on Compaq Deskpro 2000 233 MMX What version of the kernel headers? Looks like you have an old version. Andrew Clausen From damien.genet@free.fr Sun Dec 24 04:23:42 2000 Received: from postfix3.free.fr ([212.27.32.22]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14A7NW-0005kg-00 for ; Sun, 24 Dec 2000 04:23:42 -0500 Received: from damien (poitiers-53-207.dial.proxad.net [213.228.53.207]) by postfix3.free.fr (Postfix) with SMTP id B24D086B38; Sun, 24 Dec 2000 10:23:40 +0100 (CET) Message-ID: <004e01c06d8b$1a578940$0c00a8c0@genet.free.fr> From: "Damien Genet" To: "root" , References: <3A450747.E87DA31E@ngi.de> Subject: Re: GUI for parted Date: Sun, 24 Dec 2000 10:22:49 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Salut, > Hallo, > is it planed, that parted will get a graphical interface? I was also developping Gtk-Parted : http://gtkparted.linux-atelier.org But I'm sorry (really), I did'nt do any new post since ages : I was particullary overloaded since a least 2 or 3 weeks, (exams, work...) and can't find any time to do some programming :((((((((. BUT I'm now in hollidays :)... So I will soon made last changes before a first official release (something like 0.7/0.9). Désolé, Dam From hj4hj6@yahoo.com Mon Dec 25 02:11:43 2000 Received: from skbb3.skb2.macam.ac.il ([192.115.171.3] helo=sem_mail.smkb.ac.il) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 14ARnL-0000ss-00 for ; Mon, 25 Dec 2000 02:11:43 -0500 Received: from WMKRENz16 (1Cust34.tnt21.lax3.da.uu.net [63.28.123.34]) by sem_mail.smkb.ac.il with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2448.0) id Y4M7RV5M; Thu, 21 Dec 2000 22:36:24 +0200 DATE: 21 Dec 00 12:43:26 PM FROM: hj4hj6@yahoo.com Message-ID: <2WX1qiEad6Y> SUBJECT: Improve your stepfamily life X-RBL-Warning: (relays.mail-abuse.org) Bcc: Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Does your stepfamily life resemble a soap opera more than it does the Brady Bunch? The Stepfamily Association of America invites you to participate in THE NATIONAL CONFERENCE FOR STEPFAMILIES, Feb. 23-24, 2001, at the New Orleans Marriott Hotel. This is an opportunity, designed by knowledgeable professionals, in stepfamilies themselves, to help you: * Make your remarriage a success * Create bonds with your stepchildren * Help your children adjust emotionally * Manage money matters unique to your family * Get more help from legal, financial, psychological advisors * Overcome stepfather and stepmother stereotypes * Elicit cooperation from your children's schools * Bring more harmony into family life Complete conference details at http://www.edupr.com REGISTER ONLINE! Attend, and also enjoy Mardi Gras week in New Orleans! Special discounts for couples, students, groups. HOTEL IS BOOKING UP FAST. ACT NOW BEFORE ROOM BLOCK AND AIRLINE SEATS FILL Special rates for conference attendees. Visit http://www.edupr.com for discounts. Childcare available through a bonded local service. Up to 17 professional development credits available if you are an educator, clinician, financial planner, social worker. Questions? Email stepfamilyconf@mail.com If you would like to be removed, please email us back with the word "Remove" in the subject line. We apologize for any inconvenience. From clausen@conectiva.com.br Thu Dec 28 14:07:40 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14BiOp-0000o9-00 for ; Thu, 28 Dec 2000 14:07:40 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id ECA3A16B16 for ; Thu, 28 Dec 2000 17:07:34 -0200 (BRST) Message-ID: <3A4B8F7D.8CA6A970@conectiva.com.br> Date: Thu, 28 Dec 2000 17:07:41 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Parted 1.4.5 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all, Changes (since 1.4.4): * documented PedConstraint and PedAlignment (doc/API) * made incompatible change to API: changed ped_constraint_exact() now takes a PedGeometry, not a PedPartition (what was I thinking?!) * the bug fix in 1.4.5-pre3 (wrap-around bug) was wrong. Fixed properly now. * made the FAT16 <-> FAT32 conversion messages more friendly * ext2_mkfs() now makes sparse file systems by default * rearranged ext2_mkfs() a bit, and separated generation of the super block * fixed bug in ext2_mkfs(): if there isn't enough room for per-group metadata in the last block group, then chop it off! * fixed ext2 bug in ext2_is_data_block() in ext2.h. I forgot to endian-awarenize (?) it!!! * FAT resizer now avoids changing the fat type (FAT16 or FAT32) in script mode * removed error checking, after the "point of no return" in the FAT resizer * updated documentation, adding info about FAT16 <-> FAT32, and boot loaders fat_convert_directory(), when directories have their last cluster/sector filled. * merged in FAT32 boot loader fix (now copies the "hidden sectors") * merge FAT fix from 1.2.14-pre1 * Apple_Free partitions have status 0x0 (not 0x33) * fixed _ext2_get_resize_constraint(). constraint->min_size was calculated in (ext2) blocks, not 512 byte sectors. (patch from Matt Wilson) * commented out "this is not a block device", because it already warns about "this is not SCSI/IDE", etc. * added another example to the documentation * made the "unable to align partition" error message a bit more understandable, and allow the problem to be ignored. * added an assertion to ext2_is_data_block(), to make sure the block is in the file-system. * added a note about "make install-libs" for e2fsprogs Andrew Clausen From clausen@conectiva.com.br Thu Dec 28 14:07:43 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14BiOs-0000oA-00 for ; Thu, 28 Dec 2000 14:07:43 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 985E116B1E for ; Thu, 28 Dec 2000 17:07:37 -0200 (BRST) Message-ID: <3A4B8F80.A03BCF26@conectiva.com.br> Date: Thu, 28 Dec 2000 17:07:44 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Parted 1.2.14 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi all, Changes (since 1.2.13) * merged the new fat_construct_dir... fix * merged the changes to the FAT16 <-> FAT32 messages * merged the small-last-group fix from 1.4.x * default to sparse supers for ext2_mkfs * merged fat_construct_directory() and fat_convert_directory() fix from 1.4.x * now doesn't destroy the Windows FAT32 boot loader * fixed flag_traverse_dir() in libparted/fs_fat/count.c. Now checks for failure (NULL) when calling flag_traverse_dir() * added a work-around for "partition not aligned to cylinder boundaries" Andrew Clausen From dwaller@precisiondrive.com Thu Dec 28 17:56:08 2000 Received: from pdcautomation.com ([156.46.140.30] helo=mail-server.precisiondrive.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 14Blxw-0002gh-00 for ; Thu, 28 Dec 2000 17:56:08 -0500 Received: from precisiondrive.com (IDENT:dwaller@dwaller [172.16.0.46]) by mail-server.precisiondrive.com (8.9.3/8.8.7) with ESMTP id QAA21793 for ; Thu, 28 Dec 2000 16:56:07 -0600 Message-ID: <3A4BC3E2.86E3D0D5@precisiondrive.com> Date: Thu, 28 Dec 2000 16:51:14 -0600 From: Dave Waller X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.4.0-test12 i686) X-Accept-Language: en MIME-Version: 1.0 To: bug-parted@gnu.org Subject: Parted w/o boot disk Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: I want to install linux on my VAIO notbook and it is w/o a floppy or cdrom. What I need to do first is use parted to split the d: drive into a linux disk. Which I know how to do. I am having trouble now with the boot disk part. What is type is the bootdisk, I have tried fat, vfat, minix, and ext2. What I want to do is use loadlin from a command prompt to load the correct kernel and root image, which I want to get off the bootdisk. Dave Waller From clausen@conectiva.com.br Thu Dec 28 18:06:35 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14Bm81-0002nL-00 for ; Thu, 28 Dec 2000 18:06:34 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id AD5D916B30; Thu, 28 Dec 2000 21:06:27 -0200 (BRST) Message-ID: <3A4BC77A.3A79FAE7@conectiva.com.br> Date: Thu, 28 Dec 2000 21:06:34 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Dave Waller Cc: bug-parted@gnu.org Subject: Re: Parted w/o boot disk References: <3A4BC3E2.86E3D0D5@precisiondrive.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi Dave, Dave Waller wrote: > > I want to install linux on my VAIO notbook and it is w/o a floppy or > cdrom. Interesting. > What I need to do first is use parted to split the d: drive into a linux > disk. Which I know how to do. > > I am having trouble now with the boot disk part. What is type is the > bootdisk, I have tried fat, vfat, minix, and ext2. What I want to do is > use loadlin from a command prompt to load the correct kernel and root > image, which I want to get off the bootdisk. Do you have another Linux machine handy? You can separate the kernel and ramdisk from the partboot.img file, with: # dd if=partboot.img of=kernel.img bs=1k count=MAGIC # dd if=partboot.img of=initrd.img bs=1k skip=MAGIC MAGIC is a number, which is 575, if my calculations are correct. If I'm wrong, you can find it by booting off partboot.img, and it will say "found compressed ramdisk at block MAGIC". Andrew Clausen From bug1@optushome.com.au Thu Dec 28 18:22:21 2000 Received: from ha1.rdc2.nsw.optushome.com.au ([203.164.2.50] helo=mss.rdc2.nsw.optushome.com.au) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14BmNJ-0003N9-00 for ; Thu, 28 Dec 2000 18:22:21 -0500 Received: from optushome.com.au ([203.164.87.172]) by mss.rdc2.nsw.optushome.com.au (InterMail vM.4.01.03.00 201-229-121) with ESMTP id <20001228232217.JWN28628.mss.rdc2.nsw.optushome.com.au@optushome.com.au>; Fri, 29 Dec 2000 10:22:17 +1100 Message-ID: <3A4BCA7C.2245D2B0@optushome.com.au> Date: Fri, 29 Dec 2000 10:19:24 +1100 From: Glenn McGrath X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.0-test10 i586) X-Accept-Language: en MIME-Version: 1.0 To: Dave Waller CC: bug-parted@gnu.org Subject: Re: Parted w/o boot disk References: <3A4BC3E2.86E3D0D5@precisiondrive.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Dave Waller wrote: > > I want to install linux on my VAIO notbook and it is w/o a floppy or > cdrom. > > What I need to do first is use parted to split the d: drive into a linux > disk. Which I know how to do. > > I am having trouble now with the boot disk part. What is type is the > bootdisk, I have tried fat, vfat, minix, and ext2. What I want to do is > use loadlin from a command prompt to load the correct kernel and root > image, which I want to get off the bootdisk. > > Dave Waller > I think the root image will have to be the initrd. I think linux needs a patch to be able to load a root image from a loopback device. Glenn From clausen@conectiva.com.br Thu Dec 28 18:27:47 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14BmSY-0004Lz-00 for ; Thu, 28 Dec 2000 18:27:47 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 8CF0E16B39; Thu, 28 Dec 2000 21:27:43 -0200 (BRST) Message-ID: <3A4BCC76.1CD89DF5@conectiva.com.br> Date: Thu, 28 Dec 2000 21:27:50 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Glenn McGrath Cc: Dave Waller , bug-parted@gnu.org Subject: Re: Parted w/o boot disk References: <3A4BC3E2.86E3D0D5@precisiondrive.com> <3A4BCA7C.2245D2B0@optushome.com.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Glenn McGrath wrote: > I think the root image will have to be the initrd. Yes. > I think linux needs a patch to be able to load a root image from a > loopback device. Hint: initrd stands for "initial ram disk". (loopback device?!) Andrew Clausen From dankatz@lucent.com Thu Dec 28 18:30:22 2000 Received: from auemail1.lucent.com ([192.11.223.161] helo=auemlsrv.firewall.lucent.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 14BmV3-0004WW-00 for ; Thu, 28 Dec 2000 18:30:21 -0500 Received: from auemlsrv.firewall.lucent.com (localhost [127.0.0.1]) by auemlsrv.firewall.lucent.com (Pro-8.9.3/8.9.3) with ESMTP id SAA07353 for ; Thu, 28 Dec 2000 18:30:16 -0500 (EST) Received: from eider.kenan.com (h135-140-109-156.lucent.com [135.140.109.156]) by auemlsrv.firewall.lucent.com (Pro-8.9.3/8.9.3) with ESMTP id SAA06695 for ; Thu, 28 Dec 2000 18:29:06 -0500 (EST) Received: from cam-katz-2.kenan.com.kenan.com (IDENT:dkatz@dhcp-110-75.kenan.com [135.140.110.75]) by eider.kenan.com (8.10.1/8.10.1) with ESMTP id eBSNT6e00447 for ; Thu, 28 Dec 2000 18:29:06 -0500 To: bug-parted@gnu.org Subject: (Non-) Matching of BIOS parameters and parted disk analysis From: dankatz@lucent.com (Daniel P. Katz) Date: 28 Dec 2000 18:27:37 -0500 Message-ID: Lines: 27 User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Hi. I want to use parted to shrink a large (13G) partition by about 3G and then create a new partition in that 3G. When I start up parted (v. 1.0.13 on a Debian GNU/Linux 2.2 box), it gives the following disk analysis and warning: Using /dev/hda Warning: The operating system thinks the geometry on /dev/hda is 19846/32/63. You should check that this matches the BIOS geometry before using this program. When I check my BIOS settings, they seem to say that I have 512/32/63. They also list 'LBA' mode and a LANDZ value of 39692. Of course, the motherboard documentation doesn't describe this in any detail. So the question is: should I be worried about the discrepancy in the number of cylinders reported, or is this just more BIOS stupidity? Sorry if this is a FAQ, but I didn't find FAQ list and didn't see an answer to this in the mailing list archive. Thanx. Dan From bug1@optushome.com.au Thu Dec 28 18:41:54 2000 Received: from ha1.rdc2.nsw.optushome.com.au ([203.164.2.50] helo=mss.rdc2.nsw.optushome.com.au) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14BmgE-0005DX-00 for ; Thu, 28 Dec 2000 18:41:54 -0500 Received: from optushome.com.au ([203.164.87.172]) by mss.rdc2.nsw.optushome.com.au (InterMail vM.4.01.03.00 201-229-121) with ESMTP id <20001228234152.NJP28628.mss.rdc2.nsw.optushome.com.au@optushome.com.au>; Fri, 29 Dec 2000 10:41:52 +1100 Message-ID: <3A4BCF15.9F9CCB9C@optushome.com.au> Date: Fri, 29 Dec 2000 10:39:01 +1100 From: Glenn McGrath X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.0-test10 i586) X-Accept-Language: en MIME-Version: 1.0 To: Andrew Clausen CC: Dave Waller , bug-parted@gnu.org Subject: Re: Parted w/o boot disk References: <3A4BC3E2.86E3D0D5@precisiondrive.com> <3A4BCA7C.2245D2B0@optushome.com.au> <3A4BCC76.1CD89DF5@conectiva.com.br> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Andrew Clausen wrote: > > Glenn McGrath wrote: > > I think the root image will have to be the initrd. > > Yes. > > > I think linux needs a patch to be able to load a root image from a > > loopback device. > > Hint: initrd stands for "initial ram disk". (loopback device?!) > Im sure you know loopback devices.... dd if=/dev/zero of=./loopy bs=1k count=2000 mkfs.ext2 ./loopy mount -t ext2 ./loopy /mnt If you patch the linux kernel you can load the root fs can be from a loop filesystem. Like you could have x-windows and gtk all in one big bloated loop file, or just the parted rescue disk minus the kernel. There is a distribution called looplinux that does this i think. Glenn From clausen@conectiva.com.br Thu Dec 28 18:45:25 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14Bmjc-0005Hd-00 for ; Thu, 28 Dec 2000 18:45:25 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id A1F6216B2A; Thu, 28 Dec 2000 21:45:22 -0200 (BRST) Message-ID: <3A4BD099.44A7D49@conectiva.com.br> Date: Thu, 28 Dec 2000 21:45:29 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Glenn McGrath Cc: Dave Waller , bug-parted@gnu.org Subject: Re: Parted w/o boot disk References: <3A4BC3E2.86E3D0D5@precisiondrive.com> <3A4BCA7C.2245D2B0@optushome.com.au> <3A4BCC76.1CD89DF5@conectiva.com.br> <3A4BCF15.9F9CCB9C@optushome.com.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Glenn McGrath wrote: > Im sure you know loopback devices.... He's using loadlin. It uses initial ram disks. > dd if=/dev/zero of=./loopy bs=1k count=2000 > mkfs.ext2 ./loopy > mount -t ext2 ./loopy /mnt > > If you patch the linux kernel you can load the root fs can be from a > loop filesystem. I think this is irrelevant for this problem... although it could save a bit of RAM. Maybe we should do it, and encourage all rescue disk people to do it... Andrew Clausen From bug1@optushome.com.au Thu Dec 28 18:54:42 2000 Received: from ha1.rdc2.nsw.optushome.com.au ([203.164.2.50] helo=mss.rdc2.nsw.optushome.com.au) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14Bmsb-0005Q9-00 for ; Thu, 28 Dec 2000 18:54:42 -0500 Received: from optushome.com.au ([203.164.87.172]) by mss.rdc2.nsw.optushome.com.au (InterMail vM.4.01.03.00 201-229-121) with ESMTP id <20001228235440.PUZ28628.mss.rdc2.nsw.optushome.com.au@optushome.com.au>; Fri, 29 Dec 2000 10:54:40 +1100 Message-ID: <3A4BD214.EDB41648@optushome.com.au> Date: Fri, 29 Dec 2000 10:51:48 +1100 From: Glenn McGrath X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.0-test10 i586) X-Accept-Language: en MIME-Version: 1.0 To: Andrew Clausen CC: Dave Waller , bug-parted@gnu.org Subject: Re: Parted w/o boot disk References: <3A4BC3E2.86E3D0D5@precisiondrive.com> <3A4BCA7C.2245D2B0@optushome.com.au> <3A4BCC76.1CD89DF5@conectiva.com.br> <3A4BCF15.9F9CCB9C@optushome.com.au> <3A4BD099.44A7D49@conectiva.com.br> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Andrew Clausen wrote: > > Glenn McGrath wrote: > > Im sure you know loopback devices.... > > He's using loadlin. It uses initial ram disks. > > > dd if=/dev/zero of=./loopy bs=1k count=2000 > > mkfs.ext2 ./loopy > > mount -t ext2 ./loopy /mnt > > > > If you patch the linux kernel you can load the root fs can be from a > > loop filesystem. > > I think this is irrelevant for this problem... although it could > save a bit of RAM. Maybe we should do it, and encourage all > rescue disk people to do it... > > Andrew Clausen The only thing is the loop image isnt compressed which is why its not used for rescue disks. I was thinking more generally than just this case. If there was a nice graphical frontend (x would be overkill for this situation) it would be too big for a rescue floppy, but it could go in a loop file under a windows filesystem. So windows users could install the parted rescue image and it could even place a nice parted icon on there desktop that starts loadlin. Then if windows users want to resize their hard disk they can just click the icon it boots linux presents them with a parted gui and then prompts them to reboot when tthey are finished (just like windows always does). This way we could get to windows users by stealth, they wouldnt even need to know it was linux underneath. Glenn From clausen@conectiva.com.br Fri Dec 29 09:48:46 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14C0pp-0004Zi-00 for ; Fri, 29 Dec 2000 09:48:46 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id E796316C6C; Fri, 29 Dec 2000 12:48:39 -0200 (BRST) Message-ID: <3A23C877.94239EE@conectiva.com.br> Date: Tue, 28 Nov 2000 13:00:07 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Glenn McGrath Cc: Dave Waller , bug-parted@gnu.org Subject: Re: Parted w/o boot disk References: <3A4BC3E2.86E3D0D5@precisiondrive.com> <3A4BCA7C.2245D2B0@optushome.com.au> <3A4BCC76.1CD89DF5@conectiva.com.br> <3A4BCF15.9F9CCB9C@optushome.com.au> <3A4BD099.44A7D49@conectiva.com.br> <3A4BD214.EDB41648@optushome.com.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Glenn McGrath wrote: > The only thing is the loop image isnt compressed which is why its not > used for rescue disks. > > I was thinking more generally than just this case. > > If there was a nice graphical frontend (x would be overkill for this > situation) it would be too big for a rescue floppy, but it could go in a > loop file under a windows filesystem. Loadlin loads the initial ramdisk from a file. It doesn't have to be from a floppy disk. Andrew Clausen From coumart@hotmail.com Fri Dec 29 10:21:13 2000 Received: from f96.law8.hotmail.com ([216.33.241.96] helo=hotmail.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 14C1LF-0006Ib-00 for ; Fri, 29 Dec 2000 10:21:13 -0500 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Fri, 29 Dec 2000 07:21:12 -0800 Received: from 24.200.98.25 by lw8fd.law8.hotmail.msn.com with HTTP; Fri, 29 Dec 2000 15:21:12 GMT X-Originating-IP: [24.200.98.25] Reply-To: martin_courtemanche@videotron.ca From: "Martin Courtemanche" To: bug-parted@gnu.org Subject: version 1.4.5 Date: Fri, 29 Dec 2000 10:21:12 -0500 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: X-OriginalArrivalTime: 29 Dec 2000 15:21:12.0302 (UTC) FILETIME=[FA3C78E0:01C071AA] Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: I got an error message that asked me to send you an email when I tried to use the parted bootdisk. If you need more information please let me know. The error message I got from parted: Assertion(walk->geom.length > 63 * 5) at disk.c:1008 in function _disk_check_sanity()failed The output of fdisk: [root@vector /root]# fdisk /dev/hda The number of cylinders for this disk is set to 4982. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 4982 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 917 4982 32660113+ c Win95 FAT32 (LBA) /dev/hda2 1 755 6064506 83 Linux /dev/hda3 756 916 1293232+ 5 Extended /dev/hda5 756 883 1028128+ 83 Linux /dev/hda6 884 916 265041 82 Linux swap Partition table entries are not in disk order Command (m for help): _________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. From bug1@optushome.com.au Fri Dec 29 11:10:33 2000 Received: from ha1.rdc2.nsw.optushome.com.au ([203.164.2.50] helo=mss.rdc2.nsw.optushome.com.au) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14C26z-0007xx-00 for ; Fri, 29 Dec 2000 11:10:33 -0500 Received: from optushome.com.au ([203.164.87.172]) by mss.rdc2.nsw.optushome.com.au (InterMail vM.4.01.03.00 201-229-121) with ESMTP id <20001229161029.PRO19159.mss.rdc2.nsw.optushome.com.au@optushome.com.au>; Sat, 30 Dec 2000 03:10:29 +1100 Message-ID: <3A4CB6C8.67042168@optushome.com.au> Date: Sat, 30 Dec 2000 03:07:36 +1100 From: Glenn McGrath X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.0-test10 i586) X-Accept-Language: en MIME-Version: 1.0 To: Andrew Clausen CC: Dave Waller , bug-parted@gnu.org Subject: Re: Parted w/o boot disk References: <3A4BC3E2.86E3D0D5@precisiondrive.com> <3A4BCA7C.2245D2B0@optushome.com.au> <3A4BCC76.1CD89DF5@conectiva.com.br> <3A4BCF15.9F9CCB9C@optushome.com.au> <3A4BD099.44A7D49@conectiva.com.br> <3A4BD214.EDB41648@optushome.com.au> <3A23C877.94239EE@conectiva.com.br> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Andrew Clausen wrote: > > Glenn McGrath wrote: > > The only thing is the loop image isnt compressed which is why its not > > used for rescue disks. > > > > I was thinking more generally than just this case. > > > > If there was a nice graphical frontend (x would be overkill for this > > situation) it would be too big for a rescue floppy, but it could go in a > > loop file under a windows filesystem. > > Loadlin loads the initial ramdisk from a file. It doesn't have to be > from > a floppy disk. > Yea, ramdisk would work, but the uncompressed intitrd has to be all loaded into ram to access any of it. If the image gets big the loop fs will work on low machines with less memmory. Glenn From clausen@conectiva.com.br Fri Dec 29 12:15:45 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14C384-0002Py-00 for ; Fri, 29 Dec 2000 12:15:45 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id 458FD16B0A; Fri, 29 Dec 2000 15:15:39 -0200 (EST) Message-ID: <3A23EAEB.B4B0DA91@conectiva.com.br> Date: Tue, 28 Nov 2000 15:27:07 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: martin_courtemanche@videotron.ca Cc: bug-parted@gnu.org Subject: Re: version 1.4.5 References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Martin Courtemanche wrote: > > I got an error message that asked me to send you an email when I tried to > use the parted bootdisk. If you need more information please let me know. > > The error message I got from parted: > Assertion(walk->geom.length > 63 * 5) at disk.c:1008 in function > _disk_check_sanity()failed > > The output of fdisk: > [root@vector /root]# fdisk /dev/hda Can you also do: # fdisk -l -u /dev/hda Thanks! Andrew Clausen From dwaller@precisiondrive.com Fri Dec 29 15:11:20 2000 Received: from pdcautomation.com ([156.46.140.30] helo=mail-server.precisiondrive.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 14C5s0-00012e-00 for ; Fri, 29 Dec 2000 15:11:20 -0500 Received: from precisiondrive.com (IDENT:dwaller@dwaller [172.16.0.46]) by mail-server.precisiondrive.com (8.9.3/8.8.7) with ESMTP id OAA26305 for ; Fri, 29 Dec 2000 14:11:18 -0600 Message-ID: <3A4CEFE5.BD5F265E@precisiondrive.com> Date: Fri, 29 Dec 2000 14:11:17 -0600 From: Dave Waller X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.4.0-test12 i686) X-Accept-Language: en MIME-Version: 1.0 To: "bug-parted@gnu.org" Subject: loadlin parted Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Close butno cigar. The dd magic number is 582 but this results in a non loadable kernel and image. At least that is what is happening on my VAIO with Windows Mil Ed. I will have to do some more reading. This is what I get after I do #dd if=partboot-1.4.4.img of=kernel.img bs=1k count=582 #dd if=partboot-1.4.4.img of=initrd.img bs=1k skip=582 c:\loadlin kernel.img initrd=initrd.img LOADLIN v1.6 (C) 1994..1996 Hans Lermen Your current LINUX kernel boot configuration is: image file: kernel.img kernel version 2.2.14-5.0BOOT (root@porky.devel.redhat.com) #1 Tue Mar 7 20:31:32 EST 2000 kernel size: 0x8E8D0 (high loaded) setup size: 0x0E00, heap: 0x3000 VGA mode: 0xFFFF command line (size 0x0015): BOOT_IMAGE=kernel.img Your current DOS/CPU configuration is: load buffer size: 0x0406F000 XMS , setup buffer size: 0x3E00 lowmem buffer: 0x00080000 (part of load buffer) total memory: 0x040FFC00 CPU is in REAL mode SetupIntercept: YES, legal intercept, setup header version 0201 stat1: cpu in real 386 mode, no need to backswitch input params (size 0x001D): kernel.img initrd=initrd.img LOADLIN started from DOS-prompt You are running under MS-WINDOWS or Windows 95 ERROR detected, Linux not loaded From clausen@conectiva.com.br Fri Dec 29 15:19:56 2000 Received: from postfix.conectiva.com.br ([200.250.58.155]) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14C60J-0001yZ-00 for ; Fri, 29 Dec 2000 15:19:56 -0500 Received: from conectiva.com.br (gadget.distro.conectiva [10.0.17.82]) by postfix.conectiva.com.br (Postfix) with ESMTP id C63F416B0A; Fri, 29 Dec 2000 18:19:44 -0200 (EST) Message-ID: <3A4CF1E5.5E0E11E@conectiva.com.br> Date: Fri, 29 Dec 2000 18:19:49 -0200 From: Andrew Clausen Organization: Conectiva X-Mailer: Mozilla 4.76 [pt_BR] (X11; U; Linux 2.2.17-14cl i586) X-Accept-Language: en MIME-Version: 1.0 To: Dave Waller Cc: "bug-parted@gnu.org" Subject: Re: loadlin parted References: <3A4CEFE5.BD5F265E@precisiondrive.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Dave Waller wrote: > > Close butno cigar. > > The dd magic number is 582 but this results in a non loadable kernel and > image. At least that is what is happening on my VAIO with Windows Mil > Ed. I will have to do some more reading. > > ERROR detected, Linux not loaded Err, go and whinge to the loadlin author, for making such crap error handling, hehe. Sorry, but I'm going on holidays for 4 days... Andrew Clausen From dwaller@precisiondrive.com Fri Dec 29 17:52:27 2000 Received: from pdcautomation.com ([156.46.140.30] helo=mail-server.precisiondrive.com) by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) id 14C8Nv-00009k-00 for ; Fri, 29 Dec 2000 17:52:27 -0500 Received: from precisiondrive.com (IDENT:dwaller@dwaller [172.16.0.46]) by mail-server.precisiondrive.com (8.9.3/8.8.7) with ESMTP id QAA27243 for ; Fri, 29 Dec 2000 16:52:26 -0600 Message-ID: <3A4D15A9.5AB43DC0@precisiondrive.com> Date: Fri, 29 Dec 2000 16:52:25 -0600 From: Dave Waller X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.4.0-test12 i686) X-Accept-Language: en MIME-Version: 1.0 To: "bug-parted@gnu.org" Subject: loadlin parted, good news, bad news Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: So my problem (or at least one of them) is Windows ME. Which ironically I am trying to replace! I tried my loadlin stuff and I get the kernel to load and the initrd to start. but then something I get a core dump after a message about inserting the root floppy. any way for the record I believe that this is how to split the partboot-1.4.4.img into a kernel and initrd file dd if=partboot-1.4.4.img of=kernel.img bs=1k count=582 dd if=partboot-1.4.4.img of=initrd.img bs=1k skip=582 then loadlin kernel.img /dev/ram rw initrd=c:\initrd.img Dave From bug1@optushome.com.au Sat Dec 30 20:07:22 2000 Received: from ha1.rdc2.nsw.optushome.com.au ([203.164.2.50] helo=mss.rdc2.nsw.optushome.com.au) by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) id 14CWy1-0008FW-00 for ; Sat, 30 Dec 2000 20:07:22 -0500 Received: from optushome.com.au ([203.164.87.172]) by mss.rdc2.nsw.optushome.com.au (InterMail vM.4.01.03.00 201-229-121) with ESMTP id <20001231010718.IIZL19159.mss.rdc2.nsw.optushome.com.au@optushome.com.au> for ; Sun, 31 Dec 2000 12:07:19 +1100 Message-ID: <3A4E8617.3251D13@optushome.com.au> Date: Sun, 31 Dec 2000 12:04:23 +1100 From: Glenn McGrath X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.0-test10 i586) X-Accept-Language: en MIME-Version: 1.0 To: parted Subject: converting a whole disk to a partition disk Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: bug-parted-admin@gnu.org Errors-To: bug-parted-admin@gnu.org X-BeenThere: bug-parted@gnu.org X-Mailman-Version: 2.0 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for the GNU Parted disk partition editor List-Unsubscribe: , List-Archive: Im pretty sure its possible use an ide disk as a whole disk (e.g. hda) instead of a partitioned disk (e.g hda1) as is normally the case. If a whole disk is created and formated, anyone know of a way to convert it no destructively to a partitioned disk, parted doesnt handle this at the moment does it ? In theory it wouldnt be too hard to do, the fs on the whole disk could be shrunk and move clear of the partition table and other reserved space (moved past sector 63 or whatever), then make a correct partition entry for the fs that was moved. I guess if the start of ext2 partitions cant be moved it would mean it would only work for fat fs's Sound liek a good idea ? Glenn