It now accepts a directory as argument that will be the target of the build files.
When you specify this directory, no image file will be created. Added the listarea command. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10222 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
1e32802a52
commit
f6c4b97ace
73
makehdimage
73
makehdimage
@ -17,8 +17,14 @@
|
|||||||
|
|
||||||
# path of the checked out Haiku sources
|
# path of the checked out Haiku sources
|
||||||
sourceDir=.
|
sourceDir=.
|
||||||
|
alreadyMounted=
|
||||||
|
targetDir=/haiku
|
||||||
|
|
||||||
# disk image path, size in MB
|
# disk image path, size in MB
|
||||||
if [ "$1" == "" ]; then
|
if [ -d "$1" ]; then
|
||||||
|
alreadyMounted=true
|
||||||
|
targetDir=$1
|
||||||
|
elif [ "$1" == "" ]; then
|
||||||
imagePath=$sourceDir/haiku.image
|
imagePath=$sourceDir/haiku.image
|
||||||
else
|
else
|
||||||
imagePath=$1
|
imagePath=$1
|
||||||
@ -33,13 +39,17 @@ cd $sourceDir
|
|||||||
sourceDir=`pwd`
|
sourceDir=`pwd`
|
||||||
# we accept relative source directories as well
|
# we accept relative source directories as well
|
||||||
|
|
||||||
echo "Building $imageSize MB image at $imagePath..."
|
if [ $alreadyMounted ]; then
|
||||||
|
echo "Building binaries and copy them to $targetDir"
|
||||||
|
else
|
||||||
|
echo "Building $imageSize MB image at $imagePath..."
|
||||||
|
fi
|
||||||
|
|
||||||
RUN_WITHOUT_APP_SERVER=1
|
RUN_WITHOUT_APP_SERVER=1
|
||||||
|
|
||||||
BEOS_BIN="touch sync ln listattr listsem listport du rm date \
|
BEOS_BIN="touch sync ln listarea listattr listsem listport \
|
||||||
true false ls df mount unmount cp mv ps sh mkdir sleep \
|
true false ls df mount unmount cp mv ps sh mkdir sleep \
|
||||||
grep cat less clockconfig"
|
grep cat less clockconfig du rm date"
|
||||||
|
|
||||||
BEOS_SYSTEM_LIB="libbe.so libstdc++.r4.so libnet.so"
|
BEOS_SYSTEM_LIB="libbe.so libstdc++.r4.so libnet.so"
|
||||||
|
|
||||||
@ -48,18 +58,21 @@ jam -q kernel boot_loader config_manager pci isa ide scsi \
|
|||||||
scsi_periph intel keyboard scsi_dsk scsi_cd \
|
scsi_periph intel keyboard scsi_dsk scsi_cd \
|
||||||
rld.so kernel_fortune consoled \
|
rld.so kernel_fortune consoled \
|
||||||
$BEOS_BIN $BEOS_SYSTEM_LIB \
|
$BEOS_BIN $BEOS_SYSTEM_LIB \
|
||||||
kernel_uname libnet.so null zero random \<driver\>tty || exit 1
|
kernel_uname libnet.so null zero random \<driver\>tty \
|
||||||
|
|| exit 1
|
||||||
|
|
||||||
|
|
||||||
# create the image and the directory structure
|
# create the image and the directory structure
|
||||||
|
|
||||||
dd if=/dev/zero of=$imagePath bs=1M count=$imageSize
|
if [ ! $alreadyMounted ]; then
|
||||||
mkbfs $imagePath Haiku
|
dd if=/dev/zero of=$imagePath bs=1M count=$imageSize
|
||||||
mkdir -p /haiku
|
mkbfs $imagePath Haiku
|
||||||
sync
|
mkdir -p $targetDir
|
||||||
$ufsMount obfs $imagePath /haiku || exit 1
|
sync
|
||||||
|
$ufsMount obfs $imagePath $targetDir || exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
cd /haiku
|
cd $targetDir
|
||||||
mkdir -p beos/system/add-ons/kernel/bus_managers
|
mkdir -p beos/system/add-ons/kernel/bus_managers
|
||||||
mkdir -p beos/system/add-ons/kernel/generic
|
mkdir -p beos/system/add-ons/kernel/generic
|
||||||
mkdir -p beos/system/add-ons/kernel/file_systems
|
mkdir -p beos/system/add-ons/kernel/file_systems
|
||||||
@ -82,66 +95,66 @@ cd $sourceDir/distro/x86.R1/beos/system/add-ons/kernel
|
|||||||
for f in bus_managers/isa bus_managers/ide bus_managers/scsi busses/ide/ide_isa \
|
for f in bus_managers/isa bus_managers/ide bus_managers/scsi busses/ide/ide_isa \
|
||||||
file_systems/bfs generic/blkman generic/fast_log generic/ide_adapter \
|
file_systems/bfs generic/blkman generic/fast_log generic/ide_adapter \
|
||||||
generic/locked_pool generic/scsi_periph partitioning_systems/intel; do
|
generic/locked_pool generic/scsi_periph partitioning_systems/intel; do
|
||||||
cp $f /haiku/beos/system/add-ons/kernel/$f
|
cp $f $targetDir/beos/system/add-ons/kernel/$f
|
||||||
done
|
done
|
||||||
|
|
||||||
for f in drivers/dev/disk/scsi/scsi_dsk drivers/dev/disk/scsi/scsi_cd; do
|
for f in drivers/dev/disk/scsi/scsi_dsk drivers/dev/disk/scsi/scsi_cd; do
|
||||||
name=drivers/bin/$(basename $f)
|
name=drivers/bin/$(basename $f)
|
||||||
cp $name /haiku/beos/system/add-ons/kernel/$name
|
cp $name $targetDir/beos/system/add-ons/kernel/$name
|
||||||
done
|
done
|
||||||
|
|
||||||
cd $sourceDir/objects/x86.R1/add-ons/kernel
|
cd $sourceDir/objects/x86.R1/add-ons/kernel
|
||||||
|
|
||||||
for f in bus_managers/config_manager bus_managers/pci; do
|
for f in bus_managers/config_manager bus_managers/pci; do
|
||||||
name=$(basename $f)
|
name=$(basename $f)
|
||||||
cp $f/$name /haiku/beos/system/add-ons/kernel/$f
|
cp $f/$name $targetDir/beos/system/add-ons/kernel/$f
|
||||||
done
|
done
|
||||||
|
|
||||||
# drivers
|
# drivers
|
||||||
for f in drivers/arch/x86/keyboard/keyboard; do
|
for f in drivers/arch/x86/keyboard/keyboard; do
|
||||||
cp $f /haiku/beos/system/add-ons/kernel/drivers/bin
|
cp $f $targetDir/beos/system/add-ons/kernel/drivers/bin
|
||||||
done
|
done
|
||||||
|
|
||||||
cd $sourceDir/distro/x86.R1/beos/system/add-ons/kernel/drivers/dev
|
cd $sourceDir/distro/x86.R1/beos/system/add-ons/kernel/drivers/dev
|
||||||
for f in tty random null zero; do
|
for f in tty random null zero; do
|
||||||
cp $f /haiku/beos/system/add-ons/kernel/drivers/bin
|
cp $f $targetDir/beos/system/add-ons/kernel/drivers/bin
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
# kernel
|
# kernel
|
||||||
cp $sourceDir/objects/x86.R1/kernel/kernel /haiku/beos/system/kernel_x86
|
cp $sourceDir/objects/x86.R1/kernel/kernel $targetDir/beos/system/kernel_x86
|
||||||
|
|
||||||
|
|
||||||
# libs
|
# libs
|
||||||
cd $sourceDir/distro/x86.R1/beos/system/lib
|
cd $sourceDir/distro/x86.R1/beos/system/lib
|
||||||
cp $BEOS_SYSTEM_LIB /haiku/beos/system/lib/
|
cp $BEOS_SYSTEM_LIB $targetDir/beos/system/lib/
|
||||||
cd $sourceDir/objects/x86.R1/kernel/
|
cd $sourceDir/objects/x86.R1/kernel/
|
||||||
cp rld.so libroot.so /haiku/beos/system/lib/
|
cp rld.so libroot.so $targetDir/beos/system/lib/
|
||||||
|
|
||||||
|
|
||||||
# apps
|
# apps
|
||||||
cd $sourceDir/objects/x86.R1/kernel
|
cd $sourceDir/objects/x86.R1/kernel
|
||||||
for f in fortune uname; do
|
for f in fortune uname; do
|
||||||
cp kernel_$f /haiku/beos/bin/$f
|
cp kernel_$f $targetDir/beos/bin/$f
|
||||||
done
|
done
|
||||||
|
|
||||||
cd $sourceDir/distro/x86.R1/beos/bin
|
cd $sourceDir/distro/x86.R1/beos/bin
|
||||||
cp ../apps/consoled $BEOS_BIN /haiku/beos/bin/
|
cp ../apps/consoled $BEOS_BIN $targetDir/beos/bin/
|
||||||
|
|
||||||
|
|
||||||
# scripts and data files
|
# scripts and data files
|
||||||
cd $sourceDir
|
cd $sourceDir
|
||||||
cp data/system/boot/Bootscript data/system/boot/SetupEnvironment /haiku/beos/system/boot/
|
cp data/system/boot/Bootscript data/system/boot/SetupEnvironment $targetDir/beos/system/boot/
|
||||||
cp data/etc/profile /haiku/beos/etc/
|
cp data/etc/profile $targetDir/beos/etc/
|
||||||
cp src/kernel/apps/fortune/fortunes /haiku/beos/etc/
|
cp src/kernel/apps/fortune/fortunes $targetDir/beos/etc/
|
||||||
|
|
||||||
# boot loader
|
# boot loader
|
||||||
cd /haiku/beos/system
|
cd $targetDir/beos/system
|
||||||
objcopy -O binary $sourceDir/objects/x86.R1/kernel/boot_loader zbeos
|
objcopy -O binary $sourceDir/objects/x86.R1/kernel/boot_loader zbeos
|
||||||
|
|
||||||
|
|
||||||
# boot module links
|
# boot module links
|
||||||
cd /haiku/beos/system/add-ons/kernel/boot
|
cd $targetDir/beos/system/add-ons/kernel/boot
|
||||||
for f in bus_managers/config_manager bus_managers/pci bus_managers/isa bus_managers/ide bus_managers/scsi busses/ide/ide_isa file_systems/bfs generic/blkman generic/fast_log generic/ide_adapter generic/locked_pool generic/scsi_periph partitioning_systems/intel; do
|
for f in bus_managers/config_manager bus_managers/pci bus_managers/isa bus_managers/ide bus_managers/scsi busses/ide/ide_isa file_systems/bfs generic/blkman generic/fast_log generic/ide_adapter generic/locked_pool generic/scsi_periph partitioning_systems/intel; do
|
||||||
ln -fs /boot/beos/system/add-ons/kernel/$f $(basename $f)
|
ln -fs /boot/beos/system/add-ons/kernel/$f $(basename $f)
|
||||||
done
|
done
|
||||||
@ -151,7 +164,7 @@ done
|
|||||||
|
|
||||||
|
|
||||||
# driver links
|
# driver links
|
||||||
cd /haiku/beos/system/add-ons/kernel
|
cd $targetDir/beos/system/add-ons/kernel
|
||||||
for f in drivers/dev/keyboard drivers/dev/null drivers/dev/tty drivers/dev/zero \
|
for f in drivers/dev/keyboard drivers/dev/null drivers/dev/tty drivers/dev/zero \
|
||||||
drivers/dev/disk/scsi/scsi_dsk drivers/dev/disk/scsi/scsi_cd; do
|
drivers/dev/disk/scsi/scsi_dsk drivers/dev/disk/scsi/scsi_cd; do
|
||||||
relName=$(echo $f | sed -e s@drivers/dev/@@)
|
relName=$(echo $f | sed -e s@drivers/dev/@@)
|
||||||
@ -166,6 +179,8 @@ done
|
|||||||
|
|
||||||
cd $previousDir
|
cd $previousDir
|
||||||
sync
|
sync
|
||||||
unmount /haiku
|
|
||||||
rmdir /haiku
|
|
||||||
|
|
||||||
|
if [ ! $alreadyMounted ]; then
|
||||||
|
unmount $targetDir
|
||||||
|
rmdir $targetDir
|
||||||
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user