* Christmas edition *; fixed irc /os command; small cleanup in fd.c; improvements...
[ZeXOS.git] / build.sh
blobe298b07b236f341653b8ee841a9fc31b97253e88
1 #!/bin/bash
3 VERSION="0.6.2"
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 libpthread &&
22 rm -f tools/ips2ip/ips2ip ;
23 rm -f iso/boot/kernel.bin ;
24 rm -f iso/libc.a ;
25 rm -f zexos-$VERSION-*.iso ;
26 rm -f zexos-$VERSION-$ARCH.img ;
27 echo "OK"
28 exit 1
31 if [ "$1" = "qemu" ] ; then
32 make -C kernel
34 if [ "$ARCH" = "arm" ] ; then
35 qemu-system-arm -nographic -kernel kernel/kernel.bin
36 exit 1
37 else
38 qemu -cdrom zexos-$VERSION-$ARCH.iso
39 exit 1
42 exit 0
45 if [ -e kernel/.config ]
46 then
47 echo "Checking for .config: OK"
48 else
49 make -C kernel xconfig
51 if [ -e kernel/.config ] ; then
52 echo " :)"
53 else
54 echo "Please check your .config file in kernel directory and try it again !"
55 exit 0
59 make -C kernel
60 if [ "$ARCH" != "arm" ] ; then
61 make -C libc &&
62 make -C libx &&
63 make -C libm &&
64 make -C libpthread
67 if [ -e kernel/kernel.bin ]
68 then
69 echo "Source was compiled succefully"
72 if [ "$1" = "iso" ] ; then
73 cp kernel/kernel.bin iso/boot/kernel.bin &&
74 cp libc/libc.a iso/libc.a &&
75 cp README iso/README &&
76 mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o zexos-$VERSION-$ARCH.iso iso &&
77 echo iso created OK && exit 0
80 if [ "$1" = "img" ] || [ "$1" = "floppy" ] ; then
81 wget -c http://zexos.sf.net/zexos.img && \
82 mkdir zexos ; \
83 mount -oloop zexos.img zexos && \
85 if [ -e zexos-$VERSION-$ARCH.iso ] ; then
86 echo " :)"
87 else
88 echo "I have to make .iso image first"
89 cp kernel/kernel.bin iso/boot/kernel.bin &&
90 cp libc/libc.a iso/libc.a &&
91 cp README iso/README &&
92 mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o zexos-$VERSION-$ARCH.iso iso
95 mkdir zexosiso ; \
96 mount -oloop zexos-$VERSION-$ARCH.iso zexosiso && \
97 cp zexosiso/boot/kernel.bin zexos/boot/ && \
98 umount zexosiso && \
99 umount zexos && \
100 rmdir zexosiso && \
101 rmdir zexos && \
102 mv zexos.img zexos-$VERSION-$ARCH.img && \
103 rm zexos-$VERSION-$ARCH.iso && \
104 echo "OK - Image 'zexos-$VERSION-$ARCH.img' was created succefully."
105 echo "Please wait until installer copy image to floppy ..."
106 if [ "$1" = "floppy" ] ; then
107 dd if=zexos-$VERSION-$ARCH.img of=/dev/fd0 bs=1440k && \
108 echo "Installation on floppy is done, enjoy !"