Version 0.6.7: Added support for hostname - hostname_get (), hostname_set (); Hostnam...
[ZeXOS.git] / build.sh
blob99819f6bb43ea205b59c87cfc8d1caa53c99c9c9
1 #!/bin/bash
3 VERSION="0.6.7"
4 ARCHITECTURE="i386"
7 if [ -z $ARCH ]; then
8 ARCH=$ARCHITECTURE
9 fi
11 export ARCH
13 cd `dirname $0`
15 if [ "$1" = "clean" ] ; then
16 echo "Cleaning source from object files .."
17 make clean -C kernel &&
18 make clean -C libc &&
19 make clean -C libx &&
20 make clean -C libm &&
21 make clean -C libipc &&
22 make clean -C libpthread &&
23 make clean -C libsnd &&
24 rm -f tools/ips2ip/ips2ip ;
25 rm -f iso/boot/kernel.bin ;
26 rm -f iso/README ;
27 rm -f zexos-$VERSION-*.iso ;
28 rm -f zexos-$VERSION-$ARCH.img ;
29 echo "OK"
30 exit 1
33 if [ "$1" = "qemu" ] ; then
34 make -C kernel
36 if [ "$ARCH" = "arm" ] ; then
37 qemu-system-arm -kernel kernel/kernel.bin -serial stdio
38 exit 1
41 if [ "$ARCH" = "ppc" ] ; then
42 qemu-system-powerpc -kernel kernel/kernel.bin
43 exit 1
44 else
45 qemu -cdrom zexos-$VERSION-$ARCH.iso
46 exit 1
49 exit 0
52 if [ -e kernel/.config ]
53 then
54 echo "Checking for .config: OK"
55 else
56 echo "Using default kernel config - defconfig .."
57 cp kernel/defconfig kernel/.config
59 if [ -e kernel/.config ] ; then
60 echo " :)"
61 else
62 echo "Please check your .config file in kernel directory and try it again !"
63 exit 0
67 make -C kernel
68 if [ "$ARCH" = "i386" ] ; then
69 make -C libc
70 make -C libx
71 make -C libm
72 make -C libipc
73 make -C libpthread
74 make -C libsnd
77 if [ -e kernel/kernel.bin ]
78 then
79 echo "Source was compiled succefully"
82 if [ "$1" = "iso" ] ; then
83 if [ "$2" = "gui" ] ; then
84 make -C apps/zde &&
85 cp apps/zde/zde iso/ &&
86 cp apps/zde/file iso/ &&
87 cp apps/zde/border iso/ &&
88 cp apps/zde/folder iso/
91 cp kernel/kernel.bin iso/boot/kernel.bin &&
92 cp README iso/README &&
93 mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 50 -boot-info-table -o zexos-$VERSION-$ARCH.iso iso &&
94 echo iso created OK && exit 0
97 if [ "$1" = "img" ] || [ "$1" = "floppy" ] ; then
98 wget -c http://zexos.sf.net/zexos.img && \
99 mkdir zexos ; \
100 mount -oloop zexos.img zexos && \
102 if [ -e zexos-$VERSION-$ARCH.iso ] ; then
103 echo " :)"
104 else
105 echo "I have to make .iso image first"
106 cp kernel/kernel.bin iso/boot/kernel.bin &&
107 cp libc/libc.a iso/libc.a &&
108 cp README iso/README &&
109 mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o zexos-$VERSION-$ARCH.iso iso
112 mkdir zexosiso ; \
113 mount -oloop zexos-$VERSION-$ARCH.iso zexosiso && \
114 cp zexosiso/boot/kernel.bin zexos/boot/ && \
115 umount zexosiso && \
116 umount zexos && \
117 rmdir zexosiso && \
118 rmdir zexos && \
119 mv zexos.img zexos-$VERSION-$ARCH.img && \
120 rm zexos-$VERSION-$ARCH.iso && \
121 echo "OK - Image 'zexos-$VERSION-$ARCH.img' was created succefully."
122 echo "Please wait until installer copy image to floppy ..."
123 if [ "$1" = "floppy" ] ; then
124 dd if=zexos-$VERSION-$ARCH.img of=/dev/fd0 bs=1440k && \
125 echo "Installation on floppy is done, enjoy !"