Mario Gzuk
2012-12-06 08:35:20 UTC
Hi,
with the help of the wimlib (http://wimlib.sourceforge.net/) is it
possible to install VISTA/7/8/2008[R2]/2012 directly from the wim file
(if mount the iso before you may also be able to place the isos in z/os/..)
Here is the part of the Makefile (bootcd) wich builds the wimlib:
$(wimlib)/imagex:
cd $(wimlib) \
&&
PKG_CONFIG_PATH="$(cwd)/stage1/lib/pkgconfig/:$(cwd)/stage1/usr/lib/pkgconfig/"
\
CC=$(CC) CFLAGS="$(fakelib_cflags)
-I$(cwd)/stage1/usr/include -I$(cwd)/stage1/include
-I$(cwd)/stage1/usr/include/libxml2" LDFLAGS="$(fakelib_cflags)
-L$(cwd)/stage1/usr/lib/ -lxml2" \
./configure \
--prefix=/usr \
--build=i686-linux \
&& $(MAKE)
[ -e $@ ]
#&& CC=$(CC) CFLAGS="$(fakelib_cflags)
-I$(cwd)/stage1/usr/include -I$(cwd)/stage1/include
-I$(cwd)/stage1/usr/include/libxml2" \
stage1/usr/bin/imagex: $(wimlib)/imagex
cd $(wimlib) \
&& $(MAKE) DESTDIR=$(cwd)/stage1 install
[ -e $@ ]
I dont know if this is allways working for this project. You may also
have to install the libxml2. After you have rebuild the iso you have
imagex (for Linux!!) on it.
The code to deploy the wim file.
#fist get the boot partition
BOOTNUMBER=`${PARTED} /dev/dsk print 2>${LOGTTY} | grep "boot"
| awk '{print $1}'`
WIMINDEX=`parse_ini_file /tmp/unattend.txt _meta wim_index`
if [[ "${WIMINDEX}" == "" ]]
then
WIMINDEX=1
fi
EXTRACTFILE=${OS_DIR}/${FILE}
if [[ "x${ISO}" != "x" ]]
then
#mount the iso
message_start "Mounting ${OS_DIR}/${ISO}
${OS_DIR}/iso"
mount -t ${ISOTYPE} -o ro,loop
${OS_DIR}/${ISO} ${OS_DIR}/iso > ${LOGTTY} 2>&1
fi
#extract it...
log "Extracting ${EXTRACTFILE} to /c."
imagex apply ${EXTRACTFILE} ${WIMINDEX} /dev/dsk${BOOTNUMBER} >
${LOGTTY} 2>&1
#mount /c
mount_c
#create /c/Boot Directory
mkdir /c/Boot > ${LOGTTY} 2>&1
#copy bootmgr to /c
copy_files "/c/Windows/Boot/PCAT/bootmgr" "/c/" 3 "Copy bootmgr."
umount /c > ${LOGTTY} 2>&1
#write an disk lable (needed for =>win8 and =>2012)
date | md5sum |dd of=/dev/dsk bs=1 count=4 seek=440 >
${LOGTTY} 2>&1
After that you can push the unattend.xml to /c/Windows/Panther/. Here
may be also interesting:
http://technet.microsoft.com/en-us/library/hh824920.aspx#bkmk_4
to add drivers (on the fly) with the help of the audit section.
Hope this gives you an idea to deploy also this stuff in you project.
Feel free to ask if you have questions.
Cheers mario
with the help of the wimlib (http://wimlib.sourceforge.net/) is it
possible to install VISTA/7/8/2008[R2]/2012 directly from the wim file
(if mount the iso before you may also be able to place the isos in z/os/..)
Here is the part of the Makefile (bootcd) wich builds the wimlib:
$(wimlib)/imagex:
cd $(wimlib) \
&&
PKG_CONFIG_PATH="$(cwd)/stage1/lib/pkgconfig/:$(cwd)/stage1/usr/lib/pkgconfig/"
\
CC=$(CC) CFLAGS="$(fakelib_cflags)
-I$(cwd)/stage1/usr/include -I$(cwd)/stage1/include
-I$(cwd)/stage1/usr/include/libxml2" LDFLAGS="$(fakelib_cflags)
-L$(cwd)/stage1/usr/lib/ -lxml2" \
./configure \
--prefix=/usr \
--build=i686-linux \
&& $(MAKE)
[ -e $@ ]
#&& CC=$(CC) CFLAGS="$(fakelib_cflags)
-I$(cwd)/stage1/usr/include -I$(cwd)/stage1/include
-I$(cwd)/stage1/usr/include/libxml2" \
stage1/usr/bin/imagex: $(wimlib)/imagex
cd $(wimlib) \
&& $(MAKE) DESTDIR=$(cwd)/stage1 install
[ -e $@ ]
I dont know if this is allways working for this project. You may also
have to install the libxml2. After you have rebuild the iso you have
imagex (for Linux!!) on it.
The code to deploy the wim file.
#fist get the boot partition
BOOTNUMBER=`${PARTED} /dev/dsk print 2>${LOGTTY} | grep "boot"
| awk '{print $1}'`
WIMINDEX=`parse_ini_file /tmp/unattend.txt _meta wim_index`
if [[ "${WIMINDEX}" == "" ]]
then
WIMINDEX=1
fi
EXTRACTFILE=${OS_DIR}/${FILE}
if [[ "x${ISO}" != "x" ]]
then
#mount the iso
message_start "Mounting ${OS_DIR}/${ISO}
${OS_DIR}/iso"
mount -t ${ISOTYPE} -o ro,loop
${OS_DIR}/${ISO} ${OS_DIR}/iso > ${LOGTTY} 2>&1
fi
#extract it...
log "Extracting ${EXTRACTFILE} to /c."
imagex apply ${EXTRACTFILE} ${WIMINDEX} /dev/dsk${BOOTNUMBER} >
${LOGTTY} 2>&1
#mount /c
mount_c
#create /c/Boot Directory
mkdir /c/Boot > ${LOGTTY} 2>&1
#copy bootmgr to /c
copy_files "/c/Windows/Boot/PCAT/bootmgr" "/c/" 3 "Copy bootmgr."
umount /c > ${LOGTTY} 2>&1
#write an disk lable (needed for =>win8 and =>2012)
date | md5sum |dd of=/dev/dsk bs=1 count=4 seek=440 >
${LOGTTY} 2>&1
After that you can push the unattend.xml to /c/Windows/Panther/. Here
may be also interesting:
http://technet.microsoft.com/en-us/library/hh824920.aspx#bkmk_4
to add drivers (on the fly) with the help of the audit section.
Hope this gives you an idea to deploy also this stuff in you project.
Feel free to ask if you have questions.
Cheers mario