From 3e391c693c1b9db5d997de569a876dfcb5294436 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 21 Aug 2014 17:32:21 +0200 Subject: [PATCH] first commit (cloned from openmamba devel target) --- Makefile | 64 ++ Makefile.defs | 286 ++++++++ makedist.inc.sh | 197 +++++ platforms/bootcd/Makefile | 5 + platforms/bootcd/Makefile.defs | 6 + platforms/bootcd/post.inc.sh | 68 ++ platforms/bootcd/pre.inc.sh | 31 + platforms/bootcd/root/boot/isolinux/help.txt | 23 + .../bootcd/root/boot/isolinux/helpit.txt | 23 + platforms/bootcd/root/boot/isolinux/menu.txt | 13 + .../bootcd/root/openmamba-bootcd/CHANGES | 13 + .../bootcd/root/openmamba-bootcd/COPYING | 280 ++++++++ .../bootcd/root/openmamba-bootcd/INSTALL | 11 + platforms/bootcd/root/openmamba-bootcd/README | 4 + platforms/bootcd/root/openmamba-bootcd/TODO | 2 + platforms/bootcd/settings.inc | 21 + platforms/bootusb-test/Makefile | 5 + platforms/bootusb-test/Makefile.defs | 1 + platforms/bootusb-test/post.inc.sh | 74 ++ .../bootusb-test/root/boot/openmamba.png | Bin 0 -> 66295 bytes .../root/openmamba-bootusb/CHANGES | 22 + .../root/openmamba-bootusb/COPYING | 674 ++++++++++++++++++ .../root/openmamba-bootusb/INSTALL | 50 ++ .../root/openmamba-bootusb/README | 57 ++ .../bootusb-test/root/openmamba-bootusb/TODO | 8 + platforms/bootusb-test/settings.inc | 13 + platforms/bootusb/Makefile | 5 + platforms/bootusb/Makefile.defs | 0 platforms/bootusb/post.inc.sh | 98 +++ platforms/bootusb/root/boot/openmamba.png | Bin 0 -> 66295 bytes .../bootusb/root/openmamba-bootusb/CHANGES | 22 + .../bootusb/root/openmamba-bootusb/COPYING | 674 ++++++++++++++++++ .../bootusb/root/openmamba-bootusb/INSTALL | 50 ++ .../bootusb/root/openmamba-bootusb/README | 57 ++ platforms/bootusb/root/openmamba-bootusb/TODO | 8 + platforms/bootusb/settings.inc | 21 + platforms/flash-server/Makefile | 4 + platforms/flash-server/Makefile.defs | 0 platforms/flash-server/post.inc.sh | 36 + platforms/flash-server/root/COPYING | 280 ++++++++ platforms/flash-server/root/README | 53 ++ platforms/flash-server/settings.inc | 12 + platforms/installdvd/Makefile | 6 + platforms/installdvd/Makefile.defs | 13 + platforms/installdvd/initramfs-include.sh | 76 ++ platforms/installdvd/post.inc.sh | 125 ++++ platforms/installdvd/pre.inc.sh | 36 + .../installdvd/root-it/boot/isolinux/help.txt | 20 + .../installdvd/root-it/boot/isolinux/menu.txt | 10 + .../installdvd/root/boot/isolinux/help.txt | 20 + .../installdvd/root/boot/isolinux/menu.txt | 10 + .../root/openmamba-installdvd/COPYING | 674 ++++++++++++++++++ .../root/openmamba-installdvd/INSTALL | 9 + .../root/openmamba-installdvd/README | 14 + .../installdvd/root/openmamba-installdvd/TODO | 0 platforms/installdvd/settings.inc | 15 + platforms/livecd-gnome-root/Makefile | 36 + platforms/livecd-gnome-root/Makefile.defs | 3 + platforms/livecd-gnome-root/post.inc.sh | 78 ++ .../root/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../root/openmamba-livecd/INSTALL | 7 + .../root/openmamba-livecd/README | 12 + .../root/openmamba-livecd/TODO | 5 + platforms/livecd-gnome-root/settings.inc | 11 + platforms/livecd-light-root/Makefile | 31 + platforms/livecd-light-root/Makefile.defs | 3 + platforms/livecd-light-root/post.inc.sh | 60 ++ .../root/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../root/openmamba-livecd/INSTALL | 7 + .../root/openmamba-livecd/README | 12 + .../root/openmamba-livecd/TODO | 5 + platforms/livecd-light-root/settings.inc | 18 + platforms/livecd-root/Makefile | 30 + platforms/livecd-root/Makefile.defs | 2 + platforms/livecd-root/post.inc.sh | 72 ++ .../livecd-root/root/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../livecd-root/root/openmamba-livecd/INSTALL | 7 + .../livecd-root/root/openmamba-livecd/README | 12 + .../livecd-root/root/openmamba-livecd/TODO | 5 + platforms/livecd-root/settings.inc | 18 + platforms/livecd/Makefile | 5 + platforms/livecd/Makefile.defs | 6 + platforms/livecd/old/initramfs-include.sh | 76 ++ platforms/livecd/post.inc.sh | 152 ++++ platforms/livecd/pre.inc.sh | 36 + .../livecd/root-it/boot/isolinux/help.txt | 20 + .../livecd/root-it/boot/isolinux/menu.txt | 10 + .../livecd/root-it/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../root-it/openmamba-livecd/INSTALLAZIONE | 9 + .../livecd/root-it/openmamba-livecd/LEGGIMI | 16 + platforms/livecd/root/boot/isolinux/help.txt | 20 + platforms/livecd/root/boot/isolinux/menu.txt | 10 + .../livecd/root/boot/isolinux/openmamba.png | Bin 0 -> 66295 bytes .../livecd/root/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../livecd/root/openmamba-livecd/INSTALL | 9 + platforms/livecd/root/openmamba-livecd/README | 15 + platforms/livecd/settings.inc | 18 + platforms/livedvd-root/Makefile | 31 + platforms/livedvd-root/Makefile.defs | 2 + platforms/livedvd-root/post.inc.sh | 64 ++ .../root/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../root/openmamba-livecd/INSTALL | 7 + .../livedvd-root/root/openmamba-livecd/README | 12 + .../livedvd-root/root/openmamba-livecd/TODO | 5 + platforms/livedvd-root/settings.inc | 21 + platforms/livedvd/Makefile | 7 + platforms/livedvd/Makefile.defs | 14 + platforms/livedvd/post.inc.sh | 180 +++++ platforms/livedvd/pre.inc.sh | 36 + .../livedvd/root-it/boot/isolinux/help.txt | 20 + .../livedvd/root-it/boot/isolinux/menu.txt | 10 + .../livedvd/root-it/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../root-it/openmamba-livecd/INSTALLAZIONE | 9 + .../livedvd/root-it/openmamba-livecd/LEGGIMI | 15 + .../livedvd/root-it/openmamba-livecd/TODO | 0 platforms/livedvd/root/boot/isolinux/help.txt | 20 + platforms/livedvd/root/boot/isolinux/menu.txt | 10 + .../livedvd/root/boot/isolinux/openmamba.png | Bin 0 -> 66295 bytes .../livedvd/root/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../livedvd/root/openmamba-livecd/INSTALL | 9 + .../livedvd/root/openmamba-livecd/README | 14 + platforms/livedvd/root/openmamba-livecd/TODO | 0 platforms/livedvd/settings.inc | 25 + platforms/livegames-root/Makefile | 40 ++ platforms/livegames-root/Makefile.defs | 1 + platforms/livegames-root/post.inc.sh | 52 ++ .../root/openmamba-livegames/CHANGES | 5 + .../root/openmamba-livegames/COPYING | 280 ++++++++ .../root/openmamba-livegames/INSTALL | 6 + .../root/openmamba-livegames/README | 5 + .../root/openmamba-livegames/TODO | 1 + platforms/livegames-root/settings.inc | 12 + platforms/packages-dvd/Makefile | 0 platforms/packages-dvd/Makefile.defs | 0 platforms/packages-dvd/pre.inc.sh | 52 ++ .../packages-dvd/root/boot/isolinux/help.txt | 23 + .../packages-dvd/root/boot/isolinux/menu.txt | 8 + .../root/openmamba-livecd/CHANGES | 11 + .../root/openmamba-livecd/COPYING | 280 ++++++++ .../root/openmamba-livecd/INSTALL | 13 + .../packages-dvd/root/openmamba-livecd/README | 5 + .../packages-dvd/root/openmamba-livecd/TODO | 8 + platforms/packages-dvd/settings.inc | 8 + platforms/rootfs-light/Makefile | 39 + platforms/rootfs-light/Makefile.defs | 2 + platforms/rootfs-light/post.inc.sh | 116 +++ platforms/rootfs-light/root/etc/dhcpd.conf | 30 + .../rootfs-light/root/etc/sysconfig/dhcpd | 3 + platforms/rootfs-light/settings.inc | 28 + platforms/rootfs/Makefile | 44 ++ platforms/rootfs/Makefile.defs | 24 + platforms/rootfs/post.inc.sh | 125 ++++ platforms/rootfs/root/etc/dhcpd.conf | 30 + platforms/rootfs/root/etc/sysconfig/dhcpd | 3 + platforms/rootfs/settings.inc | 23 + platforms/testcd-root/Makefile | 29 + platforms/testcd-root/Makefile.defs | 2 + platforms/testcd-root/post.inc.sh | 67 ++ .../testcd-root/root/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../testcd-root/root/openmamba-livecd/INSTALL | 7 + .../testcd-root/root/openmamba-livecd/README | 12 + .../testcd-root/root/openmamba-livecd/TODO | 5 + platforms/testcd-root/settings.inc | 18 + platforms/testcd/Makefile | 5 + platforms/testcd/Makefile.defs | 6 + platforms/testcd/initramfs-include.sh | 82 +++ platforms/testcd/post.inc.sh | 152 ++++ platforms/testcd/pre.inc.sh | 34 + .../testcd/root-it/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../root-it/openmamba-livecd/INSTALLAZIONE | 9 + .../testcd/root-it/openmamba-livecd/LEGGIMI | 16 + platforms/testcd/root/boot/grub/grub.cfg | 113 +++ .../boot/grub/openmamba-grub-1024x768.png | Bin 0 -> 40856 bytes platforms/testcd/root/boot/grub/unifont.pf2 | Bin 0 -> 31549 bytes platforms/testcd/root/boot/isolinux/help.txt | 20 + platforms/testcd/root/boot/isolinux/menu.txt | 10 + .../testcd/root/boot/isolinux/openmamba.png | Bin 0 -> 66295 bytes .../testcd/root/openmamba-livecd/COPYING | 674 ++++++++++++++++++ .../testcd/root/openmamba-livecd/INSTALL | 9 + platforms/testcd/root/openmamba-livecd/README | 15 + platforms/testcd/settings.inc | 21 + platforms/virtualserver/Makefile | 4 + platforms/virtualserver/Makefile.defs | 0 platforms/virtualserver/post.inc.sh | 45 ++ platforms/virtualserver/root/COPYING | 280 ++++++++ platforms/virtualserver/root/README | 53 ++ platforms/virtualserver/settings.inc | 12 + settings.inc | 25 + 188 files changed, 15388 insertions(+) create mode 100644 Makefile create mode 100644 Makefile.defs create mode 100644 makedist.inc.sh create mode 100644 platforms/bootcd/Makefile create mode 100644 platforms/bootcd/Makefile.defs create mode 100644 platforms/bootcd/post.inc.sh create mode 100644 platforms/bootcd/pre.inc.sh create mode 100644 platforms/bootcd/root/boot/isolinux/help.txt create mode 100644 platforms/bootcd/root/boot/isolinux/helpit.txt create mode 100644 platforms/bootcd/root/boot/isolinux/menu.txt create mode 100644 platforms/bootcd/root/openmamba-bootcd/CHANGES create mode 100644 platforms/bootcd/root/openmamba-bootcd/COPYING create mode 100644 platforms/bootcd/root/openmamba-bootcd/INSTALL create mode 100644 platforms/bootcd/root/openmamba-bootcd/README create mode 100644 platforms/bootcd/root/openmamba-bootcd/TODO create mode 100644 platforms/bootcd/settings.inc create mode 100644 platforms/bootusb-test/Makefile create mode 100644 platforms/bootusb-test/Makefile.defs create mode 100644 platforms/bootusb-test/post.inc.sh create mode 100644 platforms/bootusb-test/root/boot/openmamba.png create mode 100644 platforms/bootusb-test/root/openmamba-bootusb/CHANGES create mode 100644 platforms/bootusb-test/root/openmamba-bootusb/COPYING create mode 100644 platforms/bootusb-test/root/openmamba-bootusb/INSTALL create mode 100644 platforms/bootusb-test/root/openmamba-bootusb/README create mode 100644 platforms/bootusb-test/root/openmamba-bootusb/TODO create mode 100644 platforms/bootusb-test/settings.inc create mode 100644 platforms/bootusb/Makefile create mode 100644 platforms/bootusb/Makefile.defs create mode 100644 platforms/bootusb/post.inc.sh create mode 100644 platforms/bootusb/root/boot/openmamba.png create mode 100644 platforms/bootusb/root/openmamba-bootusb/CHANGES create mode 100644 platforms/bootusb/root/openmamba-bootusb/COPYING create mode 100644 platforms/bootusb/root/openmamba-bootusb/INSTALL create mode 100644 platforms/bootusb/root/openmamba-bootusb/README create mode 100644 platforms/bootusb/root/openmamba-bootusb/TODO create mode 100644 platforms/bootusb/settings.inc create mode 100644 platforms/flash-server/Makefile create mode 100644 platforms/flash-server/Makefile.defs create mode 100644 platforms/flash-server/post.inc.sh create mode 100644 platforms/flash-server/root/COPYING create mode 100644 platforms/flash-server/root/README create mode 100644 platforms/flash-server/settings.inc create mode 100644 platforms/installdvd/Makefile create mode 100644 platforms/installdvd/Makefile.defs create mode 100644 platforms/installdvd/initramfs-include.sh create mode 100644 platforms/installdvd/post.inc.sh create mode 100644 platforms/installdvd/pre.inc.sh create mode 100644 platforms/installdvd/root-it/boot/isolinux/help.txt create mode 100644 platforms/installdvd/root-it/boot/isolinux/menu.txt create mode 100644 platforms/installdvd/root/boot/isolinux/help.txt create mode 100644 platforms/installdvd/root/boot/isolinux/menu.txt create mode 100644 platforms/installdvd/root/openmamba-installdvd/COPYING create mode 100644 platforms/installdvd/root/openmamba-installdvd/INSTALL create mode 100644 platforms/installdvd/root/openmamba-installdvd/README create mode 100644 platforms/installdvd/root/openmamba-installdvd/TODO create mode 100644 platforms/installdvd/settings.inc create mode 100644 platforms/livecd-gnome-root/Makefile create mode 100644 platforms/livecd-gnome-root/Makefile.defs create mode 100644 platforms/livecd-gnome-root/post.inc.sh create mode 100644 platforms/livecd-gnome-root/root/openmamba-livecd/COPYING create mode 100644 platforms/livecd-gnome-root/root/openmamba-livecd/INSTALL create mode 100644 platforms/livecd-gnome-root/root/openmamba-livecd/README create mode 100644 platforms/livecd-gnome-root/root/openmamba-livecd/TODO create mode 100644 platforms/livecd-gnome-root/settings.inc create mode 100644 platforms/livecd-light-root/Makefile create mode 100644 platforms/livecd-light-root/Makefile.defs create mode 100644 platforms/livecd-light-root/post.inc.sh create mode 100644 platforms/livecd-light-root/root/openmamba-livecd/COPYING create mode 100644 platforms/livecd-light-root/root/openmamba-livecd/INSTALL create mode 100644 platforms/livecd-light-root/root/openmamba-livecd/README create mode 100644 platforms/livecd-light-root/root/openmamba-livecd/TODO create mode 100644 platforms/livecd-light-root/settings.inc create mode 100644 platforms/livecd-root/Makefile create mode 100644 platforms/livecd-root/Makefile.defs create mode 100644 platforms/livecd-root/post.inc.sh create mode 100644 platforms/livecd-root/root/openmamba-livecd/COPYING create mode 100644 platforms/livecd-root/root/openmamba-livecd/INSTALL create mode 100644 platforms/livecd-root/root/openmamba-livecd/README create mode 100644 platforms/livecd-root/root/openmamba-livecd/TODO create mode 100644 platforms/livecd-root/settings.inc create mode 100644 platforms/livecd/Makefile create mode 100644 platforms/livecd/Makefile.defs create mode 100644 platforms/livecd/old/initramfs-include.sh create mode 100644 platforms/livecd/post.inc.sh create mode 100644 platforms/livecd/pre.inc.sh create mode 100644 platforms/livecd/root-it/boot/isolinux/help.txt create mode 100644 platforms/livecd/root-it/boot/isolinux/menu.txt create mode 100644 platforms/livecd/root-it/openmamba-livecd/COPYING create mode 100644 platforms/livecd/root-it/openmamba-livecd/INSTALLAZIONE create mode 100644 platforms/livecd/root-it/openmamba-livecd/LEGGIMI create mode 100644 platforms/livecd/root/boot/isolinux/help.txt create mode 100644 platforms/livecd/root/boot/isolinux/menu.txt create mode 100644 platforms/livecd/root/boot/isolinux/openmamba.png create mode 100644 platforms/livecd/root/openmamba-livecd/COPYING create mode 100644 platforms/livecd/root/openmamba-livecd/INSTALL create mode 100644 platforms/livecd/root/openmamba-livecd/README create mode 100644 platforms/livecd/settings.inc create mode 100644 platforms/livedvd-root/Makefile create mode 100644 platforms/livedvd-root/Makefile.defs create mode 100644 platforms/livedvd-root/post.inc.sh create mode 100644 platforms/livedvd-root/root/openmamba-livecd/COPYING create mode 100644 platforms/livedvd-root/root/openmamba-livecd/INSTALL create mode 100644 platforms/livedvd-root/root/openmamba-livecd/README create mode 100644 platforms/livedvd-root/root/openmamba-livecd/TODO create mode 100644 platforms/livedvd-root/settings.inc create mode 100644 platforms/livedvd/Makefile create mode 100644 platforms/livedvd/Makefile.defs create mode 100644 platforms/livedvd/post.inc.sh create mode 100644 platforms/livedvd/pre.inc.sh create mode 100644 platforms/livedvd/root-it/boot/isolinux/help.txt create mode 100644 platforms/livedvd/root-it/boot/isolinux/menu.txt create mode 100644 platforms/livedvd/root-it/openmamba-livecd/COPYING create mode 100644 platforms/livedvd/root-it/openmamba-livecd/INSTALLAZIONE create mode 100644 platforms/livedvd/root-it/openmamba-livecd/LEGGIMI create mode 100644 platforms/livedvd/root-it/openmamba-livecd/TODO create mode 100644 platforms/livedvd/root/boot/isolinux/help.txt create mode 100644 platforms/livedvd/root/boot/isolinux/menu.txt create mode 100644 platforms/livedvd/root/boot/isolinux/openmamba.png create mode 100644 platforms/livedvd/root/openmamba-livecd/COPYING create mode 100644 platforms/livedvd/root/openmamba-livecd/INSTALL create mode 100644 platforms/livedvd/root/openmamba-livecd/README create mode 100644 platforms/livedvd/root/openmamba-livecd/TODO create mode 100644 platforms/livedvd/settings.inc create mode 100644 platforms/livegames-root/Makefile create mode 100644 platforms/livegames-root/Makefile.defs create mode 100644 platforms/livegames-root/post.inc.sh create mode 100644 platforms/livegames-root/root/openmamba-livegames/CHANGES create mode 100644 platforms/livegames-root/root/openmamba-livegames/COPYING create mode 100644 platforms/livegames-root/root/openmamba-livegames/INSTALL create mode 100644 platforms/livegames-root/root/openmamba-livegames/README create mode 100644 platforms/livegames-root/root/openmamba-livegames/TODO create mode 100644 platforms/livegames-root/settings.inc create mode 100644 platforms/packages-dvd/Makefile create mode 100644 platforms/packages-dvd/Makefile.defs create mode 100644 platforms/packages-dvd/pre.inc.sh create mode 100644 platforms/packages-dvd/root/boot/isolinux/help.txt create mode 100644 platforms/packages-dvd/root/boot/isolinux/menu.txt create mode 100644 platforms/packages-dvd/root/openmamba-livecd/CHANGES create mode 100644 platforms/packages-dvd/root/openmamba-livecd/COPYING create mode 100644 platforms/packages-dvd/root/openmamba-livecd/INSTALL create mode 100644 platforms/packages-dvd/root/openmamba-livecd/README create mode 100644 platforms/packages-dvd/root/openmamba-livecd/TODO create mode 100644 platforms/packages-dvd/settings.inc create mode 100644 platforms/rootfs-light/Makefile create mode 100644 platforms/rootfs-light/Makefile.defs create mode 100644 platforms/rootfs-light/post.inc.sh create mode 100644 platforms/rootfs-light/root/etc/dhcpd.conf create mode 100644 platforms/rootfs-light/root/etc/sysconfig/dhcpd create mode 100644 platforms/rootfs-light/settings.inc create mode 100644 platforms/rootfs/Makefile create mode 100644 platforms/rootfs/Makefile.defs create mode 100644 platforms/rootfs/post.inc.sh create mode 100644 platforms/rootfs/root/etc/dhcpd.conf create mode 100644 platforms/rootfs/root/etc/sysconfig/dhcpd create mode 100644 platforms/rootfs/settings.inc create mode 100644 platforms/testcd-root/Makefile create mode 100644 platforms/testcd-root/Makefile.defs create mode 100644 platforms/testcd-root/post.inc.sh create mode 100644 platforms/testcd-root/root/openmamba-livecd/COPYING create mode 100644 platforms/testcd-root/root/openmamba-livecd/INSTALL create mode 100644 platforms/testcd-root/root/openmamba-livecd/README create mode 100644 platforms/testcd-root/root/openmamba-livecd/TODO create mode 100644 platforms/testcd-root/settings.inc create mode 100644 platforms/testcd/Makefile create mode 100644 platforms/testcd/Makefile.defs create mode 100644 platforms/testcd/initramfs-include.sh create mode 100644 platforms/testcd/post.inc.sh create mode 100644 platforms/testcd/pre.inc.sh create mode 100644 platforms/testcd/root-it/openmamba-livecd/COPYING create mode 100644 platforms/testcd/root-it/openmamba-livecd/INSTALLAZIONE create mode 100644 platforms/testcd/root-it/openmamba-livecd/LEGGIMI create mode 100644 platforms/testcd/root/boot/grub/grub.cfg create mode 100644 platforms/testcd/root/boot/grub/openmamba-grub-1024x768.png create mode 100644 platforms/testcd/root/boot/grub/unifont.pf2 create mode 100644 platforms/testcd/root/boot/isolinux/help.txt create mode 100644 platforms/testcd/root/boot/isolinux/menu.txt create mode 100644 platforms/testcd/root/boot/isolinux/openmamba.png create mode 100644 platforms/testcd/root/openmamba-livecd/COPYING create mode 100644 platforms/testcd/root/openmamba-livecd/INSTALL create mode 100644 platforms/testcd/root/openmamba-livecd/README create mode 100644 platforms/testcd/settings.inc create mode 100644 platforms/virtualserver/Makefile create mode 100644 platforms/virtualserver/Makefile.defs create mode 100644 platforms/virtualserver/post.inc.sh create mode 100644 platforms/virtualserver/root/COPYING create mode 100644 platforms/virtualserver/root/README create mode 100644 platforms/virtualserver/settings.inc create mode 100644 settings.inc diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..29dd33c --- /dev/null +++ b/Makefile @@ -0,0 +1,64 @@ +$(MAKEDIST_TARGET): rpm make +# gcc gcc-c++ gcc-cpp +$(MAKEDIST_TARGET)-devel: + @[ "$(RELEASE)" = "devel" -o "$(RELEASE)" = "" ] && echo -n "openmamba-devel "; \ + : +$(MAKEDIST_TARGET)-base: filesystem gzip texinfo ldconfig bash libreadline glibc \ + ncurses initscripts setup coreutils rootfiles chkconfig \ + udev ttf-freefont libpython libgpm debianutils +# splashutils +$(MAKEDIST_TARGET)-firmwares: ipw2100-firmware ipw2200-firmware zd1211-firmware radeon-firmware \ + rt2501-firmware rt2860-firmware rt2870-firmware r5u87x-firmware +$(MAKEDIST_TARGET)-commontools: $(_init_system) util-linux kmod \ + procps sed grep tar bzip2 unzip zip pciutils lshw \ + pam shadow-common pwdutils acpid mingetty screen \ + net-tools prelink mc dhcpclient timezone nfs-utils \ + wireless_tools wpa_supplicant openmamba-release refit-tools openssh-clients \ + dosfstools man mbr iptables cups vim iputils sudo postplug less \ + reiserfsprogs ppp b43-tools mdadm usb-modeswitch \ + usbutils ftp telnet whois eject bluez lsof rsync \ + pcmcia-utils xdg-utils iproute $(MAKEDIST_TARGET)-firmwares \ + dracut postfix $(MAKEDIST_TARGET)-devel +$(MAKEDIST_TARGET)-debug: strace valgrind gdb minicom openssh-server dhcpclient rpm iputils \ + openssh-clients diffutils Mesa-tools kbd mc openmamba-release +#bootchart +$(MAKEDIST_TARGET)-advanced: hdparm hibernate + +# empty language and arch target to be overriden next +$(MAKEDIST_TARGET)-$(PLATFORM)-$(LANGUAGE): +$(MAKEDIST_TARGET)-$(PLATFORM)-$(ARCH): + +ifdef PLATFORM +include $(TARGETSDIR)/$(TARGET)/platforms/$(PLATFORM)/Makefile +endif + +kdelibs3: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ + [ "$(MULTILANGUAGE)" ] && for l in $(MULTILANGUAGE); do echo -n "kde-i18n-$$l "; done; \ + [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-i18n-$(LANGUAGE) "; } || : +kdelibs: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ + [ "$(MULTILANGUAGE)" != "" ] && for l in $(MULTILANGUAGE); do echo -n "kde-l10n-$$l "; done; \ + [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-l10n-$(LANGUAGE) "; } || : +koffice: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ +# [ "$(MULTILANGUAGE)" != "" ] && for l in $(MULTILANGUAGE); do echo -n "koffice-i18n-$$l "; done; \ + [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "koffice-i18n-$(LANGUAGE) "; } || : +#k3b: +# @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ +# { echo -n "$@ "; \ +# [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "k3b-i18n-$(LANGUAGE) " +# } || : +aspell: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ + [ "$(MULTILANGUAGE)" ] && for l in $(MULTILANGUAGE); do echo -n "aspell-$$l "; done; \ + [ ! "$(LANGUAGE)" = "" ] && echo -n "aspell-$(LANGUAGE) "; } || : +libreoffice: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ + [ "$(MULTILANGUAGE)" != "" ] && for l in $(MULTILANGUAGE); do echo -n "libreoffice-i18n-$$l "; done; \ + [ ! "$(LANGUAGE)" = "" ] && echo -n "libreoffice-i18n-$(LANGUAGE) "; } || : diff --git a/Makefile.defs b/Makefile.defs new file mode 100644 index 0000000..9fb18b1 --- /dev/null +++ b/Makefile.defs @@ -0,0 +1,286 @@ +# def file for openmamba platforms + +/bin/sh = bash + +# systemd/sysvinit +_initsystem = systemd +/sbin/halt = $(_initsystem) +/sbin/init = $(_initsystem) +/sbin/poweroff = $(_initsystem) +/sbin/reboot = $(_initsystem) +/sbin/runlevel = $(_initsystem) +/sbin/shutdown = $(_initsystem) +/sbin/telinit = $(_initsystem) + +#xorgproprietary = xorg-drv-video-fglrx xorg-drv-video-nvidia + +ifeq ($(ARCH),i586) +# libc +libpthread.so.0 = glibc +# kernel +kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia +kernelsound = kernel-$(KERNEL_EXTRAVER)-sound +kernelheaders = kernel-$(KERNEL_EXTRAVER)-headers +# FIXME: r8101 is a ethernet driver but virtual requirement is called kernelwireless +kernelwireless = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl kernel-$(KERNEL_EXTRAVER)-r8101 +kernelsound-$(KERNEL_EXTRAVER) = kernel-$(KERNEL_EXTRAVER)-sound +kernelwireless-$(KERNEL_EXTRAVER) = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl kernel-$(KERNEL_EXTRAVER)-r8101 +kernelsound-$(KERNEL_EXTRAVER)-$(KERNEL_MAJVER) = kernel-$(KERNEL_EXTRAVER)-sound +kernelwireless-$(KERNEL_EXTRAVER)-$(KERNEL_MAJVER) = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl kernel-$(KERNEL_EXTRAVER)-r8101 +# kernel-$(KERNEL_EXTRAVER)-atl1e kernel-$(KERNEL_EXTRAVER)-rtl8192se +kernelfglrx = kernel-$(KERNEL_EXTRAVER)-nongpl-fglrx +kernelslmodem = kernel-$(KERNEL_EXTRAVER)-nongpl-softmodems +kernelhsfmodem = kernel-$(KERNEL_EXTRAVER)-nongpl-softmodems +kernelvboxdrv = kernel-$(KERNEL_EXTRAVER)-vboxdrv +kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia +kernelnvidia_173xx = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_173xx +kernelnvidia_71xx = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx +kernelnvidia_96xx = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx +kernelndiswrapper = kernel-$(KERNEL_EXTRAVER)-ndiswrapper +kernellirc = kernel-$(KERNEL_EXTRAVER)-lirc +#kernelvboxvideo = kernel-$(KERNEL_EXTRAVER)-vboxvideo + +ifdef KERNEL_MORE_EXTRAVER +# extra kernel (FIXME: only supports single extra kernel) +kernelnvidia += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-nvidia +# kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-nvidia_96xx +kernelsound += kernel-$(KERNEL_MORE_EXTRAVER)-sound +kernelheaders += kernel-$(KERNEL_MORE_EXTRAVER)-headers +kernelwireless += kernel-$(KERNEL_MORE_EXTRAVER)-wireless kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-wl kernel-$(KERNEL_MORE_EXTRAVER)-r8101 +kernelsound-$(KERNEL_MORE_EXTRAVER) += kernel-$(KERNEL_MORE_EXTRAVER)-sound +kernelwireless-$(KERNEL_MORE_EXTRAVER) += kernel-$(KERNEL_MORE_EXTRAVER)-wireless kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-wl kernel-$(KERNEL_MORE_EXTRAVER)-r8101 +kernelsound-$(KERNEL_MORE_EXTRAVER)-$(KERNEL_MAJVER) += kernel-$(KERNEL_MORE_EXTRAVER)-sound +kernelwireless-$(KERNEL_MORE_EXTRAVER)-$(KERNEL_MAJVER) += kernel-$(KERNEL_MORE_EXTRAVER)-wireless kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-wl kernel-$(KERNEL_MORE_EXTRAVER)-r8101 +# kernel-$(KERNEL_MORE_EXTRAVER)-rtl8192se kernel-$(KERNEL_MORE_EXTRAVER)-atl1e +kernelfglrx += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-fglrx +kernelslmodem += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-softmodems +kernelhsfmodem += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-softmodems +kernelvboxdrv += kernel-$(KERNEL_MORE_EXTRAVER)-vboxdrv +kernelnvidia += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-nvidia +kernelnvidia_173xx += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-nvidia_173xx +kernelnvidia_71xx += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-nvidia_71xx +kernelnvidia_96xx += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-nvidia_96xx +kernelndiswrapper += kernel-$(KERNEL_MORE_EXTRAVER)-ndiswrapper +kernellirc += kernel-$(KERNEL_MORE_EXTRAVER)-lirc +#kernelvboxvideo += kernel-$(KERNEL_MORE_EXTRAVER)-vboxvideo +endif +endif + +ifeq ($(ARCH),arm) +# xorg +xorglibGL = libGL-Mesa-dri +xorglibglx = xorg-ext-libglx +xorgdrvvideo = xorg-drv-video-fbdev xf86-video-modesetting +# xorg-drv-video-tegra +libEGL.so = libraspberrypi +libGLESv2.so = libraspberrypi +endif + +ifeq ($(ARCH),i586) +# xorg +xorglibGL = libGL-Mesa-dri +# libGL-fglrx-X11 libGL-nvidia-X11 +xorglibglx = xorg-ext-libglx +# xorg-ext-libglx-nvidia +libGLcore.so.1 = xorg-drv-video-nvidia +# xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx +libnvidia-tls.so.1 = xorg-drv-video-nvidia +libvdpau.so.1 = libvdpau +libvdpau_trace.so.1 = libvdpau +xorgdrvvideo = xorg-drv-video-ast xorg-drv-video-ati xorg-drv-video-cirrus xorg-drv-video-dummy xorg-drv-video-fbdev \ + xorg-drv-video-intel xorg-drv-video-mach64 xorg-drv-video-mga xorg-drv-video-neomagic xorg-drv-video-nouveau \ + xorg-drv-video-openchrome xorg-drv-video-r128 xorg-drv-video-s3virge xorg-drv-video-savage xf86-video-modesetting \ + xorg-drv-video-v4l xorg-drv-video-vesa xorg-drv-video-vmware xorg-drv-video-voodoo $(xorgproprietary) +# xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-vboxvideo +bootloader = syslinux +endif + +ifeq ($(ARCH),x86_64) +# xorg +xorglibGL = libGL-Mesa-dri +# libGL-nvidia-X11 libGL-fglrx-X11 +xorglibglx = xorg-ext-libglx +# xorg-ext-libglx-nvidia +libGLcore.so.1 = xorg-drv-video-nvidia +libnvidia-tls.so.1 = xorg-drv-video-nvidia +libvdpau.so.1[][64bit] = libvdpau +libvdpau_trace.so.1[][64bit] = libvdpau +xorgdrvvideo = xorg-drv-video-ast xorg-drv-video-ati xorg-drv-video-cirrus xorg-drv-video-dummy xorg-drv-video-fbdev \ + xorg-drv-video-intel xorg-drv-video-mach64 xorg-drv-video-mga xorg-drv-video-neomagic xorg-drv-video-nouveau \ + xorg-drv-video-openchrome xorg-drv-video-r128 xorg-drv-video-s3virge xorg-drv-video-savage xf86-video-modesetting \ + xorg-drv-video-v4l xorg-drv-video-vesa xorg-drv-video-vmware xorg-drv-video-voodoo $(xorgproprietary) +bootloader = syslinux +endif + +libOpenCL.so.1 = xorg-drv-video-fglrx xorg-drv-video-nvidia +xorgdrvinput = xorg-drv-input-void xorg-drv-input-synaptics xorg-drv-input-evdev +# xorg-drv-input-mouse xorg-drv-input-keyboard xorg-drv-input-joystick xorg-drv-input-evtouch xorg-drv-input-vboxmouse +splashtheme = splash-theme-openmamba +alsaplayer_output = alsaplayer-output-alsa +#libscanpci.so = xorg-server + +ifeq ($(ARCH),x86_64) +libGL.so.1[][64bit] = libGL-Mesa-dri +libGLU.so.1[][64bit] = libGL-Mesa-dri +libgtkpeer.so[][64bit] = libgcj4 +libjvm.so[][64bit] = libgcj4 +libjawt.so[][64bit] = java-openjdk-runtime +libawt.so[][64bit] = libgcj4 +libjava.so[][64bit] = java-openjdk-runtime +libjava_crw_demo.so[][64bit] = java-openjdk-runtime +libjli.so[][64bit] = java-openjdk-runtime +libjli.so[SUNWprivate_1.1][64bit] = java-openjdk-runtime +libmawt.so[][64bit] = java-openjdk-runtime +libnet.so[][64bit] = java-openjdk-runtime +libverify.so[][64bit] = java-openjdk-runtime +libjava.so[SUNWprivate_1.1][64bit] = java-openjdk-runtime +libjava_crw_demo.so[SUNWprivate_1.1][64bit] = java-openjdk-runtime +libjvm.so[SUNWprivate_1.1][64bit] = java-openjdk-runtime +libjawt.so[SUNWprivate_1.1][64bit] = java-openjdk-runtime +libmawt.so[SUNWprivate_1.1][64bit] = java-openjdk-runtime +libnet.so[SUNWprivate_1.1][64bit] = java-openjdk-runtime +libverify.so[SUNWprivate_1.1][64bit] = java-openjdk-runtime +libphonon.so.4[][64bit] = libphonon +liblapack.so.3[][64bit] = liblapack +libatlas.so.3[][64bit] = libatlas +libcblas.so.3[][64bit] = libatlas +libf77blas.so.3[][64bit] = libatlas +libptcblas.so.3[][64bit] = libatlas +libptf77blas.so.3[][64bit] = libatlas +# ffmpeg / libav +libavutil.so.52[][64bit] = libavutil-ffmpeg +libavutil.so.52[LIBAVUTIL_52][64bit] = libavutil-ffmpeg +libswscale.so.2[][64bit] = libswscale-ffmpeg +libswscale.so.2[LIBSWSCALE_2][64bit] = libswscale-ffmpeg +libpostproc.so.52[][64bit] = libpostproc-ffmpeg +libpostproc.so.52[LIBPOSTPROC_52][64bit] = libpostproc-ffmpeg +libswresample.so.0[][64bit] = libswresample-ffmpeg +libswresample.so.0[LIBSWRESAMPLE_0][64bit] = libswresample-ffmpeg +else +libGL.so.1 = libGL-Mesa-dri +libGLU.so.1 = libGL-Mesa-dri +libgtkpeer.so = libgcj4 +libjvm.so = libgcj4 +libjawt.so = libgcj4 +libawt.so = libgcj4 +libjava.so = java-openjdk-runtime +libjava_crw_demo.so = java-openjdk-runtime +libjli.so = java-openjdk-runtime +libjli.so[SUNWprivate_1.1] = java-openjdk-runtime +libmawt.so = java-openjdk-runtime +libnet.so = java-openjdk-runtime +libverify.so = java-openjdk-runtime +libjava.so[SUNWprivate_1.1] = java-openjdk-runtime +libjava_crw_demo.so[SUNWprivate_1.1] = java-openjdk-runtime +libjvm.so[SUNWprivate_1.1] = java-openjdk-runtime +libjawt.so[SUNWprivate_1.1] = java-openjdk-runtime +libmawt.so[SUNWprivate_1.1] = java-openjdk-runtime +libnet.so[SUNWprivate_1.1] = java-openjdk-runtime +libverify.so[SUNWprivate_1.1] = java-openjdk-runtime +libphonon.so.4 = libphonon +liblapack.so.3 = liblapack +libatlas.so.3 = libatlas +libcblas.so.3 = libatlas +libf77blas.so.3 = libatlas +libptcblas.so.3 = libatlas +libptf77blas.so.3 = libatlas +# ffmpeg / libav +libavutil.so.52 = libavutil-ffmpeg +libavutil.so.52[LIBAVUTIL_52] = libavutil-ffmpeg +libswscale.so.2 = libswscale-ffmpeg +libswscale.so.2[LIBSWSCALE_2] = libswscale-ffmpeg +libpostproc.so.52 = libpostproc-ffmpeg +libpostproc.so.52[LIBPOSTPROC_52] = libpostproc-ffmpeg +libswresample.so.0 = libswresample-ffmpeg +libswresample.so.0[LIBSWRESAMPLE_0] = libswresample-ffmpeg +endif +/usr/bin/python = python +python[abi] = python +libpython = libpython +python = python +sopranobackend = soprano-backend-virtuoso +dhcpclient = dhcp-client +networkmanagergui = network-manager-applet +phonon_backend = phonon-backend-gstreamer +mono[Mono.Cecil] = mono-core +mono[Mono.Cecil.Mdb] = mono-core +mono[gdk-sharp]= gtk-sharp2 +mono[gtk-sharp]= gtk-sharp2 +mono[glib-sharp]= gtk-sharp2 +mono[pango-sharp]= gtk-sharp2 + +libxul.so = xulrunner +libkorganizer.so.1 = korganizer +libkorganizer_calendar.so.1 = korganizer +libkorganizer_eventviewer.so.1 = korganizer +libsmb4kdialogs.so = smb4k4 + +perl[B] = perl +perl[bytes] = perl +perl[Automake__General] = automake +perl[Automake__Struct] = automake +perl[Automake__Struct__Tie_ISA] = automake +perl[Automake__XFile] = automake + +perl[DynaLoader] = perl + +/usr/bin/expect = expect +/usr/bin/expectk = expect-tk +/usr/bin/test = coreutils +/usr/bin/wish = libtk +/sbin/nologin= util-linux +/bin/login= util-linux +/usr/bin/chfn= pwdutils +/usr/bin/chsh= pwdutils +/usr/bin/newgrp= pwdutils +/usr/bin/passwd= pwdutils +/usr/sbin/groupadd= pwdutils +/usr/sbin/groupdel= pwdutils +/usr/sbin/groupmod= pwdutils +/usr/sbin/useradd= pwdutils +/usr/sbin/userdel= pwdutils +/usr/sbin/usermod= pwdutils +/usr/sbin/pwconv= pwdutils +/usr/sbin/pwunconv= pwdutils +/usr/sbin/sendmail = postfix +/usr/bin/cdrecord = cdrkit +/usr/bin/mkisofs = cdrkit +/usr/bin/readcd = cdrkit +libgs.so.9 = ghostscript +udev = udev +libudev.so.0 = udev +libgudev-1.0.so.0 = udev +libexpect5.44.1.15.so = expect + +ffmpegpresets := ffmpeg-presets + +# libreoffice +libreofficei18n = libreoffice-i18n-$(LANGUAGE) + +# vpn +networkmanagervpnplugin = NetworkManager-openvpn +knetworkmanagervpnplugin = plasma-applet-networkmanagement-openvpn + +packagekitgui = kpackagekit +firewallgui = kcm_ufw + +ifeq ($(ARCH),x86_64) +libexpect5.44.1.15.so[][64bit] = expect +# x86_64 glibc vs. glibc-multilib-utils and ldconfig vs ldconfig-multilib preferences +/sbin/ldconfig = ldconfig +/usr/bin/gencat = glibc +/usr/bin/getconf = glibc +/usr/bin/iconv = glibc +/usr/bin/locale = glibc +/usr/bin/localedef = glibc +rtld[GNU_HASH] = ldconfig +rtld[GNU_UNIQUE] = ldconfig +libgs.so.9[][64bit] = ghostscript +endif + +ksplashtheme = ksplash-theme-openmamba +ksplash-theme-openmamba = ksplash-theme-openmamba + +ifdef PLATFORM +include $(TARGETSDIR)/$(TARGET)/platforms/$(PLATFORM)/Makefile.defs +endif diff --git a/makedist.inc.sh b/makedist.inc.sh new file mode 100644 index 0000000..0d244c8 --- /dev/null +++ b/makedist.inc.sh @@ -0,0 +1,197 @@ +# execute platform specific script +[ -e $TARGETDIR/platforms/$PLATFORM/pre.inc.sh ] && . $TARGETDIR/platforms/$PLATFORM/pre.inc.sh + +[ "$PRODUCT_NAME" ] && \ + MEDIA_NAME=`PLATFORM=$PRODUCT_NAME media_name` || + MEDIA_NAME=`media_name` + +#if [ "$FORCE" = "1" -o ! -e "$LOCALSTATEDIR/$MEDIA_NAME" ]; then + +[ $MEDIA = "raw" ] && create_raw_filesystem $LOCALSTATEDIR/$MEDIA_NAME $MEDIA_SIZE 1024k $ROOTFS + +#create_livecd +initialize_root_dir +create_rpm_database +create_devices + +echo "Installing preparation packages..." +install_rpms "filesystem gzip texinfo ldconfig bash libreadline glibc libncurses initscripts setup coreutils chkconfig \ +libattr libstdc++6 libpam pam" "--nodeps --noorder --noscripts" + +[ "$LANGUAGE" ] && { + + [ "$LANGUAGE" = "en" ] && KEYMAP=us || KEYMAP="$LANGUAGE" + + # configure localization + if [ ! "$MULTILANGUAGE" ]; then + cat > $MOUNTDIR/etc/vconsole.conf << _EOF +KEYMAP=$KEYMAP +FONT=lat9w-16 +FONT_MAP=8859-1_to_uni +FONT_UNIMAP= +UNICODE=1 +_EOF + else + cat > $MOUNTDIR/etc/vconsole.conf << _EOF +FONT=lat9w-16 +FONT_MAP=8859-1_to_uni +FONT_UNIMAP= +UNICODE=1 +_EOF + fi + + [ "$COUNTRY" ] && { + if [ ! "$MULTILANGUAGE" ]; then + cat > $MOUNTDIR/etc/locale.conf << _EOF +LANG=${LANGUAGE}_${COUNTRY}.UTF-8 +LC_COLLATE=C +_EOF + else + cat > $MOUNTDIR/etc/locale.conf << _EOF +LC_COLLATE=C +_EOF + fi + } + +} + +# Workaround: avoid a circular dependency with bash +INSTALLED="texinfo" + +#install_rpms_by_target \ +# "Installing kernel..." mtd-base \ +# "$NOARCHDIR/filesystem*" + +#if [ "$BUILDARCH" != "$ARCH" ]; then +# NOSCRIPTARG="--noscripts" +#fi + +if [ "$BUILDARCH" != "$ARCH" ]; then + pre_qemu + QEMU_COPIED_FOR_INST=1 +fi + +install_rpms_by_target "Installing base packages for ${MAKEDIST_TARGET} target" ${MAKEDIST_TARGET}-base "--replacepkgs ${RPMEXTRAARGS} ${NOSCRIPTARG}" + +pre_install_rpms + +if [ ! "$KERNEL_IGNORE" ]; then + for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + install_kernel ${K}${KERNEL_PLATFORM} "${KERNEL_ADDITIONAL}" + done +fi + +# set system hostname and domain +[[ "$TARGET_HOSTNAME" ]] || TARGET_HOSTNAME="$MAKEDIST_TARGET" +[[ "$TARGET_DOMAIN" ]] || TARGET_DOMAIN="localdomain" + +echo "$TARGET_HOSTNAME" > $MOUNTDIR/etc/hostname +sed -i "s|HOSTNAME=.*|HOSTNAME=$TARGET_HOSTNAME|" $MOUNTDIR/etc/sysconfig/network +sed -i "s|\(127\.0\.0\.1\W*\)\(.*\)|\1 $TARGET_HOSTNAME.$TARGET_DOMAIN $TARGET_HOSTNAME \2|" \ + $MOUNTDIR/etc/hosts + +#install_rpms_by_target "Installing tools packages for ${MAKEDIST_TARGET} target" ${MAKEDIST_TARGET}-tools "" +install_rpms_by_target "Installing ${PLATFORM} platform packages" ${MAKEDIST_TARGET}-${PLATFORM} "${RPMEXTRAARGS}" + +if [ "$MULTILANGUAGE" ]; then + for l in $MULTILANGUAGE; do + install_rpms_by_target "Installing ${PLATFORM} platform localization packages for language $l" ${MAKEDIST_TARGET}-${PLATFORM}-${l} "${RPMEXTRAARGS}" + done +else + [ "$LANGUAGE" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for language $LANGUAGE" ${MAKEDIST_TARGET}-${PLATFORM}-${LANGUAGE} "${RPMEXTRAARGS}" +fi +[ "$ARCH" ] && install_rpms_by_target "Installing ${PLATFORM} platform packages for arch $ARCH" ${MAKEDIST_TARGET}-${PLATFORM}-${ARCH} "${RPMEXTRAARGS}" + +if [ "$APPLICATION_TARGET" ]; then + add_additional_defs_file /usr/share/openmamba/pkggroups.db + for t in $APPLICATION_TARGET; do + install_rpms_by_target "Installing $t application packages." "$t" "${RPMEXTRAARGS}" + done +fi + +if [ ${DEBUG:-0} -gt 0 ]; then + install_rpms_by_target "Installing debugging packages." ${MAKEDIST_TARGET}-debug "${RPMEXTRAARGS}" + cat > $MOUNTDIR/etc/sysconfig/network-scripts/ifcfg-eth0 << _EOF +DEVICE=eth0 +BOOTPROTO=dhcp +ONBOOT=yes +#NM_CONTROLLED=no +_EOF +fi + +# delete unused localizations +# +if [ ! "$MULTILANGUAGE" ]; then + echo "Deleting other languages l10n files..." + for d in /usr/share/locale /opt/kde/share/locale \ + /opt/kde/share/locale/l10n /opt/kde3/share/locale; do + find ${MOUNTDIR}${d} -maxdepth 1 -mindepth 1 -type d \ + ! -name ${LANGUAGE}* ! -name en* ! -name C ! -name l10n -exec rm -rf {} \; 2>/dev/null + done +fi + +if [ "$U_BOOT" ]; then +echo "Copying u-boot Image for Kernel" +#mkimage -A ppc -O linux -T kernel -C gzip -a 0x8000 -e 0x8000 \ +# -n "$DISTRONAME 2.6" -d $MOUNTDIR/boot/vmlinuz-2.6.12 $DISTRONAME-$MAKEDIST_TARGET-uImage.bin +fi + +# disable parport +#sed -i "/parport_pc/d" $MOUNTDIR/etc/modprobe.conf + +# disable multithreaded init ? +if [ ${MULTITHREAD:-0} -gt 0 ]; then + sed -i "s|multithread=1|multithread=0|" $MOUNTDIR/etc/sysconfig/rc +fi + +# set rootdev on extlinux +[ -e $MOUNTDIR/boot/extlinux.conf ] && sed -i "s|\([^::alpha]root=\)[^ ]*|\1$ROOTDEV|" $MOUNTDIR/boot/extlinux.conf + +# execute platform specific script +[ -e $TARGETDIR/platforms/$PLATFORM/post.inc.sh ] && . $TARGETDIR/platforms/$PLATFORM/post.inc.sh + +# cleanup: prevent generating a cleanfs script crash due to a unionfs bug +rm -rf $MOUNTDIR/tmp/.ICE-unix +rm -rf $MOUNTDIR/tmp/kde-root + +# copy static files for target +[ -e $TARGETDIR/root ] && + cp -a --no-preserve=ownership $TARGETDIR/root/* $MOUNTDIR/ + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root -a "`ls $TARGETDIR/platforms/$PLATFORM/root/* 2>/dev/null`" ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ + +# copy localized static files for specific platform +if [ "$MULTILANGUAGE" ]; then + for l in $MULTILANGUAGE; do + [ -e $TARGETDIR/platforms/$PLATFORM/root-$l ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$l/* $MOUNTDIR/ + done +else + [ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR/ +fi + +# enable additional smart repositories +if [ "$SMART_CHANNELS_ENABLE" != "" ]; then + for r in $SMART_CHANNELS_ENABLE; do + chroot $MOUNTDIR smart channel --enable $r + done + echo "$SMART_CHANNELS_ENABLE" > $MOUNTDIR/etc/smart/openmamba-install-enabled-channels +fi + +if [ ! "$KERNEL_IGNORE" ]; then + for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + echo "Updating modules dependencies for kernel ${KERNEL_MAJVER}${K}" + update_modules_dependencies ${KERNEL_MAJVER}${K} + done +fi + +# rpm database +post_install_rpms +clean_rpm_database + +[ "$QEMU_COPIED_FOR_INST" ] && post_qemu + +produce_media diff --git a/platforms/bootcd/Makefile b/platforms/bootcd/Makefile new file mode 100644 index 0000000..35d2fd6 --- /dev/null +++ b/platforms/bootcd/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-bootcd: memtest86+ +# Localized targets +$(MAKEDIST_TARGET)-bootcd-en: +$(MAKEDIST_TARGET)-bootcd-es: +$(MAKEDIST_TARGET)-bootcd-it: diff --git a/platforms/bootcd/Makefile.defs b/platforms/bootcd/Makefile.defs new file mode 100644 index 0000000..c76bbe2 --- /dev/null +++ b/platforms/bootcd/Makefile.defs @@ -0,0 +1,6 @@ +xorglibGL = libGL-Mesa-dri libGL-nvidia-X11 libGL-fglrx-X11 +kernelnvidia = kernel-mamba-nongpl-nvidia +xorglibglx = xorg-ext-libglx xorg-ext-libglx-nvidia +#xorg-ext-libglx-nvidia +libGLcore.so.1 = xorg-drv-video-nvidia +libnvidia-tls.so.1 = xorg-drv-video-nvidia diff --git a/platforms/bootcd/post.inc.sh b/platforms/bootcd/post.inc.sh new file mode 100644 index 0000000..8208571 --- /dev/null +++ b/platforms/bootcd/post.inc.sh @@ -0,0 +1,68 @@ +# bootcd post script +# +# creates a fake installation aimed at producing a kernel image and initrd +# for booting flash and disk partitions + +[ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux + +chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# make initramfs + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# Note: isolinux requires 8.3 filenames +cp $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + $MOUNTDIR2/boot/initrmfs.gz + +cp $MOUNTDIR/boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} \ + $MOUNTDIR2/boot/vmlinuz + +# configure isolinux boot loader +cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +timeout 100 +prompt 1 +display menu.txt +F1 help.txt +F2 helpit.txt +default 1 +label 1 + kernel /boot/vmlinuz + append video=vesafb:1024x768-32,ywrap,mtrr root=/dev/sda1 console=tty1 initrd=/boot/initrmfs.gz splash=silent quiet +label 2 + kernel /boot/vmlinuz + append video=vesafb:1024x768-32,ywrap,mtrr root=/dev/sda2 console=tty1 initrd=/boot/initrmfs.gz splash=silent quiet +label 3 + kernel /boot/vmlinuz + append video=vesafb:1024x768-32,ywrap,mtrr root=/dev/sda console=tty1 initrd=/boot/initrmfs.gz splash=silent quiet +label 4 + kernel /boot/vmlinuz + append video=vesafb:1024x768-32,ywrap,mtrr root=/dev/hda1 console=tty1 initrd=/boot/initrmfs.gz splash=silent quiet +label 8 + kernel /boot/vmlinuz + append video=vesafb:1024x768-32,ywrap,mtrr root=/dev/sda1 console=tty1 initrd=/boot/initrmfs.gz debug=1 splash=verbose +label 9 + kernel memtest +_EOF + +# install isolinux binary +[ -e $MOUNTDIR/usr/share/syslinux/isolinux.bin ] && cp $MOUNTDIR/usr/share/syslinux/isolinux.bin $MOUNTDIR2/boot/isolinux/isolinux.bin || + { echo "Error: /usr/share/syslinux/isolinux.bin not found. Please install the syslinux package."; + exit 1; } + +# install memtest +[ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || + { echo "Error: /boot/memtest.bin not found. Please install the memtest86 package."; + exit 1; } + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +MOUNTDIR=$MOUNTDIR2 produce_media + +exit 0 diff --git a/platforms/bootcd/pre.inc.sh b/platforms/bootcd/pre.inc.sh new file mode 100644 index 0000000..b0e443c --- /dev/null +++ b/platforms/bootcd/pre.inc.sh @@ -0,0 +1,31 @@ +# produce bootcd ISO image +MEDIA_NAME=`media_name` +MEDIA_NAMES=() +DISTROMATIC_OPT="" + +for i in $LIVECD_TARGETS; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + MEDIA_NAMES=(${MEDIA_NAMES[*]} $CURR_MEDIA_NAME) + + [ "$FORCE" = "1" -o ! -e "$LOCALSTATEDIR/$CURR_MEDIA_NAME" ] && { + makedist $MAKEDIST_TARGET PLATFORM=$i FORCE=1 DISTROMATIC=$DISTROMATIC_OPT + DISTROMATIC_OPT="off" + } +done + +. $TARGETDIR/platforms/$PLATFORM/settings.inc + +echo "Creating bootable livecd..." +[ "$MOUNTDIR" ] && rm -rf $MOUNTDIR/* +[ "$MOUNTDIR2" ] && rm -rf $MOUNTDIR2/* + +#[ "$EXTRA_PACKAGES" ] && { +# echo "- installing repository with extra packages" +# add_packages_to_repository $MOUNTDIR/repositories/extras "$EXTRA_PACKAGES" +#} + +for i in ${MEDIA_NAMES[*]}; do + echo "- installing $i" + cp $LOCALSTATEDIR/$i $MOUNTDIR2 +done diff --git a/platforms/bootcd/root/boot/isolinux/help.txt b/platforms/bootcd/root/boot/isolinux/help.txt new file mode 100644 index 0000000..fdad50e --- /dev/null +++ b/platforms/bootcd/root/boot/isolinux/help.txt @@ -0,0 +1,23 @@ + + openmamba bootcd menu + ===================== + + 1) mount rootfs from first USB storage (sda1) + 2) mount rootfs from second USB storage (sda2) + 3) mount rootfs from unpartitioned USB storage (sda) + 4) mount rootfs from first IDE (hda) + 8) mount rootfs from first USB storage (sda1) in debug mode + 9) Start a system memory benchmark + +Please, enter 1 or wait 10 seconds to boot automatically. + +You can also pass some extra parameters to the kernel. For example: +boot: 1 root=/dev/sdb1 + +If you have trouble during boot stage please use debug=1 and vga=normal +options in order to see system startup messages. + +NOTE: In most cases the kernel will detect your hardware, and parameters are +not needed. If you don't need to enter any parameters, hit ENTER to boot +the default kernel. + diff --git a/platforms/bootcd/root/boot/isolinux/helpit.txt b/platforms/bootcd/root/boot/isolinux/helpit.txt new file mode 100644 index 0000000..505f27d --- /dev/null +++ b/platforms/bootcd/root/boot/isolinux/helpit.txt @@ -0,0 +1,23 @@ + + Menu' di avvio di openmamba + =========================== + + 1) monta il rootfs dal primo storage USB (sda1) + 2) monta il rootfs dal secondo storage USB (sda2) + 3) monta il rootfs da uno storage USB non partizionato (sda) + 4) monta il rootfs dal primo disco IDE (hda) + 8) monta il rootfs dal primo storage USB (sda1) in modalita' di debug + 9) Esegue un test della memoria di sistema + +Digitare 1 o attendere 10 secondi per l'avvio automatico. + +E' possibile passare parametri extra al kernel. Ad esempio: +boot: 1 root=/dev/sdb1 + +In caso di problemi all'avvio utilizzare le opzioni debug=1 e vga=normal +per visualizzare su schermo i messaggi di avvio di sistema. + +NOTA: nella maggior parte dei casi il kernel riconoscera' automaticamente +l'hardware senza bisogno di inserire alcun parametro. Premere INVIO per +avviare il kernel in modalita' predefinita. + diff --git a/platforms/bootcd/root/boot/isolinux/menu.txt b/platforms/bootcd/root/boot/isolinux/menu.txt new file mode 100644 index 0000000..6c57a99 --- /dev/null +++ b/platforms/bootcd/root/boot/isolinux/menu.txt @@ -0,0 +1,13 @@ + + openmamba bootcd menu + ===================== + + F1) Help + F2) Aiuto + + Please, make sure your storage device is connected then press ENTER or + wait 10 seconds to boot with default options. + + Assicurarsi che il dispositivo di storage sia connesso e premere INVIO o + attendere 10 secondi per l'avvio in modalita' predefinita. + diff --git a/platforms/bootcd/root/openmamba-bootcd/CHANGES b/platforms/bootcd/root/openmamba-bootcd/CHANGES new file mode 100644 index 0000000..4d1d5f6 --- /dev/null +++ b/platforms/bootcd/root/openmamba-bootcd/CHANGES @@ -0,0 +1,13 @@ +openmamba bootcd + +20070917 +======== +* removed installation of unused kernel-nongpl packages + +20070914 +======== +* add reiserfs, ata_piix and sta_via support + +20070728 +======== +* first release diff --git a/platforms/bootcd/root/openmamba-bootcd/COPYING b/platforms/bootcd/root/openmamba-bootcd/COPYING new file mode 100644 index 0000000..5a965fb --- /dev/null +++ b/platforms/bootcd/root/openmamba-bootcd/COPYING @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/platforms/bootcd/root/openmamba-bootcd/INSTALL b/platforms/bootcd/root/openmamba-bootcd/INSTALL new file mode 100644 index 0000000..a2de69a --- /dev/null +++ b/platforms/bootcd/root/openmamba-bootcd/INSTALL @@ -0,0 +1,11 @@ +openmamba bootcd - instructions +=============================== + +Instructions +------------ +System installation on fixed disk is performed via the live system. + +1) insert an openmamba flash support into a USB plug (see Flash-1GB instructions to learn how to + prepare a flash device with openmamba) +2) insert openmamba bootcd into a CD/DVD reader and restart your computer +3) wait for the system to load from flash device diff --git a/platforms/bootcd/root/openmamba-bootcd/README b/platforms/bootcd/root/openmamba-bootcd/README new file mode 100644 index 0000000..f2b3160 --- /dev/null +++ b/platforms/bootcd/root/openmamba-bootcd/README @@ -0,0 +1,4 @@ +openmamba bootcd +================ +A small bootable CD-ROM image that can be used to boot openmamba flash-1GB on computer that can't boot from USB devices. + diff --git a/platforms/bootcd/root/openmamba-bootcd/TODO b/platforms/bootcd/root/openmamba-bootcd/TODO new file mode 100644 index 0000000..c9a994b --- /dev/null +++ b/platforms/bootcd/root/openmamba-bootcd/TODO @@ -0,0 +1,2 @@ +openmamba bootcd +================ diff --git a/platforms/bootcd/settings.inc b/platforms/bootcd/settings.inc new file mode 100644 index 0000000..5b82555 --- /dev/null +++ b/platforms/bootcd/settings.inc @@ -0,0 +1,21 @@ +MEDIA=iso +MULTITHREAD=1 +#DISTROMATIC=off + +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules" + #KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules" + #KERNEL_MORE_EXTRAVER= +fi + +LIVECD_TARGETS="" + +TARGET_HOSTNAME=openmamba-livecd +ROOTDEV=/dev/sda1 +ROOTFS=ext3 diff --git a/platforms/bootusb-test/Makefile b/platforms/bootusb-test/Makefile new file mode 100644 index 0000000..32f28fc --- /dev/null +++ b/platforms/bootusb-test/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-bootusb-test: openmamba-release syslinux memtest86+ $(MAKEDIST_TARGET)-firmwares macbook-tools +# Localization targets +$(MAKEDIST_TARGET)-bootusb-test-en: +$(MAKEDIST_TARGET)-bootusb-test-it: +$(MAKEDIST_TARGET)-bootusb-test-es: diff --git a/platforms/bootusb-test/Makefile.defs b/platforms/bootusb-test/Makefile.defs new file mode 100644 index 0000000..363bad8 --- /dev/null +++ b/platforms/bootusb-test/Makefile.defs @@ -0,0 +1 @@ +splashtheme = diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh new file mode 100644 index 0000000..57bdacb --- /dev/null +++ b/platforms/bootusb-test/post.inc.sh @@ -0,0 +1,74 @@ +# make initramfs + +chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" + +# configure extlinux boot loader +cat > $MOUNTDIR/boot/extlinux.conf << _EOF +PROMPT 0 +TIMEOUT 20 +DEFAULT vesamenu.c32 +MENU TITLE ${buildinfo} (${KERNEL_MAJVER}${KERNEL_EXTRAVER} kernel) +MENU BACKGROUND openmamba.png +MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std + +LABEL kms +MENU LABEL default + kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash vga=789 +LABEL vga1024 +MENU LABEL VGA 1024x768 (no modeset) + kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash vga=792 nomodeset +LABEL vga800 +MENU LABEL VGA 800x600 (no modeset) + kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash vga=789 nomodeset +LABEL debug +MENU LABEL Debug mode + kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 rddebug nomodeset +MENU SEPARATOR +LABEL memtest + MENU LABEL Memory test + kernel memtest +MENU SEPARATOR +MENU SEPARATOR +LABEL - + MENU LABEL $PRODUCT_NAME build:`date -R` + MENU DISABLE +_EOF + +# rename memtest.bin because syslinux/extlinux consider .bin extension as +# other thing +mv $MOUNTDIR/boot/memtest.bin $MOUNTDIR/boot/memtest + +# copy /boot directory to final root +cp -a --no-preserve=ownership $MOUNTDIR/boot $MOUNTDIR2 + +# copy syslinux addons to final root /boot dir +cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/ + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + +## add buildinfo +#buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" +#sed -i "s|%buildinfo%|$buildinfo|" $MOUNTDIR2/boot/isolinux/menu.txt + +MOUNTDIR=$MOUNTDIR2 produce_media $MEDIA_NAME + +exit 0 diff --git a/platforms/bootusb-test/root/boot/openmamba.png b/platforms/bootusb-test/root/boot/openmamba.png new file mode 100644 index 0000000000000000000000000000000000000000..ca02a2e61e37539bcabd6d4def09f0983e2d8420 GIT binary patch literal 66295 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 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/bootusb-test/root/openmamba-bootusb/INSTALL b/platforms/bootusb-test/root/openmamba-bootusb/INSTALL new file mode 100644 index 0000000..571abda --- /dev/null +++ b/platforms/bootusb-test/root/openmamba-bootusb/INSTALL @@ -0,0 +1,50 @@ +openmamba flash 1GB - hard disk installation instructions +========================================================= +NOTE: the installation procedure described is not yet fully functional; please, +follow these guidelines only if you know what you are doing. +WARNING: THIS INSTALLATION MAY MAKE YOUR DUAL BOOT SYSTEM NO LONGER BOOTABLE, BE CAREFUL. + +0) Boot your computer from openmamba flash, when the system is up open a + terminal window (konsole) +1) Use qtparted to resize/create the destination partition +2) Format the device : + +mkfs.ext3 /dev/ + +3) Copy the filesystem from flash to disk: + +mkdir /media/install +mount /dev/ /media/install +cp -ax / /media/install + +4) Make initrd + +chroot /media/install mkinitrd boot/initramfs-`uname -r`.img `uname -r` -f + +5) Install grub on your hard disk master boot record + +grub-install /dev/ --root-directory=/media/install + +6) CHECKME: If your disk device is /dev/sdb you probably have to fix grub device map + (/media/install/boot/grub/device.map) + +#7) Create root device symlink (needed?) +# +#rm -f /media/install/dev/root +#ln -s /dev/ /media/install/dev/root + +7) add root partition to /etc/fstab + +8) Create grub configuration file for chainloading other OS's like this: + +/etc/grub/conf.d/other: + +title Windows +rootnoverify (hd0,0) +chainloader +1 + +9) Execute grub-update + +chroot /media/install/ grub-update + +10) That's all, now reboot and enjoy! diff --git a/platforms/bootusb-test/root/openmamba-bootusb/README b/platforms/bootusb-test/root/openmamba-bootusb/README new file mode 100644 index 0000000..4c76f5a --- /dev/null +++ b/platforms/bootusb-test/root/openmamba-bootusb/README @@ -0,0 +1,57 @@ +openmamba 1GB live flash system - installation instructions +=========================================================== + +This instructions explan how to install this openmamba distribution on a usb storage + + +Requirements +============ + +A Unix system with root permissions and the following commands: + +extlinux, mkfs.ext2, fdisk, gunzip, cpio, mount, umount + + +Installation +============ + +1st step) Partitioning the USB storage device + +- insert the storage and identify its device name (e.g. /dev/sda) +- make sure that no partitions are mounted for the device +- run fdisk or cfdisk and create a partition that is at least 1GB large +- mark the partition as "bootable" +- identify the device corresponding to the partitiong (e.g. /dev/sda1) + +2nd step) Formatting the device + +- run: + +mkfs.ext2 -b 2048 + +The filesystem (ext2) and the given option are recommended to fit the system +on a 1GB device. + +3rd step) Installing the cpio image + +mount +cd +gunzip -c < openmamba-flash-1GB-rootfs-i586.cpio.gz | cpio -i + +4th step) Installing extlinux bootloader + +extlinux --install boot + +unmount the storage and that's all. + + +Running the system +================== +Reboot your computer with the USB storage inserted in. +Your computer maybe configured or not for booting from a +USB Hard Drive/Storage device; check your bios configuration and +wheter it supports booting from USB (many bioses are buggy!). + + +Copyright (c) by Silvan Calarco + diff --git a/platforms/bootusb-test/root/openmamba-bootusb/TODO b/platforms/bootusb-test/root/openmamba-bootusb/TODO new file mode 100644 index 0000000..4b4100c --- /dev/null +++ b/platforms/bootusb-test/root/openmamba-bootusb/TODO @@ -0,0 +1,8 @@ +openmamba 1GB live flash system +=============================== +List of things to do in future releases: + +* desktop automatic login as user +* non-english languages support / fix keyboard system defaults +* nvidia-legacy drivers support +* XGL/AIGLX/Compiz automatic configuration when supported diff --git a/platforms/bootusb-test/settings.inc b/platforms/bootusb-test/settings.inc new file mode 100644 index 0000000..281748c --- /dev/null +++ b/platforms/bootusb-test/settings.inc @@ -0,0 +1,13 @@ +MEDIA=cpio +MULTITHREAD=1 +#DISTROMATIC=off + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules wireless sound" + +RPMEXTRAARGS="--excludedocs" + +TARGET_HOSTNAME=openmamba-bootusb +ROOTDEV=/dev/sda1 +ROOTFS=ext3 diff --git a/platforms/bootusb/Makefile b/platforms/bootusb/Makefile new file mode 100644 index 0000000..b3728b5 --- /dev/null +++ b/platforms/bootusb/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-bootusb: openmamba-release syslinux memtest86+ $(MAKEDIST_TARGET)-firmwares macbook-tools +# Localization targets +$(MAKEDIST_TARGET)-bootusb-en: +$(MAKEDIST_TARGET)-bootusb-it: +$(MAKEDIST_TARGET)-bootusb-es: diff --git a/platforms/bootusb/Makefile.defs b/platforms/bootusb/Makefile.defs new file mode 100644 index 0000000..e69de29 diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh new file mode 100644 index 0000000..b522600 --- /dev/null +++ b/platforms/bootusb/post.inc.sh @@ -0,0 +1,98 @@ +# make initramfs +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + ${KERNEL_MAJVER}${K} +done + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" + +# configure extlinux boot loader +cat > $MOUNTDIR/boot/extlinux.conf << _EOF +PROMPT 0 +TIMEOUT 20 +DEFAULT /boot/vesamenu.c32 +MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) +MENU BACKGROUND /boot/openmamba.png +MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std +_EOF + +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR/boot/extlinux.conf << _EOF +LABEL default-${KERNEL_MAJVER}${K} +MENU LABEL default (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz-${KERNEL_MAJVER}${K} + append initrd=/boot/initramfs-${KERNEL_MAJVER}${K}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash vga=792 +_EOF +done + +echo "MENU SEPARATOR" >> $MOUNTDIR/boot/extlinux.conf +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR/boot/extlinux.conf << _EOF +LABEL vga800-${KERNEL_MAJVER}${K} +MENU LABEL VGA 800x600 no modeset (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz-${KERNEL_MAJVER}${K} + append initrd=/boot/initramfs-${KERNEL_MAJVER}${K}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash vga=789 nomodeset +_EOF +done + +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR/boot/extlinux.conf << _EOF +LABEL vga1024-${KERNEL_MAJVER}${K} +MENU LABEL VGA 1024x768 no modeset (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz-${KERNEL_MAJVER}${K} + append initrd=/boot/initramfs-${KERNEL_MAJVER}${K}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash vga=792 nomodeset +_EOF +done + +echo "MENU SEPARATOR" >> $MOUNTDIR/boot/extlinux.conf +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR/boot/extlinux.conf << _EOF +LABEL debug-${KERNEL_MAJVER}${K} +MENU LABEL ${KERNEL_MAJVER}${K} Debug mode + kernel /boot/vmlinuz-${KERNEL_MAJVER}${K} + append initrd=/boot/initramfs-${KERNEL_MAJVER}${K}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 rddebug rdshell debug +_EOF +done + +cat >> $MOUNTDIR/boot/extlinux.conf << _EOF +MENU SEPARATOR +LABEL memtest + MENU LABEL Memory test + kernel /boot/memtest +MENU SEPARATOR +MENU SEPARATOR +LABEL - + MENU LABEL $PRODUCT_NAME build:`date -R` + MENU DISABLE +_EOF + +# rename memtest.bin because syslinux/extlinux consider .bin extension as +# other thing +mv $MOUNTDIR/boot/memtest.bin $MOUNTDIR/boot/memtest + +# copy /boot directory to final root +cp -a --no-preserve=ownership $MOUNTDIR/boot $MOUNTDIR2 + +# copy syslinux addons to final root /boot dir +cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/ + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + +## add buildinfo +#buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" +#sed -i "s|%buildinfo%|$buildinfo|" $MOUNTDIR2/boot/isolinux/menu.txt + +MOUNTDIR=$MOUNTDIR2 produce_media $MEDIA_NAME + +exit 0 diff --git a/platforms/bootusb/root/boot/openmamba.png b/platforms/bootusb/root/boot/openmamba.png new file mode 100644 index 0000000000000000000000000000000000000000..ca02a2e61e37539bcabd6d4def09f0983e2d8420 GIT binary patch literal 66295 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 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/bootusb/root/openmamba-bootusb/INSTALL b/platforms/bootusb/root/openmamba-bootusb/INSTALL new file mode 100644 index 0000000..571abda --- /dev/null +++ b/platforms/bootusb/root/openmamba-bootusb/INSTALL @@ -0,0 +1,50 @@ +openmamba flash 1GB - hard disk installation instructions +========================================================= +NOTE: the installation procedure described is not yet fully functional; please, +follow these guidelines only if you know what you are doing. +WARNING: THIS INSTALLATION MAY MAKE YOUR DUAL BOOT SYSTEM NO LONGER BOOTABLE, BE CAREFUL. + +0) Boot your computer from openmamba flash, when the system is up open a + terminal window (konsole) +1) Use qtparted to resize/create the destination partition +2) Format the device : + +mkfs.ext3 /dev/ + +3) Copy the filesystem from flash to disk: + +mkdir /media/install +mount /dev/ /media/install +cp -ax / /media/install + +4) Make initrd + +chroot /media/install mkinitrd boot/initramfs-`uname -r`.img `uname -r` -f + +5) Install grub on your hard disk master boot record + +grub-install /dev/ --root-directory=/media/install + +6) CHECKME: If your disk device is /dev/sdb you probably have to fix grub device map + (/media/install/boot/grub/device.map) + +#7) Create root device symlink (needed?) +# +#rm -f /media/install/dev/root +#ln -s /dev/ /media/install/dev/root + +7) add root partition to /etc/fstab + +8) Create grub configuration file for chainloading other OS's like this: + +/etc/grub/conf.d/other: + +title Windows +rootnoverify (hd0,0) +chainloader +1 + +9) Execute grub-update + +chroot /media/install/ grub-update + +10) That's all, now reboot and enjoy! diff --git a/platforms/bootusb/root/openmamba-bootusb/README b/platforms/bootusb/root/openmamba-bootusb/README new file mode 100644 index 0000000..4c76f5a --- /dev/null +++ b/platforms/bootusb/root/openmamba-bootusb/README @@ -0,0 +1,57 @@ +openmamba 1GB live flash system - installation instructions +=========================================================== + +This instructions explan how to install this openmamba distribution on a usb storage + + +Requirements +============ + +A Unix system with root permissions and the following commands: + +extlinux, mkfs.ext2, fdisk, gunzip, cpio, mount, umount + + +Installation +============ + +1st step) Partitioning the USB storage device + +- insert the storage and identify its device name (e.g. /dev/sda) +- make sure that no partitions are mounted for the device +- run fdisk or cfdisk and create a partition that is at least 1GB large +- mark the partition as "bootable" +- identify the device corresponding to the partitiong (e.g. /dev/sda1) + +2nd step) Formatting the device + +- run: + +mkfs.ext2 -b 2048 + +The filesystem (ext2) and the given option are recommended to fit the system +on a 1GB device. + +3rd step) Installing the cpio image + +mount +cd +gunzip -c < openmamba-flash-1GB-rootfs-i586.cpio.gz | cpio -i + +4th step) Installing extlinux bootloader + +extlinux --install boot + +unmount the storage and that's all. + + +Running the system +================== +Reboot your computer with the USB storage inserted in. +Your computer maybe configured or not for booting from a +USB Hard Drive/Storage device; check your bios configuration and +wheter it supports booting from USB (many bioses are buggy!). + + +Copyright (c) by Silvan Calarco + diff --git a/platforms/bootusb/root/openmamba-bootusb/TODO b/platforms/bootusb/root/openmamba-bootusb/TODO new file mode 100644 index 0000000..4b4100c --- /dev/null +++ b/platforms/bootusb/root/openmamba-bootusb/TODO @@ -0,0 +1,8 @@ +openmamba 1GB live flash system +=============================== +List of things to do in future releases: + +* desktop automatic login as user +* non-english languages support / fix keyboard system defaults +* nvidia-legacy drivers support +* XGL/AIGLX/Compiz automatic configuration when supported diff --git a/platforms/bootusb/settings.inc b/platforms/bootusb/settings.inc new file mode 100644 index 0000000..63a6f2a --- /dev/null +++ b/platforms/bootusb/settings.inc @@ -0,0 +1,21 @@ +MEDIA=cpio +MULTITHREAD=1 +DISTROMATIC=on + +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules" + KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules" + KERNEL_MORE_EXTRAVER= +fi + +RPMEXTRAARGS="--excludedocs" + +TARGET_HOSTNAME=openmamba-bootusb +ROOTDEV=/dev/sda1 +ROOTFS=ext3 diff --git a/platforms/flash-server/Makefile b/platforms/flash-server/Makefile new file mode 100644 index 0000000..c536018 --- /dev/null +++ b/platforms/flash-server/Makefile @@ -0,0 +1,4 @@ +$(MAKEDIST_TARGET)-flash-server: $(MAKEDIST_TARGET)-commontools rpm openssh-server rsync apache \ + syslog-ng logrotate vixie-cron vsftpd samba-server postfix at +$(MAKEDIST_TARGET)-flash-server-en: +$(MAKEDIST_TARGET)-flash-server-it: diff --git a/platforms/flash-server/Makefile.defs b/platforms/flash-server/Makefile.defs new file mode 100644 index 0000000..e69de29 diff --git a/platforms/flash-server/post.inc.sh b/platforms/flash-server/post.inc.sh new file mode 100644 index 0000000..943a151 --- /dev/null +++ b/platforms/flash-server/post.inc.sh @@ -0,0 +1,36 @@ +## don't activate some services +#rm -f $MOUNTDIR/etc/rcsysinit.d/{S35hdparm,S30loadmodules,S40swap} +#rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} +#rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} + +# make initramfs + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# configure extlinux boot loader +cat > $MOUNTDIR/boot/extlinux.conf << _EOF +DEFAULT $PLATFORM +LABEL $PLATFORM +KERNEL /boot/vmlinuz-${KERNEL_VER}${KERNEL_EXTRAVER} +APPEND video=vesafb:1024x768-32,ywrap,mtrr root=$ROOTDEV console=tty1 initrd=/boot/initramfs-${KERNEL_VER}${KERNEL_EXTRAVER}.img.gz splash=silent quiet +_EOF +#resume2=swap:$SWAPDEV + +# set default root password +cp $MOUNTDIR/etc/shadow $MOUNTDIR/etc/shadow.orig +sed -i '/^root:.*/d' $MOUNTDIR/etc/shadow.orig +echo 'root:$1$Gmb.bk72$j/Dnx2zK8Zk7cNL4lmTir0:13852:0:99999:7:::0' > $MOUNTDIR/etc/shadow.tmp +mv $MOUNTDIR/etc/shadow $MOUNTDIR/etc/shadow.preinst +cat $MOUNTDIR/etc/shadow.tmp $MOUNTDIR/etc/shadow.orig > $MOUNTDIR/etc/shadow +rm -f $MOUNTDIR/etc/shadow.tmp $MOUNTDIR/etc/shadow.orig + +prelink + +extlinux --install $MOUNTDIR/boot + +#echo "Performing binaries prelinking..." +#chroot $MOUNTDIR /bin/bash -c "PRELINK_NOINITCHECK=1 /etc/cron.daily/prelink" diff --git a/platforms/flash-server/root/COPYING b/platforms/flash-server/root/COPYING new file mode 100644 index 0000000..5a965fb --- /dev/null +++ b/platforms/flash-server/root/COPYING @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/platforms/flash-server/root/README b/platforms/flash-server/root/README new file mode 100644 index 0000000..23fa9c6 --- /dev/null +++ b/platforms/flash-server/root/README @@ -0,0 +1,53 @@ +openmamba 512MB live flash system - installation instructions +============================================================= + +This instructions explan how to install this +openmamba distribution on a usb storage + + +Requirements +============ + +a Unix system with the following commands: + +extlinux, mkfs.ext2, fdisk, gunzip, cpio, mount, umount + + +Installation +============ + +1st step) Partitioning the USB storage device + +- insert the storage and identify its device name (e.g. /dev/sda) +- make sure that no partitions are mounted for the device +- run fdisk or cfdisk and create a partition that is at least 1GB large +- mark the partition as "bootable" +- identify the device corresponding to the partitiong (e.g. /dev/sda1) + +2nd step) Formatting the device + +- run: + +mkfs.ext3 > + +3rd step) Installing the cpio image + +mount +cd +gunzip -c < openmamba-flash-512MB-rootfs-i586.cpio.gz | cpio -i + +4th step) Installing extlinux bootloader + +extlinux --install boot + +unmount the storage and that's all. + +Running the system +================== +Reboot your computer with the USB storage inserted in. +Your computer maybe configured or not for booting from a +USB Hard Drive/Storage device; check your bios configuration and +whether it supports booting from USB (many bioses are buggy!). + + +Copyright (c) by Silvan Calarco diff --git a/platforms/flash-server/settings.inc b/platforms/flash-server/settings.inc new file mode 100644 index 0000000..8defc48 --- /dev/null +++ b/platforms/flash-server/settings.inc @@ -0,0 +1,12 @@ +# cpio partition image +MEDIA=cpio +MEDIA_SIZE=512 +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" + +TARGET_HOSTNAME=openmamba-flashserver +ROOTDEV=/dev/sda1 +ROOTFS=ext3 diff --git a/platforms/installdvd/Makefile b/platforms/installdvd/Makefile new file mode 100644 index 0000000..59adb19 --- /dev/null +++ b/platforms/installdvd/Makefile @@ -0,0 +1,6 @@ +$(MAKEDIST_TARGET)-installdvd: openmamba-release memtest86+ +# Localized targets +$(MAKEDIST_TARGET)-installdvd-en: +$(MAKEDIST_TARGET)-installdvd-it: +$(MAKEDIST_TARGET)-installdvd-es: + diff --git a/platforms/installdvd/Makefile.defs b/platforms/installdvd/Makefile.defs new file mode 100644 index 0000000..1d3d39b --- /dev/null +++ b/platforms/installdvd/Makefile.defs @@ -0,0 +1,13 @@ +xorglibGL = libGL-Mesa-dri libGL-nvidia-X11 libGL-fglrx-X11 +kernelnvidia = kernel-mamba-nongpl-nvidia +xorglibglx = xorg-ext-libglx xorg-ext-libglx-nvidia +#xorg-ext-libglx-nvidia +libGLcore.so.1 = xorg-drv-video-nvidia +libnvidia-tls.so.1 = xorg-drv-video-nvidia +libkorganizer.so.1 = korganizer +libkorganizer_calendar.so.1 = korganizer +libkorganizer_eventviewer.so.1 = korganizer +perl[Automake__General] = automake +perl[Automake__Struct] = automake +perl[Automake__Struct__Tie_ISA] = automake +perl[Automake__XFile] = automake diff --git a/platforms/installdvd/initramfs-include.sh b/platforms/installdvd/initramfs-include.sh new file mode 100644 index 0000000..ee3320d --- /dev/null +++ b/platforms/installdvd/initramfs-include.sh @@ -0,0 +1,76 @@ +FOUND_ROOTFS= +RAMSIZE=100000 + +msg ":: Creating new root ramdisk (dinamic size=${RAMSIZE}k) on /dev/shm..." +mkdir /newroot +/bin/mount -t tmpfs -o "size=${RAMSIZE}k" /dev/shm /newroot + +mkdir /newroot/cdrom /newroot/squashfs + +# +# findcdrom(): looks for cdrom devices and mounts them to detect compressed fs +# +findcdrom(){ + msg ":: Looking for cdrom device(s)" + + # try removable devices only + for i in /sys/block/*/removable; do + removable=`cat $i` + if [ "$removable" = "1" ]; then + dev=${i%/removable} + dev=/dev/${dev#/sys/block/} + if mount -r -t iso9660 $dev /newroot/cdrom >/dev/null 2>&1; then + if test -r /newroot/cdrom/rootfs.compressed; then + msg ":: Compressed root filesystem found on $dev..." + FOUND_ROOTFS="$dev" + return 0 + fi + umount /newroot/cdrom + fi + fi + done + return 1 +} + +#/sbin/splash_util -c repaint ${splash_add} -t default --mesg="Looking for cdrom device" --progress="4444" + +while true; do + findcdrom + if [ "$FOUND_ROOTFS" ]; then +# /sbin/splash_util -c repaint ${splash_add} -t default --mesg="Mounting compressed filesystem" --progress="5555" + msg ":: Mounting compressed filesystem" + /bin/losetup /dev/loop0 /newroot/cdrom/rootfs.compressed + mount -r -t squashfs /dev/loop0 /newroot/squashfs + + msg ":: Creating directories and symlinks on ramdisk..." + + mkdir -p \ + /newroot/tmp /newroot/proc /newroot/sys \ + /newroot/initrd /newroot/mnt /newroot/media \ + /newroot/oldroot + + ln -s squashfs/bin /newroot/bin + ln -s squashfs/boot /newroot/boot + ln -s squashfs/lib /newroot/lib + ln -s squashfs/opt /newroot/opt + ln -s squashfs/sbin /newroot/sbin + ln -s squashfs/srv /newroot/srv + ln -s squashfs/usr /newroot/usr + + chroot /newroot /bin/cp -a \ + /squashfs/dev /squashfs/home /squashfs/var \ + /squashfs/etc /squashfs/root / + + # Create empty utmp and wtmp + :> /newroot/var/run/utmp + :> /newroot/var/run/wtmp + + [ "${init}" ] || init=/sbin/init + msg ":: Running init, runlevel:${runlevel}" + exec run-init /newroot ${init} ${runlevel} + exit 0 + else + msg ":: Could not find compressed root filesystem. image; opening a command prompt." + /bin/sh.shared + fi +done diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh new file mode 100644 index 0000000..3e9f80f --- /dev/null +++ b/platforms/installdvd/post.inc.sh @@ -0,0 +1,125 @@ +# livecd post script +# +# creates a fake installation aimed at producing a kernel image and initrd +# for livecd boot + +# make initramfs + +[ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux + +chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# Note: isolinux requires 8.3 filenames +cp $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + $MOUNTDIR2/boot/initrmfs.gz + +cp $MOUNTDIR/boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} \ + $MOUNTDIR2/boot/vmlinuz + +# configure isolinux boot loader +cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +PROMPT 0 +TIMEOUT 20 +DEFAULT vesamenu.c32 +MENU TITLE ${buildinfo} (${KERNEL_MAJVER}${KERNEL_EXTRAVER} kernel) +MENU BACKGROUND openmamba.png +MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std + +LABEL kms +MENU LABEL default + kernel /boot/vmlinuz + append initrd=/boot/initrmfs.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 +LABEL vga1024 +MENU LABEL VGA 1024x768 (no modeset) + kernel /boot/vmlinuz + append initrd=/boot/initrmfs.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 nomodeset +LABEL vga800 +MENU LABEL VGA 800x600 (no modeset) + kernel /boot/vmlinuz + append initrd=/boot/initrmfs.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 nomodeset +LABEL debug +MENU LABEL Debug mode + kernel /boot/vmlinuz + append initrd=/boot/initrmfs.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 rddebug rdshell +MENU SEPARATOR +LABEL memtest + MENU LABEL Memory test + kernel memtest +MENU SEPARATOR +MENU SEPARATOR +LABEL - + MENU LABEL $PRODUCT_NAME build:`date -R` + MENU DISABLE +_EOF + +# install isolinux binary +[ -e $MOUNTDIR/usr/share/syslinux/isolinux.bin ] && cp $MOUNTDIR/usr/share/syslinux/isolinux.bin $MOUNTDIR2/boot/isolinux/isolinux.bin || + { echo "Error: /usr/share/syslinux/isolinux.bin not found. Please install the syslinux package."; + exit 1; } + +# copy syslinux addons to final root /boot dir +cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ + +# install memtest +[ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || + { echo "Error: /boot/memtest.bin not found. Please install the memtest86 package."; + exit 1; } + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" +sed -i "s|%buildinfo%|$buildinfo|" $MOUNTDIR2/boot/isolinux/menu.txt + +echo "Adding binary packages from pkggroups.db..." +. $LOCALSTATEDIR/.${MEDIA_NAMES[0]}.distinfo +LANG=${LANGUAGE:0:2} . $MOUNTDIR/usr/share/openmamba/pkggroups.db + +#INSTALLED=(`echo "$INSTALLED"|sort|uniq`) +#ALL_PKGS=(`echo "$ALL_PKGS"|sort|uniq`) +# +#unset SELECTED_PACKAGES +#i=0 +#for p in ${ALL_PKGS[*]}; do +# while [[ ${INSTALLED[i]} < $p ]]; do +## SELECTED_PACKAGES="$SELECTED_PACKAGES ${INSTALLED[i]}" +# i=`expr $i + 1` +# done +# SELECTED_PACKAGES="$SELECTED_PACKAGES $p" +#done + +add_binary_packages_to_repository $MOUNTDIR2/openmamba "$ALL_PKGS $EXTRA_PKGS" "$INSTALLED" +echo "Generating APT database..." +ln -s RPMS/$arch $MOUNTDIR2/openmamba/RPMS.$arch +genbasedir $MOUNTDIR2/openmamba +mkdir $MOUNTDIR2/.disk +cat $MOUNTDIR/etc/openmamba-release > $MOUNTDIR2/.disk/info + +# Finally produce the media +MOUNTDIR=$MOUNTDIR2 produce_media $MEDIA_NAME + +for i in $SUBPLATFORM; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + cat >> $LOCALSTATEDIR/.$MEDIA_NAME.inc.html << _EOF +

Root target(s): +

+_EOF + cat $LOCALSTATEDIR/.$CURR_MEDIA_NAME.inc.html >> \ + $LOCALSTATEDIR/.$MEDIA_NAME.inc.html + echo "
" >> $LOCALSTATEDIR/.$MEDIA_NAME.inc.html +done + +exit 0 diff --git a/platforms/installdvd/pre.inc.sh b/platforms/installdvd/pre.inc.sh new file mode 100644 index 0000000..d8410b3 --- /dev/null +++ b/platforms/installdvd/pre.inc.sh @@ -0,0 +1,36 @@ + +# produce livecd bootable ISO image +MEDIA_NAMES=() +DISTROMATIC_OPT="" +for i in $SUBPLATFORM; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + MEDIA_NAMES=(${MEDIA_NAMES[*]} $CURR_MEDIA_NAME) + + [ "$FORCE" = "1" -o ! -e "$LOCALSTATEDIR/$CURR_MEDIA_NAME" ] && { + makedist $MAKEDIST_TARGET PLATFORM=$i FORCE=1 DISTROMATIC=$DISTROMATIC_OPT || exit 1 + DISTROMATIC_OPT="off" + } +done + +[ "$PRODUCT_NAME_OVERRIDE" ] && PRODUCT_NAME=$PRODUCT_NAME_OVERRIDE + +[ "$PRODUCT_NAME" ] && \ + MEDIA_NAME=`PLATFORM=$PRODUCT_NAME media_name` || + MEDIA_NAME=`media_name` + +. $TARGETDIR/platforms/$PLATFORM/settings.inc + +echo "Creating bootable livecd..." +[ "$MOUNTDIR" ] && rm -rf $MOUNTDIR/* +[ "$MOUNTDIR2" ] && rm -rf $MOUNTDIR2/* + +#[ "$EXTRA_PACKAGES" ] && { +# echo "- installing repository with extra packages" +# add_packages_to_repository $MOUNTDIR/repositories/extras "$EXTRA_PACKAGES" +#} + +echo "- installing ${MEDIA_NAMES[0]}" +cp $LOCALSTATEDIR/${MEDIA_NAMES[0]} $MOUNTDIR2/rootfs.compressed +echo "- generating MD5 sum for ${MEDIA_NAMES[0]}" +md5sum $MOUNTDIR2/rootfs.compressed > $MOUNTDIR2/rootfs.compressed.MD5 diff --git a/platforms/installdvd/root-it/boot/isolinux/help.txt b/platforms/installdvd/root-it/boot/isolinux/help.txt new file mode 100644 index 0000000..2e4d81d --- /dev/null +++ b/platforms/installdvd/root-it/boot/isolinux/help.txt @@ -0,0 +1,20 @@ + + Menu' di avvio di openmamba + =========================== + + 1) Avvio con risoluzione 800x600 (scelta predefinita) + 2) Avvio con risoluzione 1024x768 + 3) Avvio con risoluzione 1280x1024 + 1-freevideo, 2-freevideo, 3-freevideo) come 1,2,3 + driver video Open Source + 8) Avvio in modalita' di debug + 9) Esegue un test della memoria di sistema + +Digitare 1 o attendere 10 secondi per l'avvio automatico. + +E' possibile passare parametri extra al kernel. Ad esempio: +boot: 1 debug=1 video=vesafb:off postplug=nosound,freevideo + +In caso di problemi all'avvio utilizzare la scelta 8 o le opzioni debug=1 e +video=vesafb:off per visualizzare su schermo i messaggi di sistema. + +NOTA: nella maggior parte dei casi basta premere INVIO per l'avvio predefinito. diff --git a/platforms/installdvd/root-it/boot/isolinux/menu.txt b/platforms/installdvd/root-it/boot/isolinux/menu.txt new file mode 100644 index 0000000..092622e --- /dev/null +++ b/platforms/installdvd/root-it/boot/isolinux/menu.txt @@ -0,0 +1,10 @@ + + %buildinfo% + + Menu' di avvio + ============== + + F1) Aiuto + + Premere INVIO o attendere 10 secondi per l'avvio in modalita' predefinita. + diff --git a/platforms/installdvd/root/boot/isolinux/help.txt b/platforms/installdvd/root/boot/isolinux/help.txt new file mode 100644 index 0000000..94a01b6 --- /dev/null +++ b/platforms/installdvd/root/boot/isolinux/help.txt @@ -0,0 +1,20 @@ + + openmamba CD boot menu + ====================== + + kms) Autodetect startup video mode (default choice) + vga1024) Force system startup at 1024x768 resolution + vga800) Force system startup at 1280x1024 resolution + + debug) System startup in debug mode + memtest) Start a system memory benchmark + +Please, enter your choice or wait 10 seconds to boot automatically. + +You can also pass some extra parameters to the kernel. For example: +boot: kms debug=1 splash=off postplug=nosound,freevideo + +If you have trouble booting the system please use the choice 'debug' or the +debug=1 and splash=off options in order to see system messages. + +NOTE: In most cases you just need to hit ENTER to boot with default settings. diff --git a/platforms/installdvd/root/boot/isolinux/menu.txt b/platforms/installdvd/root/boot/isolinux/menu.txt new file mode 100644 index 0000000..8a8ed72 --- /dev/null +++ b/platforms/installdvd/root/boot/isolinux/menu.txt @@ -0,0 +1,10 @@ + + %buildinfo% + + Boot menu + ========= + + F1) Help + + Please, press ENTER or wait 10 seconds to boot with default options. + diff --git a/platforms/installdvd/root/openmamba-installdvd/COPYING b/platforms/installdvd/root/openmamba-installdvd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/installdvd/root/openmamba-installdvd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/installdvd/root/openmamba-installdvd/INSTALL b/platforms/installdvd/root/openmamba-installdvd/INSTALL new file mode 100644 index 0000000..d2f8103 --- /dev/null +++ b/platforms/installdvd/root/openmamba-installdvd/INSTALL @@ -0,0 +1,9 @@ +openmamba livedvd - fixed disk installation instructions +======================================================== + +Instructions +------------ +System installation on fixed disk is performed via the live system. + +1) boot from livecd and wait for the graphical desktop system to start +2) click on the 'install' icon in the desktop diff --git a/platforms/installdvd/root/openmamba-installdvd/README b/platforms/installdvd/root/openmamba-installdvd/README new file mode 100644 index 0000000..674e383 --- /dev/null +++ b/platforms/installdvd/root/openmamba-installdvd/README @@ -0,0 +1,14 @@ +openmamba installdvd +==================== + +openmamba installation DVD is a live release of the openmamba operating system +that can immediately be used simply by booting or rebooting your computer +with the CD in the reader. + +It provides an installation interface for system installation on fixed disk +that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +The installdvd also will install the base set of openmamba packages thus +providing a full installation without requiring a network connection. + diff --git a/platforms/installdvd/root/openmamba-installdvd/TODO b/platforms/installdvd/root/openmamba-installdvd/TODO new file mode 100644 index 0000000..e69de29 diff --git a/platforms/installdvd/settings.inc b/platforms/installdvd/settings.inc new file mode 100644 index 0000000..6c52d46 --- /dev/null +++ b/platforms/installdvd/settings.inc @@ -0,0 +1,15 @@ +MEDIA=iso +MULTITHREAD=1 +#DISTROMATIC=on +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" +[ "$SUBPLATFORM" ] || { + SUBPLATFORM="livecd-root" + PRODUCT_NAME="installdvd" +} +PRODUCT_NAME_OVERRIDE=installdvd +TARGET_HOSTNAME=openmamba-installdvd +ROOTDEV=/dev/sda1 +ROOTFS=ext3 +APPLICATION_TARGET="BASE_PKGS OFFICE_PKGS MULTIMEDIA_PLAYERS_PKGS MULTIMEDIA_EDITING_PKGS INTERNET_PKGS GRAPHICS_PKGS GAMES_PKGS VIRTUALIZATION_PKGS" diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile new file mode 100644 index 0000000..cff2b87 --- /dev/null +++ b/platforms/livecd-gnome-root/Makefile @@ -0,0 +1,36 @@ +$(MAKEDIST_TARGET)-livecd-gnome: \ + openssh-server usbutils wireless_tools parted iputils file rootfiles \ + ppp minicom chrony locales mc alsa-utils \ + man-db curl zip unzip iptables iproute wpa_supplicant mtd-utils nfs-utils \ + openssh-clients binutils telnet ftp debianutils diffutils bluez traceroute \ + timezone sudo openobex liblame expect prelink NetworkManager \ + ModemManager network-manager-applet Mesa-tools \ + x11vnc xorg-server xorg-drv-video-fbdev xorg-drv-input-evdev xorg-drv-input-keyboard \ + xorg-drv-input-mouse xorg-drv-input-void \ + xorg-drv-input-tslib xcursor-transparent-theme rpm smart desktop-base-openmamba \ + gdm gnome-session gnome-common gnome-control-center gnome-desktop gnome-desktop-sharp \ + gnome-keyring gnome-menus gnome-mime-data gnome-packagekit gnome-settings-daemon \ + gnome-sharp gnome-terminal nautilus gnome-themes evolution gnome-utils gnome-system-log \ + desktop-base-gnome gimp vlc gconf-editor rhythmbox + +#kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok +$(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress + +$(MAKEDIST_TARGET)-livecd-gnome-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + xorg-drv-input-synaptics xorg-apps-extra xterm \ + ttf-freefont liberation-fonts-ttf \ + gparted ntfs-3g libdvdcss \ + chromium totem-mozilla-plugin \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + samba-server \ + smart-gui laptop-mode-tools mambatray \ + $(MAKEDIST_TARGET)-livecd-gnome + +# Localization targets +$(MAKEDIST_TARGET)-livecd-root-en: +$(MAKEDIST_TARGET)-livecd-root-es: +$(MAKEDIST_TARGET)-livecd-root-it: diff --git a/platforms/livecd-gnome-root/Makefile.defs b/platforms/livecd-gnome-root/Makefile.defs new file mode 100644 index 0000000..7bbc216 --- /dev/null +++ b/platforms/livecd-gnome-root/Makefile.defs @@ -0,0 +1,3 @@ +packagekitgui = gnome-packagekit +firewallgui = gui-ufw +xorgdrvvideo += xorg-drv-video-vboxvideo VirtualBox-vboxguest diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh new file mode 100644 index 0000000..efab007 --- /dev/null +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -0,0 +1,78 @@ +## don't activate some services +#rm -f $MOUNTDIR/etc/rcsysinit.d/{S35hdparm,S30loadmodules,S40swap} +#rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} +#rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} + +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# configure GDM for autologin +# +cat > $MOUNTDIR/etc/gdm/custom.conf << _EOF +[daemon] +AutomaticLoginEnable=true +AutomaticLogin=liveuser +_EOF + +## provide a basilar gtkrc (to be improved) +#cat > $MOUNTDIR/etc/gtk-2.0/gtkrc << _EOF +#gtk-theme-name = "Default" +#gtk-icon-theme-name = "gnome" +#_EOF +chroot $MOUNTDIR gtk-update-icon-cache /usr/share/icons/hicolor + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# clean rpm database before doing other operations with internal rpm +# to fix cross x86/x86_64 installation error: +# error: db4 error(-30986) from dbcursor->get: DB_PAGE_NOTFOUND: Requested page not found +clean_rpm_database + +# pre-create video drivers for VirtualBox +virtualbox_ver=`ls -d $MOUNTDIR/usr/src/vboxvideo-* | sed "s|.*-||"` +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR dkms install -q -m vboxguest -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force + chroot $MOUNTDIR dkms install -q -m vboxvideo -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force +done +chroot $MOUNTDIR rpm -e VirtualBox-vboxguest dkms --noscripts + +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + # remove kernel headers installed by dkms + chroot $MOUNTDIR smart remove kernel-${K}-headers -y + # remove unused initramfs generated by kernel + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img* + # remove failsafe image to save space for livecd + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +done + +# install all GConf rules +cat > $MOUNTDIR/tmp/gconftool.sh << _EOF +GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule /etc/gconf/schemas/* >/dev/null +_EOF +chroot $MOUNTDIR sh /tmp/gconftool.sh +rm $MOUNTDIR/tmp/gconftool.sh + +# remove some documentation to save space on CD +for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do + find $MOUNTDIR/usr/share/doc -name $f -exec rm -f {} \; +done + +prelink diff --git a/platforms/livecd-gnome-root/root/openmamba-livecd/COPYING b/platforms/livecd-gnome-root/root/openmamba-livecd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/livecd-gnome-root/root/openmamba-livecd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/livecd-gnome-root/root/openmamba-livecd/INSTALL b/platforms/livecd-gnome-root/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..9427f0c --- /dev/null +++ b/platforms/livecd-gnome-root/root/openmamba-livecd/INSTALL @@ -0,0 +1,7 @@ +openmamba livecd - hard disk installation instructions +====================================================== +To install on hard disk use the openmamba installer. + +Boot from livecd and wait for the desktop to come out, then click +on the "openmamba installer" icon to launch the installation wizard and +follow the instructions. diff --git a/platforms/livecd-gnome-root/root/openmamba-livecd/README b/platforms/livecd-gnome-root/root/openmamba-livecd/README new file mode 100644 index 0000000..44df370 --- /dev/null +++ b/platforms/livecd-gnome-root/root/openmamba-livecd/README @@ -0,0 +1,12 @@ +openmamba livecd +================ + +openmamba live CD is a live release of the openmamba operating system that +can immediately be used simply by booting or rebooting your computer with +the CD in the reader. + +It also provides an installation interface for system installation on fixed +disk that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +It works on almost any Personal Computer: notebook, desktop and server. diff --git a/platforms/livecd-gnome-root/root/openmamba-livecd/TODO b/platforms/livecd-gnome-root/root/openmamba-livecd/TODO new file mode 100644 index 0000000..9566901 --- /dev/null +++ b/platforms/livecd-gnome-root/root/openmamba-livecd/TODO @@ -0,0 +1,5 @@ +openmamba livecd +================ +List of things to do in future releases: + +* desktop automatic login as user (not root) diff --git a/platforms/livecd-gnome-root/settings.inc b/platforms/livecd-gnome-root/settings.inc new file mode 100644 index 0000000..470534e --- /dev/null +++ b/platforms/livecd-gnome-root/settings.inc @@ -0,0 +1,11 @@ +PRODUCT_NAME=livecd-gnome +MEDIA=squash_xz +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" + +TARGET_HOSTNAME=openmamba-gnome +ROOTDEV= +ROOTFS= diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile new file mode 100644 index 0000000..6fc5466 --- /dev/null +++ b/platforms/livecd-light-root/Makefile @@ -0,0 +1,31 @@ +$(MAKEDIST_TARGET)-livecd-light: openssh-server usbutils wireless_tools parted iputils file rootfiles \ + ppp minicom chrony locales mc alsa-utils \ + man-db curl zip unzip iptables iproute wpa_supplicant mtd-utils nfs-utils \ + openssh-clients binutils telnet ftp debianutils diffutils bluez traceroute \ + lxde timezone sudo \ + openobex liblame expect prelink NetworkManager ModemManager \ + network-manager-applet Mesa-tools \ + x11vnc xorg-server xorg-drv-video-fbdev xorg-drv-input-evdev xorg-drv-input-keyboard \ + xorg-drv-input-mouse xorg-drv-input-void \ + xorg-drv-input-tslib xcursor-transparent-theme rpm smart chromium desktop-base-openmamba + +$(MAKEDIST_TARGET)-livecd-light-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress + +$(MAKEDIST_TARGET)-livecd-light-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + xorg-drv-input-synaptics xorg-apps-extra xterm \ + ttf-freefont liberation-fonts-ttf \ + gparted ntfs-3g libdvdcss \ + chromium totem-mozilla-plugin \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + samba-server \ + smart-gui cpufreqd mambatray \ + $(MAKEDIST_TARGET)-livecd-light + +# Localization targets +$(MAKEDIST_TARGET)-livecd-root-en: +$(MAKEDIST_TARGET)-livecd-root-es: +$(MAKEDIST_TARGET)-livecd-root-it: diff --git a/platforms/livecd-light-root/Makefile.defs b/platforms/livecd-light-root/Makefile.defs new file mode 100644 index 0000000..7bbc216 --- /dev/null +++ b/platforms/livecd-light-root/Makefile.defs @@ -0,0 +1,3 @@ +packagekitgui = gnome-packagekit +firewallgui = gui-ufw +xorgdrvvideo += xorg-drv-video-vboxvideo VirtualBox-vboxguest diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh new file mode 100644 index 0000000..2fc0500 --- /dev/null +++ b/platforms/livecd-light-root/post.inc.sh @@ -0,0 +1,60 @@ +## don't activate some services +#rm -f $MOUNTDIR/etc/rcsysinit.d/{S35hdparm,S30loadmodules,S40swap} +#rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} +#rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} + +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# configure LXDM for autologin +# +sed -i "s|# autologin.*|autologin=liveuser|" $MOUNTDIR/etc/lxdm/lxdm.conf + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# clean rpm database before doing other operations with internal rpm +# to fix cross x86/x86_64 installation error: +# error: db4 error(-30986) from dbcursor->get: DB_PAGE_NOTFOUND: Requested page not found +clean_rpm_database + +# pre-create video drivers for VirtualBox +virtualbox_ver=`ls -d $MOUNTDIR/usr/src/vboxvideo-* | sed "s|.*-||"` +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR dkms install -q -m vboxguest -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force + chroot $MOUNTDIR dkms install -q -m vboxvideo -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force +done +chroot $MOUNTDIR rpm -e VirtualBox-vboxguest dkms --noscripts + +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + # remove kernel headers installed by dkms + chroot $MOUNTDIR smart remove kernel-${K}-headers -y + # remove unused initramfs generated by kernel + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img* + # remove failsafe image to save space for livecd + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +done + +# remove some documentation to save space on CD +for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do + find $MOUNTDIR/usr/share/doc -name $f -exec rm -f {} \; +done + +prelink diff --git a/platforms/livecd-light-root/root/openmamba-livecd/COPYING b/platforms/livecd-light-root/root/openmamba-livecd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/livecd-light-root/root/openmamba-livecd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/livecd-light-root/root/openmamba-livecd/INSTALL b/platforms/livecd-light-root/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..9427f0c --- /dev/null +++ b/platforms/livecd-light-root/root/openmamba-livecd/INSTALL @@ -0,0 +1,7 @@ +openmamba livecd - hard disk installation instructions +====================================================== +To install on hard disk use the openmamba installer. + +Boot from livecd and wait for the desktop to come out, then click +on the "openmamba installer" icon to launch the installation wizard and +follow the instructions. diff --git a/platforms/livecd-light-root/root/openmamba-livecd/README b/platforms/livecd-light-root/root/openmamba-livecd/README new file mode 100644 index 0000000..44df370 --- /dev/null +++ b/platforms/livecd-light-root/root/openmamba-livecd/README @@ -0,0 +1,12 @@ +openmamba livecd +================ + +openmamba live CD is a live release of the openmamba operating system that +can immediately be used simply by booting or rebooting your computer with +the CD in the reader. + +It also provides an installation interface for system installation on fixed +disk that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +It works on almost any Personal Computer: notebook, desktop and server. diff --git a/platforms/livecd-light-root/root/openmamba-livecd/TODO b/platforms/livecd-light-root/root/openmamba-livecd/TODO new file mode 100644 index 0000000..9566901 --- /dev/null +++ b/platforms/livecd-light-root/root/openmamba-livecd/TODO @@ -0,0 +1,5 @@ +openmamba livecd +================ +List of things to do in future releases: + +* desktop automatic login as user (not root) diff --git a/platforms/livecd-light-root/settings.inc b/platforms/livecd-light-root/settings.inc new file mode 100644 index 0000000..8cb87a8 --- /dev/null +++ b/platforms/livecd-light-root/settings.inc @@ -0,0 +1,18 @@ +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules" + KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules" +fi + +PRODUCT_NAME=livecd-light +MEDIA=squash_xz +MULTITHREAD=1 + +TARGET_HOSTNAME=openmamba-light +ROOTDEV= +ROOTFS= diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile new file mode 100644 index 0000000..7279071 --- /dev/null +++ b/platforms/livecd-root/Makefile @@ -0,0 +1,30 @@ +$(MAKEDIST_TARGET)-livecd-kde4: desktop-base-kde4 kmix bluedevil kwallet +# smb4k juk kate dragon ksnapshot okular kppp krfb ark kcalc kdf kgpg kopete + +$(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-Calc libreoffice-writer libreofice-impress + +$(MAKEDIST_TARGET)-livecd-root: \ + postplug-xorg postplug-sound openssh-server \ + $(MAKEDIST_TARGET)-commontools xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + xorg-drv-input-synaptics xorg-apps-extra xterm \ + ttf-freefont liberation-fonts-ttf \ + gparted ntfs-3g libdvdcss \ + chromium \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + samba-server \ + cpufreqd mambatray smart \ + $(MAKEDIST_TARGET)-livecd-kde4 +# smart-gui + +# Localization targets +$(MAKEDIST_TARGET)-livecd-root-en: \ + kde-l10n-en_GB +$(MAKEDIST_TARGET)-livecd-root-es: \ + kde-l10n-es +# firefox-i18n-es-ES +$(MAKEDIST_TARGET)-livecd-root-it: \ + kde-l10n-it +# firefox-i18n-it +# FIXME: add kdepim diff --git a/platforms/livecd-root/Makefile.defs b/platforms/livecd-root/Makefile.defs new file mode 100644 index 0000000..36c84ec --- /dev/null +++ b/platforms/livecd-root/Makefile.defs @@ -0,0 +1,2 @@ +networkmanagergui = plasma-applet-networkmanagement +xorgdrvvideo += xorg-drv-video-vboxvideo VirtualBox-vboxguest diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh new file mode 100644 index 0000000..4e10e8b --- /dev/null +++ b/platforms/livecd-root/post.inc.sh @@ -0,0 +1,72 @@ +## don't activate some services +#rm -f $MOUNTDIR/etc/rcsysinit.d/{S35hdparm,S30loadmodules,S40swap} +#rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} +#rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} + +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# configure KDM for autologin +# +if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then + sed -i 's|[#]*AutoLoginEnable=.*|AutoLoginEnable=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoReLogin=.*|AutoReLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# configure favorites in kde menu +for f in /usr/share/applications/chromium-devel.desktop; do + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f || exit 1 +done + +# clean rpm database before doing other operations with internal rpm +# to fix cross x86/x86_64 installation error: +# error: db4 error(-30986) from dbcursor->get: DB_PAGE_NOTFOUND: Requested page not found +clean_rpm_database + +# pre-create video drivers for VirtualBox +virtualbox_ver=`ls -d $MOUNTDIR/usr/src/vboxvideo-* | sed "s|.*-||"` +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR dkms install -q -m vboxguest -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force + chroot $MOUNTDIR dkms install -q -m vboxvideo -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force +done +chroot $MOUNTDIR rpm -e VirtualBox-vboxguest dkms --noscripts + +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + # remove kernel headers installed by dkms + chroot $MOUNTDIR smart remove kernel-${K}-headers -y + # remove unused initramfs generated by kernel + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img* + # remove failsafe image to save space for livecd + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +done + +# remove some documentation to save space on CD +for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do + find $MOUNTDIR/usr/share/doc -name $f -exec rm -f {} \; +done + +prelink diff --git a/platforms/livecd-root/root/openmamba-livecd/COPYING b/platforms/livecd-root/root/openmamba-livecd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/livecd-root/root/openmamba-livecd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/livecd-root/root/openmamba-livecd/INSTALL b/platforms/livecd-root/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..9427f0c --- /dev/null +++ b/platforms/livecd-root/root/openmamba-livecd/INSTALL @@ -0,0 +1,7 @@ +openmamba livecd - hard disk installation instructions +====================================================== +To install on hard disk use the openmamba installer. + +Boot from livecd and wait for the desktop to come out, then click +on the "openmamba installer" icon to launch the installation wizard and +follow the instructions. diff --git a/platforms/livecd-root/root/openmamba-livecd/README b/platforms/livecd-root/root/openmamba-livecd/README new file mode 100644 index 0000000..44df370 --- /dev/null +++ b/platforms/livecd-root/root/openmamba-livecd/README @@ -0,0 +1,12 @@ +openmamba livecd +================ + +openmamba live CD is a live release of the openmamba operating system that +can immediately be used simply by booting or rebooting your computer with +the CD in the reader. + +It also provides an installation interface for system installation on fixed +disk that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +It works on almost any Personal Computer: notebook, desktop and server. diff --git a/platforms/livecd-root/root/openmamba-livecd/TODO b/platforms/livecd-root/root/openmamba-livecd/TODO new file mode 100644 index 0000000..9566901 --- /dev/null +++ b/platforms/livecd-root/root/openmamba-livecd/TODO @@ -0,0 +1,5 @@ +openmamba livecd +================ +List of things to do in future releases: + +* desktop automatic login as user (not root) diff --git a/platforms/livecd-root/settings.inc b/platforms/livecd-root/settings.inc new file mode 100644 index 0000000..8fb7c28 --- /dev/null +++ b/platforms/livecd-root/settings.inc @@ -0,0 +1,18 @@ +PRODUCT_NAME=livecd +MEDIA=squash_xz +MULTITHREAD=1 + +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules" + KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules" +fi + +TARGET_HOSTNAME=openmamba-livecd +ROOTDEV= +ROOTFS= diff --git a/platforms/livecd/Makefile b/platforms/livecd/Makefile new file mode 100644 index 0000000..8f8bded --- /dev/null +++ b/platforms/livecd/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-livecd: openmamba-release memtest86+ syslinux macbook-tools dracut +# Localized targets +$(MAKEDIST_TARGET)-livecd-en: +$(MAKEDIST_TARGET)-livecd-it: +$(MAKEDIST_TARGET)-livecd-es: diff --git a/platforms/livecd/Makefile.defs b/platforms/livecd/Makefile.defs new file mode 100644 index 0000000..c76bbe2 --- /dev/null +++ b/platforms/livecd/Makefile.defs @@ -0,0 +1,6 @@ +xorglibGL = libGL-Mesa-dri libGL-nvidia-X11 libGL-fglrx-X11 +kernelnvidia = kernel-mamba-nongpl-nvidia +xorglibglx = xorg-ext-libglx xorg-ext-libglx-nvidia +#xorg-ext-libglx-nvidia +libGLcore.so.1 = xorg-drv-video-nvidia +libnvidia-tls.so.1 = xorg-drv-video-nvidia diff --git a/platforms/livecd/old/initramfs-include.sh b/platforms/livecd/old/initramfs-include.sh new file mode 100644 index 0000000..2454c28 --- /dev/null +++ b/platforms/livecd/old/initramfs-include.sh @@ -0,0 +1,76 @@ +FOUND_ROOTFS= +#RAMSIZE=256144 -o "size=${RAMSIZE}k" + +msg ":: Creating new root ramdisk (dinamic size=${RAMSIZE}k) on /dev/shm..." +mkdir /newroot +/bin/mount -t tmpfs /dev/shm /newroot + +mkdir /newroot/cdrom /newroot/squashfs + +# +# findcdrom(): looks for cdrom devices and mounts them to detect compressed fs +# +findcdrom(){ + msg ":: Looking for cdrom device(s)" + + # try removable devices only + for i in /sys/block/*/removable; do + removable=`cat $i` + if [ "$removable" = "1" ]; then + dev=${i%/removable} + dev=/dev/${dev#/sys/block/} + if mount -r -t iso9660 $dev /newroot/cdrom >/dev/null 2>&1; then + if test -r /newroot/cdrom/rootfs.compressed; then + msg ":: Compressed root filesystem found on $dev..." + FOUND_ROOTFS="$dev" + return 0 + fi + umount /newroot/cdrom + fi + fi + done + return 1 +} + +#/sbin/splash_util -c repaint ${splash_add} -t default --mesg="Looking for cdrom device" --progress="4444" + +while true; do + findcdrom + if [ "$FOUND_ROOTFS" ]; then +# /sbin/splash_util -c repaint ${splash_add} -t default --mesg="Mounting compressed filesystem" --progress="5555" + msg ":: Mounting compressed filesystem" + /bin/losetup /dev/loop0 /newroot/cdrom/rootfs.compressed + mount -r -t squashfs /dev/loop0 /newroot/squashfs + + msg ":: Creating directories and symlinks on ramdisk..." + + mkdir -p \ + /newroot/tmp /newroot/proc /newroot/sys \ + /newroot/initrd /newroot/mnt /newroot/media \ + /newroot/oldroot + + ln -s squashfs/bin /newroot/bin + ln -s squashfs/boot /newroot/boot + ln -s squashfs/lib /newroot/lib + ln -s squashfs/opt /newroot/opt + ln -s squashfs/sbin /newroot/sbin + ln -s squashfs/srv /newroot/srv + ln -s squashfs/usr /newroot/usr + + chroot /newroot /bin/cp -a \ + /squashfs/dev /squashfs/home /squashfs/var \ + /squashfs/etc /squashfs/root / + + # Create empty utmp and wtmp + :> /newroot/var/run/utmp + :> /newroot/var/run/wtmp + + [ "${init}" ] || init=/sbin/init + msg ":: Running init, runlevel:${runlevel}" + exec run-init /newroot ${init} ${runlevel} + exit 0 + else + msg ":: Could not find compressed root filesystem. image; opening a command prompt." + /bin/sh.shared + fi +done diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh new file mode 100644 index 0000000..486ecf5 --- /dev/null +++ b/platforms/livecd/post.inc.sh @@ -0,0 +1,152 @@ +# livecd post script +# +# creates a fake installation aimed at producing a kernel image and initrd +# for livecd boot + +# make initramfs + +[ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux + +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + ${KERNEL_MAJVER}${K} + + # Note: isolinux requires 8.3 filenames + cp $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + $MOUNTDIR2/boot/initrd${ISOID}.gz + + cp $MOUNTDIR/boot/vmlinuz-${KERNEL_MAJVER}${K} \ + $MOUNTDIR2/boot/vmlinuz${ISOID} + + ISOID=$(($ISOID + 1)) +done + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" + +# configure isolinux boot loader +cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +PROMPT 0 +TIMEOUT 20 +DEFAULT vesamenu.c32 +MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) +MENU BACKGROUND openmamba.png +MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std +_EOF + +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +LABEL default-${KERNEL_MAJVER}${K} +MENU LABEL default (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 +_EOF + ISOID=$(($ISOID + 1)) +done + +echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux/isolinux.cfg +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +LABEL vga800-${KERNEL_MAJVER}${K} +MENU LABEL VGA 800x600 no modeset (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 nomodeset +_EOF + ISOID=$(($ISOID + 1)) +done + +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +LABEL vga1024-${KERNEL_MAJVER}${K} +MENU LABEL VGA 1024x768 no modeset (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 nomodeset +_EOF + ISOID=$(($ISOID + 1)) +done + +echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux/isolinux.cfg +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +LABEL debug-${KERNEL_MAJVER}${K} +MENU LABEL Debug mode (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 rddebug nomodeset +_EOF + ISOID=$(($ISOID + 1)) +done + +cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +MENU SEPARATOR +LABEL memtest + MENU LABEL Memory test + kernel memtest +MENU SEPARATOR +MENU SEPARATOR +LABEL - + MENU LABEL $PRODUCT_NAME build:`date -R` + MENU DISABLE +_EOF + +# install isolinux binary +[ -e $MOUNTDIR/usr/share/syslinux/isolinux.bin ] && cp $MOUNTDIR/usr/share/syslinux/isolinux.bin $MOUNTDIR2/boot/isolinux/isolinux.bin || + { echo "Error: /usr/share/syslinux/isolinux.bin not found. Please install the syslinux package."; + exit 1; } + +# copy syslinux addons to final root /boot dir +cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ + +# install memtest +[ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || + { echo "Error: /boot/memtest.bin not found. Please install the memtest86 package."; + exit 1; } + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" +sed -i "s|%buildinfo%|$buildinfo|" $MOUNTDIR2/boot/isolinux/menu.txt + +#echo "Adding binary packages from pkggroups.db..." +#. $LOCALSTATEDIR/.${MEDIA_NAMES[0]}.distinfo +#LANG=${LANGUAGE:0:2} . $MOUNTDIR/usr/share/openmamba/pkggroups.db +# +#add_binary_packages_to_repository $MOUNTDIR2/openmamba "$ALL_PKGS $EXTRA_PKGS" "$INSTALLED" + +#echo "Generating APT database..." +#ln -s RPMS/$arch $MOUNTDIR2/openmamba/RPMS.$arch +#genbasedir $MOUNTDIR2/openmamba +#mkdir $MOUNTDIR2/.disk +#cat $MOUNTDIR/etc/openmamba-release > $MOUNTDIR2/.disk/info + +# Finally produce the media +MOUNTDIR=$MOUNTDIR2 produce_media $MEDIA_NAME + +for i in $SUBPLATFORM; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + cat >> $LOCALSTATEDIR/.$MEDIA_NAME.inc.html << _EOF +

Root target(s): +

+_EOF + cat $LOCALSTATEDIR/.$CURR_MEDIA_NAME.inc.html >> \ + $LOCALSTATEDIR/.$MEDIA_NAME.inc.html + echo "
" >> $LOCALSTATEDIR/.$MEDIA_NAME.inc.html +done + +exit 0 diff --git a/platforms/livecd/pre.inc.sh b/platforms/livecd/pre.inc.sh new file mode 100644 index 0000000..fa68ad4 --- /dev/null +++ b/platforms/livecd/pre.inc.sh @@ -0,0 +1,36 @@ +# produce livecd bootable ISO image +MEDIA_NAMES=() +DISTROMATIC_OPT="" +for i in $SUBPLATFORM; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + MEDIA_NAMES=(${MEDIA_NAMES[*]} $CURR_MEDIA_NAME) + + [ "$FORCE" = "1" -o ! -e "$LOCALSTATEDIR/$CURR_MEDIA_NAME" ] && { + makedist $MAKEDIST_TARGET PLATFORM=$i FORCE=1 DISTROMATIC=$DISTROMATIC_OPT || exit 1 + DISTROMATIC_OPT="off" + } +done + +[ "$PRODUCT_NAME_OVERRIDE" ] && PRODUCT_NAME=$PRODUCT_NAME_OVERRIDE + +[ "$PRODUCT_NAME" ] && \ + MEDIA_NAME=`PLATFORM=$PRODUCT_NAME media_name` || + MEDIA_NAME=`media_name` + +. $TARGETDIR/platforms/$PLATFORM/settings.inc + +echo "Creating bootable livecd..." +[ "$MOUNTDIR" ] && rm -rf $MOUNTDIR/* +[ "$MOUNTDIR2" ] && rm -rf $MOUNTDIR2/* + +#[ "$EXTRA_PACKAGES" ] && { +# echo "- installing repository with extra packages" +# add_packages_to_repository $MOUNTDIR/repositories/extras "$EXTRA_PACKAGES" +#} + +echo "- installing ${MEDIA_NAMES[0]}" +mkdir -p $MOUNTDIR2/LiveOS +cp $LOCALSTATEDIR/${MEDIA_NAMES[0]} $MOUNTDIR2/LiveOS/squashfs.img +echo "- generating MD5 sum for ${MEDIA_NAMES[0]}" +md5sum $MOUNTDIR2/LiveOS/squashfs.img > $MOUNTDIR2/LiveOS/squashfs.img.MD5 diff --git a/platforms/livecd/root-it/boot/isolinux/help.txt b/platforms/livecd/root-it/boot/isolinux/help.txt new file mode 100644 index 0000000..2e4d81d --- /dev/null +++ b/platforms/livecd/root-it/boot/isolinux/help.txt @@ -0,0 +1,20 @@ + + Menu' di avvio di openmamba + =========================== + + 1) Avvio con risoluzione 800x600 (scelta predefinita) + 2) Avvio con risoluzione 1024x768 + 3) Avvio con risoluzione 1280x1024 + 1-freevideo, 2-freevideo, 3-freevideo) come 1,2,3 + driver video Open Source + 8) Avvio in modalita' di debug + 9) Esegue un test della memoria di sistema + +Digitare 1 o attendere 10 secondi per l'avvio automatico. + +E' possibile passare parametri extra al kernel. Ad esempio: +boot: 1 debug=1 video=vesafb:off postplug=nosound,freevideo + +In caso di problemi all'avvio utilizzare la scelta 8 o le opzioni debug=1 e +video=vesafb:off per visualizzare su schermo i messaggi di sistema. + +NOTA: nella maggior parte dei casi basta premere INVIO per l'avvio predefinito. diff --git a/platforms/livecd/root-it/boot/isolinux/menu.txt b/platforms/livecd/root-it/boot/isolinux/menu.txt new file mode 100644 index 0000000..43795f4 --- /dev/null +++ b/platforms/livecd/root-it/boot/isolinux/menu.txt @@ -0,0 +1,10 @@ + + %buildinfo% + + Menu' di avvio + ============== + + F1) Aiuto + + Premere INVIO o attendere 10 secondi per l'avvio in modalita' predefinita. + diff --git a/platforms/livecd/root-it/openmamba-livecd/COPYING b/platforms/livecd/root-it/openmamba-livecd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/livecd/root-it/openmamba-livecd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/livecd/root-it/openmamba-livecd/INSTALLAZIONE b/platforms/livecd/root-it/openmamba-livecd/INSTALLAZIONE new file mode 100644 index 0000000..889f223 --- /dev/null +++ b/platforms/livecd/root-it/openmamba-livecd/INSTALLAZIONE @@ -0,0 +1,9 @@ +openmamba livecd - istruzioni per l'installazione su disco fisso +================================================================ + +Istruzioni +---------- +L'installazione del sistema su disco fisso avviene attraverso il sistema live. + +1) avvia il computer dal livecd e attendi il caricamento del sistema grafico +2) fai clic sull'icona 'installa' sul desktop diff --git a/platforms/livecd/root-it/openmamba-livecd/LEGGIMI b/platforms/livecd/root-it/openmamba-livecd/LEGGIMI new file mode 100644 index 0000000..9fdc33f --- /dev/null +++ b/platforms/livecd/root-it/openmamba-livecd/LEGGIMI @@ -0,0 +1,16 @@ +openmamba installdvd +==================== + +openmamba live CD è una versione live release del sistema operativo openmamba +che può essere usata immediatamente avviando o riavviando il computer con il +CD inserito nel lettore. + +Fornisce un'interfaccia di installazione del sistema su disco rigido +che permette l'installazione e l'uso di openmamba mantenendo il sistema +operativo pre-installato nel computer (es. Microsoft Windows). + +Il livecd effettua l'installazione dei pacchetti base per l'installazione del +sistema. Dopo l'avvio del sistema installato su hard disk l'installazione deve +essere completata utilizzando una connessione di rete e l'apposito tool che comparirà +automaticamente. + diff --git a/platforms/livecd/root/boot/isolinux/help.txt b/platforms/livecd/root/boot/isolinux/help.txt new file mode 100644 index 0000000..94a01b6 --- /dev/null +++ b/platforms/livecd/root/boot/isolinux/help.txt @@ -0,0 +1,20 @@ + + openmamba CD boot menu + ====================== + + kms) Autodetect startup video mode (default choice) + vga1024) Force system startup at 1024x768 resolution + vga800) Force system startup at 1280x1024 resolution + + debug) System startup in debug mode + memtest) Start a system memory benchmark + +Please, enter your choice or wait 10 seconds to boot automatically. + +You can also pass some extra parameters to the kernel. For example: +boot: kms debug=1 splash=off postplug=nosound,freevideo + +If you have trouble booting the system please use the choice 'debug' or the +debug=1 and splash=off options in order to see system messages. + +NOTE: In most cases you just need to hit ENTER to boot with default settings. diff --git a/platforms/livecd/root/boot/isolinux/menu.txt b/platforms/livecd/root/boot/isolinux/menu.txt new file mode 100644 index 0000000..8a8ed72 --- /dev/null +++ b/platforms/livecd/root/boot/isolinux/menu.txt @@ -0,0 +1,10 @@ + + %buildinfo% + + Boot menu + ========= + + F1) Help + + Please, press ENTER or wait 10 seconds to boot with default options. + diff --git a/platforms/livecd/root/boot/isolinux/openmamba.png b/platforms/livecd/root/boot/isolinux/openmamba.png new file mode 100644 index 0000000000000000000000000000000000000000..ca02a2e61e37539bcabd6d4def09f0983e2d8420 GIT binary patch literal 66295 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 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/livecd/root/openmamba-livecd/INSTALL b/platforms/livecd/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..b8184bd --- /dev/null +++ b/platforms/livecd/root/openmamba-livecd/INSTALL @@ -0,0 +1,9 @@ +openmamba livecd - fixed disk installation instructions +======================================================= + +Instructions +------------ +System installation on fixed disk is performed via the live system. + +1) boot from livecd and wait for the graphical desktop system to start +2) click on the 'install' icon in the desktop diff --git a/platforms/livecd/root/openmamba-livecd/README b/platforms/livecd/root/openmamba-livecd/README new file mode 100644 index 0000000..e12ba6a --- /dev/null +++ b/platforms/livecd/root/openmamba-livecd/README @@ -0,0 +1,15 @@ +openmamba installcd +==================== + +openmamba live CD is a live release of the openmamba operating system +that can immediately be used simply by booting or rebooting your computer +with the CD in the reader. + +It provides an installation interface for system installation on fixed disk +that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +The livecd will install the base openmamba system. The installation must be +completed using a network connection and a tool that will automatically start +on first boot. + diff --git a/platforms/livecd/settings.inc b/platforms/livecd/settings.inc new file mode 100644 index 0000000..6ce8b53 --- /dev/null +++ b/platforms/livecd/settings.inc @@ -0,0 +1,18 @@ +MEDIA=iso +DISTROMATIC=off +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="vboxvideo" +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="vboxvideo" +fi +[ "$SUBPLATFORM" ] || { + SUBPLATFORM="livecd-root" + PRODUCT_NAME="livecd" +} +TARGET_HOSTNAME=openmamba-livecd +ROOTDEV=/dev/sda1 +ROOTFS=ext3 diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile new file mode 100644 index 0000000..545f072 --- /dev/null +++ b/platforms/livedvd-root/Makefile @@ -0,0 +1,31 @@ +$(MAKEDIST_TARGET)-livedvd-kde4: desktop-base-kde4 kppp krfb ark kcalc kdf kgpg \ + ksnapshot okular kontact kmail akregator kmix \ + kopete bluedevil smb4k amarok kwallet dragon kate +$(MAKEDIST_TARGET)-livedvd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress + +$(MAKEDIST_TARGET)-livedvd-root: \ + postplug-xorg postplug-sound openssh-server \ + $(MAKEDIST_TARGET)-commontools xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + xorg-drv-input-synaptics xorg-apps-extra xterm \ + ttf-freefont liberation-fonts-ttf \ + gparted ntfs-3g libdvdcss \ + chromium kpartsplugin \ + macbook-tools livecd-tools gdb \ + Mesa-tools driconf parted testdisk samba-server \ + smart-gui cpufreqd mambatray \ + $(MAKEDIST_TARGET)-livedvd-kde4 testdisk photorec +# Localization targets +$(MAKEDIST_TARGET)-livedvd-root-en: \ + kde-l10n-en_GB +$(MAKEDIST_TARGET)-livedvd-root-es: \ + kde-l10n-es +$(MAKEDIST_TARGET)-livedvd-root-fr: \ + kde-l10n-fr +$(MAKEDIST_TARGET)-livedvd-root-it: \ + kde-l10n-it +$(MAKEDIST_TARGET)-livedvd-root-de: \ + kde-l10n-de +# FIXME: add kdepim +syslog-ng: + @echo diff --git a/platforms/livedvd-root/Makefile.defs b/platforms/livedvd-root/Makefile.defs new file mode 100644 index 0000000..36c84ec --- /dev/null +++ b/platforms/livedvd-root/Makefile.defs @@ -0,0 +1,2 @@ +networkmanagergui = plasma-applet-networkmanagement +xorgdrvvideo += xorg-drv-video-vboxvideo VirtualBox-vboxguest diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh new file mode 100644 index 0000000..cc48ddb --- /dev/null +++ b/platforms/livedvd-root/post.inc.sh @@ -0,0 +1,64 @@ +## don't activate some services +#rm -f $MOUNTDIR/etc/rcsysinit.d/{S35hdparm,S30loadmodules,S40swap} +#rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} +#rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} + +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# configure KDM for autologin +# +if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then + sed -i 's|[#]*AutoLoginEnable=.*|AutoLoginEnable=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoReLogin=.*|AutoReLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + fr) timezone=Europe/Paris ;; + de) timezone=Europe/Berlin ;; + en) timezone=Europe/London ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# configure favorites in kde menu +for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applications/amarok.desktop; do + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f +done + +# clean rpm database before doing other operations with internal rpm +# to fix cross x86/x86_64 installation error: +# error: db4 error(-30986) from dbcursor->get: DB_PAGE_NOTFOUND: Requested page not found +clean_rpm_database + +virtualbox_ver=`ls -d $MOUNTDIR/usr/src/vboxvideo-* | sed "s|.*-||"` +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + # pre-create video drivers for VirtualBox + chroot $MOUNTDIR dkms install -q -m vboxguest -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force + chroot $MOUNTDIR dkms install -q -m vboxvideo -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force + # remove unused initramfs generated by kernel + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img* +# # remove failsafe image to save space for livecd +# rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +done + +prelink diff --git a/platforms/livedvd-root/root/openmamba-livecd/COPYING b/platforms/livedvd-root/root/openmamba-livecd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/livedvd-root/root/openmamba-livecd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/livedvd-root/root/openmamba-livecd/INSTALL b/platforms/livedvd-root/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..9427f0c --- /dev/null +++ b/platforms/livedvd-root/root/openmamba-livecd/INSTALL @@ -0,0 +1,7 @@ +openmamba livecd - hard disk installation instructions +====================================================== +To install on hard disk use the openmamba installer. + +Boot from livecd and wait for the desktop to come out, then click +on the "openmamba installer" icon to launch the installation wizard and +follow the instructions. diff --git a/platforms/livedvd-root/root/openmamba-livecd/README b/platforms/livedvd-root/root/openmamba-livecd/README new file mode 100644 index 0000000..44df370 --- /dev/null +++ b/platforms/livedvd-root/root/openmamba-livecd/README @@ -0,0 +1,12 @@ +openmamba livecd +================ + +openmamba live CD is a live release of the openmamba operating system that +can immediately be used simply by booting or rebooting your computer with +the CD in the reader. + +It also provides an installation interface for system installation on fixed +disk that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +It works on almost any Personal Computer: notebook, desktop and server. diff --git a/platforms/livedvd-root/root/openmamba-livecd/TODO b/platforms/livedvd-root/root/openmamba-livecd/TODO new file mode 100644 index 0000000..9566901 --- /dev/null +++ b/platforms/livedvd-root/root/openmamba-livecd/TODO @@ -0,0 +1,5 @@ +openmamba livecd +================ +List of things to do in future releases: + +* desktop automatic login as user (not root) diff --git a/platforms/livedvd-root/settings.inc b/platforms/livedvd-root/settings.inc new file mode 100644 index 0000000..7ce67a9 --- /dev/null +++ b/platforms/livedvd-root/settings.inc @@ -0,0 +1,21 @@ +PRODUCT_NAME=livedvd +MEDIA=squash_xz +MULTILANGUAGE="en it es fr de" + +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules sound" + KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="vboxvideo" + KERNEL_MORE_EXTRAVER= +fi + +TARGET_HOSTNAME=openmamba-livedvd +ROOTDEV= +ROOTFS= + +APPLICATION_TARGET="BASE_PKGS OFFICE_PKGS MULTIMEDIA_PLAYERS_PKGS MULTIMEDIA_EDITING_PKGS INTERNET_PKGS GRAPHICS_PKGS GAMES_PKGS VIRTUALIZATION_PKGS" diff --git a/platforms/livedvd/Makefile b/platforms/livedvd/Makefile new file mode 100644 index 0000000..f3170a2 --- /dev/null +++ b/platforms/livedvd/Makefile @@ -0,0 +1,7 @@ +$(MAKEDIST_TARGET)-livedvd: openmamba-release memtest86+ syslinux macbook-tools +# Localized targets +$(MAKEDIST_TARGET)-livedvd-en: +$(MAKEDIST_TARGET)-livedvd-it: +$(MAKEDIST_TARGET)-livedvd-fr: +$(MAKEDIST_TARGET)-livedvd-es: +$(MAKEDIST_TARGET)-livedvd-de: diff --git a/platforms/livedvd/Makefile.defs b/platforms/livedvd/Makefile.defs new file mode 100644 index 0000000..bb48250 --- /dev/null +++ b/platforms/livedvd/Makefile.defs @@ -0,0 +1,14 @@ +xorglibGL = libGL-Mesa-dri libGL-nvidia-X11 libGL-fglrx-X11 +kernelnvidia = kernel-mamba-nongpl-nvidia +xorglibglx = xorg-ext-libglx xorg-ext-libglx-nvidia +#xorg-ext-libglx-nvidia +libGLcore.so.1 = xorg-drv-video-nvidia +libnvidia-tls.so.1 = xorg-drv-video-nvidia +xorgdrvvideo += xorg-drv-video-vboxvideo +libkorganizer.so.1 = korganizer +libkorganizer_calendar.so.1 = korganizer +libkorganizer_eventviewer.so.1 = korganizer +perl[Automake__General] = automake +perl[Automake__Struct] = automake +perl[Automake__Struct__Tie_ISA] = automake +perl[Automake__XFile] = automake diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh new file mode 100644 index 0000000..ef67465 --- /dev/null +++ b/platforms/livedvd/post.inc.sh @@ -0,0 +1,180 @@ +# livecd post script +# +# creates a fake installation aimed at producing a kernel image and initrd +# for livecd boot + +# make initramfs + +[ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux + +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + ${KERNEL_MAJVER}${K} + + # Note: isolinux requires 8.3 filenames + cp $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + $MOUNTDIR2/boot/initrd${ISOID}.gz + + cp $MOUNTDIR/boot/vmlinuz-${KERNEL_MAJVER}${K} \ + $MOUNTDIR2/boot/vmlinuz${ISOID} + + ISOID=$(($ISOID + 1)) +done + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" + +# configure isolinux boot loader +cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF +PROMPT 0 +TIMEOUT 20 +DEFAULT vesamenu.c32 +MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) +MENU BACKGROUND openmamba.png +MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std + +LABEL - + MENU LABEL Please select system startup language: + MENU DISABLE +_EOF + +ISOID= +for l in $MULTILANGUAGE; do + case $l in + "en") LABEL="English"; LOCALELANG="en_US.UTF-8"; VCONSOLEKEYMAP="us" ;; + "it") LABEL="Italiano"; LOCALELANG="it_IT.UTF-8"; VCONSOLEKEYMAP="it" ;; + "fr") LABEL="Français"; LOCALELANG="fr_FR.UTF-8"; VCONSOLEKEYMAP="fr" ;; + "es") LABEL="Español"; LOCALELANG="es_ES.UTF-8"; VCONSOLEKEYMAP="es" ;; + "de") LABEL="Deutsch"; LOCALELANG="de_DE.UTF-8"; VCONSOLEKEYMAP="de" ;; + *) LABEL="$l" + esac + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF +MENU BEGIN $l + MENU LABEL $LABEL + MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) +_EOF + + ISOID= + for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF + LABEL default-${KERNEL_MAJVER}${K} + MENU LABEL default (${KERNEL_MAJVER}${K} $l) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 locale.LANG=$LOCALELANG vconsole.keymap=$VCONSOLEKEYMAP +_EOF + ISOID=$(($ISOID + 1)) + done + + echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 + ISOID= + for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF + LABEL vga800-${KERNEL_MAJVER}${K} + MENU LABEL VGA 800x600 no modeset (${KERNEL_MAJVER}${K} $l) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 locale.LANG=$LOCALELANG vconsole.keymap=$VCONSOLEKEYMAP nomodeset +_EOF + ISOID=$(($ISOID + 1)) + done + + ISOID= + for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF + LABEL vga1024-${KERNEL_MAJVER}${K} + MENU LABEL VGA 1024x768 no modeset (${KERNEL_MAJVER}${K} $l) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 locale.LANG=$LOCALELANG vconsole.keymap=$VCONSOLEKEYMAP nomodeset +_EOF + ISOID=$(($ISOID + 1)) + done + + echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 + ISOID= + for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF + LABEL debug-${KERNEL_MAJVER}${K} + MENU LABEL Debug mode (${KERNEL_MAJVER}${K} $l) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 locale.LANG=$LOCALELANG vconsole.keymap=$VCONSOLEKEYMAP rddebug nomodeset +_EOF + ISOID=$(($ISOID + 1)) + done + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF +MENU END +_EOF +done + +cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF +MENU SEPARATOR +LABEL memtest + MENU LABEL Memory test + kernel memtest +MENU SEPARATOR +MENU SEPARATOR +LABEL - + MENU LABEL $PRODUCT_NAME build:`date -R` + MENU DISABLE +_EOF + +# convert isolinux.cfg from UTF-8 to CP437 +iconv -f utf-8 -t cp437 $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 > $MOUNTDIR2/boot/isolinux/isolinux.cfg +rm -f $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 + +# install isolinux binary +[ -e $MOUNTDIR/usr/share/syslinux/isolinux.bin ] && cp $MOUNTDIR/usr/share/syslinux/isolinux.bin $MOUNTDIR2/boot/isolinux/isolinux.bin || + { echo "Error: /usr/share/syslinux/isolinux.bin not found. Please install the syslinux package."; + exit 1; } + +# copy syslinux addons to final root /boot dir +cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ + +# install memtest +[ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || + { echo "Error: /boot/memtest.bin not found. Please install the memtest86 package."; + exit 1; } + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" +sed -i "s|%buildinfo%|$buildinfo|" $MOUNTDIR2/boot/isolinux/menu.txt + +#echo "Adding binary packages from pkggroups.db..." +#. $LOCALSTATEDIR/.${MEDIA_NAMES[0]}.distinfo +#LANG=${LANGUAGE:0:2} . $MOUNTDIR/usr/share/openmamba/pkggroups.db +# +#add_binary_packages_to_repository $MOUNTDIR2/openmamba "$ALL_PKGS $EXTRA_PKGS" "$INSTALLED" + +#echo "Generating APT database..." +#ln -s RPMS/$arch $MOUNTDIR2/openmamba/RPMS.$arch +#genbasedir $MOUNTDIR2/openmamba +#mkdir $MOUNTDIR2/.disk +#cat $MOUNTDIR/etc/openmamba-release > $MOUNTDIR2/.disk/info + +# Finally produce the media +MOUNTDIR=$MOUNTDIR2 produce_media $MEDIA_NAME + +for i in $SUBPLATFORM; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + cat >> $LOCALSTATEDIR/.$MEDIA_NAME.inc.html << _EOF +

Root target(s): +

+_EOF + cat $LOCALSTATEDIR/.$CURR_MEDIA_NAME.inc.html >> \ + $LOCALSTATEDIR/.$MEDIA_NAME.inc.html + echo "
" >> $LOCALSTATEDIR/.$MEDIA_NAME.inc.html +done + +exit 0 diff --git a/platforms/livedvd/pre.inc.sh b/platforms/livedvd/pre.inc.sh new file mode 100644 index 0000000..fa68ad4 --- /dev/null +++ b/platforms/livedvd/pre.inc.sh @@ -0,0 +1,36 @@ +# produce livecd bootable ISO image +MEDIA_NAMES=() +DISTROMATIC_OPT="" +for i in $SUBPLATFORM; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + MEDIA_NAMES=(${MEDIA_NAMES[*]} $CURR_MEDIA_NAME) + + [ "$FORCE" = "1" -o ! -e "$LOCALSTATEDIR/$CURR_MEDIA_NAME" ] && { + makedist $MAKEDIST_TARGET PLATFORM=$i FORCE=1 DISTROMATIC=$DISTROMATIC_OPT || exit 1 + DISTROMATIC_OPT="off" + } +done + +[ "$PRODUCT_NAME_OVERRIDE" ] && PRODUCT_NAME=$PRODUCT_NAME_OVERRIDE + +[ "$PRODUCT_NAME" ] && \ + MEDIA_NAME=`PLATFORM=$PRODUCT_NAME media_name` || + MEDIA_NAME=`media_name` + +. $TARGETDIR/platforms/$PLATFORM/settings.inc + +echo "Creating bootable livecd..." +[ "$MOUNTDIR" ] && rm -rf $MOUNTDIR/* +[ "$MOUNTDIR2" ] && rm -rf $MOUNTDIR2/* + +#[ "$EXTRA_PACKAGES" ] && { +# echo "- installing repository with extra packages" +# add_packages_to_repository $MOUNTDIR/repositories/extras "$EXTRA_PACKAGES" +#} + +echo "- installing ${MEDIA_NAMES[0]}" +mkdir -p $MOUNTDIR2/LiveOS +cp $LOCALSTATEDIR/${MEDIA_NAMES[0]} $MOUNTDIR2/LiveOS/squashfs.img +echo "- generating MD5 sum for ${MEDIA_NAMES[0]}" +md5sum $MOUNTDIR2/LiveOS/squashfs.img > $MOUNTDIR2/LiveOS/squashfs.img.MD5 diff --git a/platforms/livedvd/root-it/boot/isolinux/help.txt b/platforms/livedvd/root-it/boot/isolinux/help.txt new file mode 100644 index 0000000..2e4d81d --- /dev/null +++ b/platforms/livedvd/root-it/boot/isolinux/help.txt @@ -0,0 +1,20 @@ + + Menu' di avvio di openmamba + =========================== + + 1) Avvio con risoluzione 800x600 (scelta predefinita) + 2) Avvio con risoluzione 1024x768 + 3) Avvio con risoluzione 1280x1024 + 1-freevideo, 2-freevideo, 3-freevideo) come 1,2,3 + driver video Open Source + 8) Avvio in modalita' di debug + 9) Esegue un test della memoria di sistema + +Digitare 1 o attendere 10 secondi per l'avvio automatico. + +E' possibile passare parametri extra al kernel. Ad esempio: +boot: 1 debug=1 video=vesafb:off postplug=nosound,freevideo + +In caso di problemi all'avvio utilizzare la scelta 8 o le opzioni debug=1 e +video=vesafb:off per visualizzare su schermo i messaggi di sistema. + +NOTA: nella maggior parte dei casi basta premere INVIO per l'avvio predefinito. diff --git a/platforms/livedvd/root-it/boot/isolinux/menu.txt b/platforms/livedvd/root-it/boot/isolinux/menu.txt new file mode 100644 index 0000000..092622e --- /dev/null +++ b/platforms/livedvd/root-it/boot/isolinux/menu.txt @@ -0,0 +1,10 @@ + + %buildinfo% + + Menu' di avvio + ============== + + F1) Aiuto + + Premere INVIO o attendere 10 secondi per l'avvio in modalita' predefinita. + diff --git a/platforms/livedvd/root-it/openmamba-livecd/COPYING b/platforms/livedvd/root-it/openmamba-livecd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/livedvd/root-it/openmamba-livecd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/livedvd/root-it/openmamba-livecd/INSTALLAZIONE b/platforms/livedvd/root-it/openmamba-livecd/INSTALLAZIONE new file mode 100644 index 0000000..8b0f7aa --- /dev/null +++ b/platforms/livedvd/root-it/openmamba-livecd/INSTALLAZIONE @@ -0,0 +1,9 @@ +openmamba livedvd - istruzioni per l'installazione su disco fisso +================================================================= + +Istruzioni +---------- +L'installazione del sistema su disco fisso avviene attraverso il sistema live. + +1) avvia il computer dal livedvd e attendi il caricamento del sistema grafico +2) fai clic sull'icona 'installa' sul desktop diff --git a/platforms/livedvd/root-it/openmamba-livecd/LEGGIMI b/platforms/livedvd/root-it/openmamba-livecd/LEGGIMI new file mode 100644 index 0000000..f5ece03 --- /dev/null +++ b/platforms/livedvd/root-it/openmamba-livecd/LEGGIMI @@ -0,0 +1,15 @@ +openmamba installdvd +==================== + +openmamba live DVD è una versione live release del sistema operativo openmamba +che può essere usata immediatamente avviando o riavviando il computer con il +CD inserito nel lettore. + +Fornisce un'interfaccia di installazione del sistema su disco rigido +che permette l'installazione e l'uso di openmamba mantenendo il sistema +operativo pre-installato nel computer (es. Microsoft Windows). + +Il livedvd effettua anche l'installazione della maggior parte dei pacchetti +base di openmamba pertanto è indicata per effettuare un'installazione completa +senza l'uso di una connessione di rete. + diff --git a/platforms/livedvd/root-it/openmamba-livecd/TODO b/platforms/livedvd/root-it/openmamba-livecd/TODO new file mode 100644 index 0000000..e69de29 diff --git a/platforms/livedvd/root/boot/isolinux/help.txt b/platforms/livedvd/root/boot/isolinux/help.txt new file mode 100644 index 0000000..94a01b6 --- /dev/null +++ b/platforms/livedvd/root/boot/isolinux/help.txt @@ -0,0 +1,20 @@ + + openmamba CD boot menu + ====================== + + kms) Autodetect startup video mode (default choice) + vga1024) Force system startup at 1024x768 resolution + vga800) Force system startup at 1280x1024 resolution + + debug) System startup in debug mode + memtest) Start a system memory benchmark + +Please, enter your choice or wait 10 seconds to boot automatically. + +You can also pass some extra parameters to the kernel. For example: +boot: kms debug=1 splash=off postplug=nosound,freevideo + +If you have trouble booting the system please use the choice 'debug' or the +debug=1 and splash=off options in order to see system messages. + +NOTE: In most cases you just need to hit ENTER to boot with default settings. diff --git a/platforms/livedvd/root/boot/isolinux/menu.txt b/platforms/livedvd/root/boot/isolinux/menu.txt new file mode 100644 index 0000000..8a8ed72 --- /dev/null +++ b/platforms/livedvd/root/boot/isolinux/menu.txt @@ -0,0 +1,10 @@ + + %buildinfo% + + Boot menu + ========= + + F1) Help + + Please, press ENTER or wait 10 seconds to boot with default options. + diff --git a/platforms/livedvd/root/boot/isolinux/openmamba.png b/platforms/livedvd/root/boot/isolinux/openmamba.png new file mode 100644 index 0000000000000000000000000000000000000000..ca02a2e61e37539bcabd6d4def09f0983e2d8420 GIT binary patch literal 66295 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 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/livedvd/root/openmamba-livecd/INSTALL b/platforms/livedvd/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..85f55af --- /dev/null +++ b/platforms/livedvd/root/openmamba-livecd/INSTALL @@ -0,0 +1,9 @@ +openmamba livedvd - fixed disk installation instructions +======================================================== + +Instructions +------------ +System installation on fixed disk is performed via the live system. + +1) boot from livedvd and wait for the graphical desktop system to start +2) click on the 'install' icon in the desktop diff --git a/platforms/livedvd/root/openmamba-livecd/README b/platforms/livedvd/root/openmamba-livecd/README new file mode 100644 index 0000000..6d729dd --- /dev/null +++ b/platforms/livedvd/root/openmamba-livecd/README @@ -0,0 +1,14 @@ +openmamba installdvd +==================== + +openmamba live DVD is a live release of the openmamba operating system +that can immediately be used simply by booting or rebooting your computer +with the CD in the reader. + +It provides an installation interface for system installation on fixed disk +that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +The livedvd also will install most base openmamba packages thus +providing a full installation without requiring a network connection. + diff --git a/platforms/livedvd/root/openmamba-livecd/TODO b/platforms/livedvd/root/openmamba-livecd/TODO new file mode 100644 index 0000000..e69de29 diff --git a/platforms/livedvd/settings.inc b/platforms/livedvd/settings.inc new file mode 100644 index 0000000..d1ce389 --- /dev/null +++ b/platforms/livedvd/settings.inc @@ -0,0 +1,25 @@ +MEDIA=iso +MULTILANGUAGE="en it es fr de" +DISTROMATIC=off + +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="vboxvideo" + KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="vboxvideo" + KERNEL_MORE_EXTRAVER= +fi + +[ "$SUBPLATFORM" ] || { + SUBPLATFORM="livedvd-root" + PRODUCT_NAME="livedvd" +} +PRODUCT_NAME_OVERRIDE=livedvd +TARGET_HOSTNAME=openmamba-livedvd +ROOTDEV=/dev/sda1 +ROOTFS=ext3 +APPLICATION_TARGET= diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile new file mode 100644 index 0000000..42c7b74 --- /dev/null +++ b/platforms/livegames-root/Makefile @@ -0,0 +1,40 @@ +$(MAKEDIST_TARGET)-livegames-kde4: kppp krfb ark kcalc kdf kfloppy kgpg desktop-base-kde4 \ + ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ + kopete bliedevil smb4k kate \ + kruler gwenview4 kamera kcolorchooser kwalletmanager \ + bomber bovo granatier kapman katomic kbattleship kblackbox kblocks kbounce \ + kdesnake kdiamond kgoldrunner kigo killbots kiriki kjumpingcube klickety \ + klines kmahjongg kmines knetwalk kolf kollision konquest kpat kreversi \ + ksame kshisen ksirk kspaceduel ksquares ksudoku ktron ktuberling kfourinline \ + kubrick lskat palapeli + +$(MAKEDIST_TARGET)-livegames-root: \ + postplug-xorg postplug-sound openssh-server \ + $(MAKEDIST_TARGET)-commontools xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + xorg-drv-input-synaptics \ + ttf-freefont liberation-fonts-ttf \ + gparted ntfs-3g samba-server \ + chromium kpartsplugin \ + macbook-tools livecd-tools \ + kdebluetooth Mesa-tools driconf \ + desktop-base-openmamba \ + extremetuxracer ksudoku4 okular cpufreqd mambatray \ + pingus gnuchess powermanga FlightGear frozen-bubble \ + monkey-bubble pathological neverball \ + tuxkart gtans moagg knights \ + torcs xmame openarena smart-gui \ + enemy-territory-client enemy-territory-etpro \ + enemy-territory-server enemy-territory-server-etpro \ + scorched3d gngeo supertux freeciv xmoto \ + warzone2100 bzflag tremulous gcompris \ + $(MAKEDIST_TARGET)-livegames-kde4 + +# Localization targets +$(MAKEDIST_TARGET)-livegames-root-en: \ + kde-l10n-en_GB +$(MAKEDIST_TARGET)-livegames-root-it: \ + kde-l10n-it +$(MAKEDIST_TARGET)-livegames-root-es: \ + kde-l10n-es +# FIXME: add kdepim diff --git a/platforms/livegames-root/Makefile.defs b/platforms/livegames-root/Makefile.defs new file mode 100644 index 0000000..103e646 --- /dev/null +++ b/platforms/livegames-root/Makefile.defs @@ -0,0 +1 @@ +networkmanagergui = plasma-applet-networkmanagement diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh new file mode 100644 index 0000000..ed23951 --- /dev/null +++ b/platforms/livegames-root/post.inc.sh @@ -0,0 +1,52 @@ +## don't activate some services +#rm -f $MOUNTDIR/etc/rcsysinit.d/{S35hdparm,S30loadmodules,S40swap} +#rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} +#rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} + +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# configure KDM for autologin +# +if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then + sed -i 's|[#]*AutoLoginEnable=.*|AutoLoginEnable=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoReLogin=.*|AutoReLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# configure favorites in kde menu +for f in /usr/share/applications/chromium-devel.desktop; do + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f +done + +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + # remove unused initramfs generated by kernel + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img* + # remove failsafe image to save space for livecd + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +done + +prelink diff --git a/platforms/livegames-root/root/openmamba-livegames/CHANGES b/platforms/livegames-root/root/openmamba-livegames/CHANGES new file mode 100644 index 0000000..e0fd745 --- /dev/null +++ b/platforms/livegames-root/root/openmamba-livegames/CHANGES @@ -0,0 +1,5 @@ +openmamba artstudio livecd changelog +==================================== + +20070922 + * new makedist target diff --git a/platforms/livegames-root/root/openmamba-livegames/COPYING b/platforms/livegames-root/root/openmamba-livegames/COPYING new file mode 100644 index 0000000..5a965fb --- /dev/null +++ b/platforms/livegames-root/root/openmamba-livegames/COPYING @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/platforms/livegames-root/root/openmamba-livegames/INSTALL b/platforms/livegames-root/root/openmamba-livegames/INSTALL new file mode 100644 index 0000000..10623d9 --- /dev/null +++ b/platforms/livegames-root/root/openmamba-livegames/INSTALL @@ -0,0 +1,6 @@ +openmamba livecd - hard disk installation instructions +====================================================== +To install on hard disk use the openmamba installer. +Boot from livecd and wait for the desktop to come out, then click +on the "openmamba installer" icon to launch the installation wizard and +follow the instructions. diff --git a/platforms/livegames-root/root/openmamba-livegames/README b/platforms/livegames-root/root/openmamba-livegames/README new file mode 100644 index 0000000..c3c8fd9 --- /dev/null +++ b/platforms/livegames-root/root/openmamba-livegames/README @@ -0,0 +1,5 @@ +openmamba artstudio livecd +========================== + +This artstudio livecd is at early development stage. + diff --git a/platforms/livegames-root/root/openmamba-livegames/TODO b/platforms/livegames-root/root/openmamba-livegames/TODO new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/platforms/livegames-root/root/openmamba-livegames/TODO @@ -0,0 +1 @@ + diff --git a/platforms/livegames-root/settings.inc b/platforms/livegames-root/settings.inc new file mode 100644 index 0000000..65a0924 --- /dev/null +++ b/platforms/livegames-root/settings.inc @@ -0,0 +1,12 @@ +MEDIA=squash_xz +MULTITHREAD=1 + +PRODUCT_NAME=livegames + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" + +TARGET_HOSTNAME=openmamba-livegames +ROOTDEV= +ROOTFS= diff --git a/platforms/packages-dvd/Makefile b/platforms/packages-dvd/Makefile new file mode 100644 index 0000000..e69de29 diff --git a/platforms/packages-dvd/Makefile.defs b/platforms/packages-dvd/Makefile.defs new file mode 100644 index 0000000..e69de29 diff --git a/platforms/packages-dvd/pre.inc.sh b/platforms/packages-dvd/pre.inc.sh new file mode 100644 index 0000000..a6fc501 --- /dev/null +++ b/platforms/packages-dvd/pre.inc.sh @@ -0,0 +1,52 @@ +# produce packages container DVD +MEDIA_NAME=`media_name` +MEDIA_NAMES=() +DISTROMATIC_OPT="" +ALL_PACKAGES=(`eval more /var/makedist/distromatic/deps-i586 | grep ALL_PACKAGES`) +for i in $COMPLEMENTARY_TARGETS; do + . $TARGETDIR/platforms/$i/settings.inc + MEDIA_NAME=`PLATFORM=$i media_name` + . $LOCALSTATEDIR/.$MEDIA_NAME.distinfo + INST_PACKAGES="$INST_PACKAGES +$INSTALLED" +done +INSTALLED=(`echo "$INSTALLED"|sort|uniq`) + +unset SELECTED_PACKAGES +i=0 +for p in ${ALL_PACKAGES[*]}; do + while [[ ${INSTALLED[i]} < $p ]]; do + SELECTED_PACKAGES="$SELECTED_PACKAGES ${INSTALLED[i]}" + i=`expr $i + 1` + done + SELECTED_PACKAGES="$SELECTED_PACKAGES $p" +done + +. $TARGETDIR/platforms/$PLATFORM/settings.inc + +echo "Creating packages DVD..." + +[ "$MOUNTDIR" ] && rm -rf $MOUNTDIR/* + +[ "$EXTRA_PACKAGES" ] && { + echo "- installing repository with extra packages" + add_packages_to_repository $MOUNTDIR/RPMS/$arch "$SELECTED_PACKAGES $EXTRA_PACKAGES" +} + +#for i in ${MEDIA_NAMES[*]}; do +# echo "- installing $i and repository" +# add_installed_packages_to_repository $i $MOUNTDIR/repositories/embedded +# cp $LOCALSTATEDIR/$i $MOUNTDIR +#done + + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ + +produce_media + +echo "- generating MD5 sum for ${MEDIA_NAME}" +md5sum $LOCALSTATEDIR/$MEDIA_NAME > $LOCALSTATEDIR/.$MEDIA_NAME.MD5 + +exit 0 diff --git a/platforms/packages-dvd/root/boot/isolinux/help.txt b/platforms/packages-dvd/root/boot/isolinux/help.txt new file mode 100644 index 0000000..eb64fc9 --- /dev/null +++ b/platforms/packages-dvd/root/boot/isolinux/help.txt @@ -0,0 +1,23 @@ + + openmamba CD boot menu + ====================== + + 1) System startup with proprietary video drivers (default choice) + 2) System startup with open source video drivers + 3) System startup with proprietary video drivers + low resolution (1024x768) + 4) System startup with open source video drivers + low resolution (1024x768) + 8) System startup in debug mode + 9) Start a system memory benchmark + +Please, enter 1 or wait 10 seconds to boot automatically. + +You can also pass some extra parameters to the kernel. For example: +boot: 1 debug=1 video=vesafb:off postplug=nosound,freevideo + +If you have trouble booting the system please use the choice '8' or the +debug=1 and vga=normal options in order to see system messages. + +NOTE: In most cases the kernel will detect your hardware, and parameters are +not needed. If you don't need to enter any parameters, hit ENTER to boot +the default kernel. + diff --git a/platforms/packages-dvd/root/boot/isolinux/menu.txt b/platforms/packages-dvd/root/boot/isolinux/menu.txt new file mode 100644 index 0000000..0bd4f42 --- /dev/null +++ b/platforms/packages-dvd/root/boot/isolinux/menu.txt @@ -0,0 +1,8 @@ + + openmamba boot menu + =================== + + F1) Help + + Please, press ENTER or wait 10 seconds to boot with default options. + diff --git a/platforms/packages-dvd/root/openmamba-livecd/CHANGES b/platforms/packages-dvd/root/openmamba-livecd/CHANGES new file mode 100644 index 0000000..311af65 --- /dev/null +++ b/platforms/packages-dvd/root/openmamba-livecd/CHANGES @@ -0,0 +1,11 @@ +openmamba livecd ChangeLog +========================== + +20070926 +======== +* added probing of sata, pata and scsi drivers + +20070917 +======== +* removed installation of kernel-nongpl packages, unused in this target + (they are used in livecd-root target) diff --git a/platforms/packages-dvd/root/openmamba-livecd/COPYING b/platforms/packages-dvd/root/openmamba-livecd/COPYING new file mode 100644 index 0000000..5a965fb --- /dev/null +++ b/platforms/packages-dvd/root/openmamba-livecd/COPYING @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/platforms/packages-dvd/root/openmamba-livecd/INSTALL b/platforms/packages-dvd/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..491513d --- /dev/null +++ b/platforms/packages-dvd/root/openmamba-livecd/INSTALL @@ -0,0 +1,13 @@ +openmamba livecd - fixed disk installation instructions +======================================================= +NOTE: the installation procedure described is not yet fully functional; please, +follow these guidelines only if you know what you are doing. +WARNING: THIS INSTALLATION MAY MAKE YOUR SYSTEM NO LONGER BOOTABLE, PLEASE BE CAREFUL. + +Instructions +------------ +System installation on fixed disk is performed via the live system. + +1) boot from livecd and wait for the graphical desktop system to start +2) click on the 'install' icon in the desktop + diff --git a/platforms/packages-dvd/root/openmamba-livecd/README b/platforms/packages-dvd/root/openmamba-livecd/README new file mode 100644 index 0000000..16fb83c --- /dev/null +++ b/platforms/packages-dvd/root/openmamba-livecd/README @@ -0,0 +1,5 @@ +openmamba livecd +================ + +This livecd is at early development stage. + diff --git a/platforms/packages-dvd/root/openmamba-livecd/TODO b/platforms/packages-dvd/root/openmamba-livecd/TODO new file mode 100644 index 0000000..1709659 --- /dev/null +++ b/platforms/packages-dvd/root/openmamba-livecd/TODO @@ -0,0 +1,8 @@ +openmamba livecd TODO list +========================== +List of things to do in future releases: + +* desktop automatic login as user +* non-english languages support / fix keyboard system defaults +* nvidia-legacy drivers support +* XGL/AIGLX/Compiz automatic configuration when supported diff --git a/platforms/packages-dvd/settings.inc b/platforms/packages-dvd/settings.inc new file mode 100644 index 0000000..806a9c6 --- /dev/null +++ b/platforms/packages-dvd/settings.inc @@ -0,0 +1,8 @@ +# FIXME: dummy definitions, not used for BSP +MEDIA=iso +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" +DISTROMATIC=off +EXTRA_PACKAGES="" +COMPLEMENTARY_TARGETS="livecd-root" diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile new file mode 100644 index 0000000..2047f17 --- /dev/null +++ b/platforms/rootfs-light/Makefile @@ -0,0 +1,39 @@ +$(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ + kernel-iconia kernel-iconia-modules \ + kernel-hannspad kernel-hannspad-modules \ + kernel-rpi kernel-rpi-modules \ + kernel-cubox kernel-cubox-modules \ + kernel-mamba-arm kernel-mamba-arm-sound kernel-mamba-arm-wireless \ + brcm_patchram midori u-boot-tools + +$(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ + kernel-mamba kernel-mamba-sound kernel-mamba-wireless chromium \ + kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-wireless + +$(MAKEDIST_TARGET)-$(PLATFORM): \ + lxde openssh-server usbutils wireless_tools screen i2c-tools \ + parted iputils file rootfiles ppp minicom chrony locales mc \ + man-db curl zip unzip iptables iproute wpa_supplicant mtd-utils nfs-utils \ + openssh-clients binutils telnet ftp debianutils diffutils bluez traceroute \ + openmamba-devel timezone sudo kmod \ + liblame expect prelink NetworkManager ModemManager NetworkManager-openvpn \ + procps xorg-server x11vnc xkeyboard-config \ + xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ + dhcp-server rfkill plymouth livecd-tools rdesktop \ + postplug-xorg postplug-sound gparted tar net-tools mambatray florence + +# startactive +# tightvnc-server lxde network-manager-applet matchbox-keyboard midori Mesa-tools alsa-utils +# embedded-devel embedded-debug \ +#mkfontscale vsftpd +#webmin +# FIXME: expect is a webmin prereq +# libACE: customer request +# NetworkManager strace gpsd + +# Localization targets +$(MAKEDIST_TARGET)-$(PLATFORM)-en: + +$(MAKEDIST_TARGET)-$(PLATFORM)-es: + +$(MAKEDIST_TARGET)-$(PLATFORM)-it: diff --git a/platforms/rootfs-light/Makefile.defs b/platforms/rootfs-light/Makefile.defs new file mode 100644 index 0000000..a9dd47d --- /dev/null +++ b/platforms/rootfs-light/Makefile.defs @@ -0,0 +1,2 @@ +packagekitgui = gnome-packagekit +firewallgui = gui-ufw diff --git a/platforms/rootfs-light/post.inc.sh b/platforms/rootfs-light/post.inc.sh new file mode 100644 index 0000000..8770fdb --- /dev/null +++ b/platforms/rootfs-light/post.inc.sh @@ -0,0 +1,116 @@ +# add fstab entries +#cat >> $MOUNTDIR/etc/fstab << _EOF +#/dev/mmcblk0p1 /mnt/sd0 auto defaults,noauto 0 0 +#_EOF +#mkdir $MOUNTDIR/mnt/{ndda1,ndda2,sd0,sda1,sda2} + +# disable nfs +#chroot $MOUNTDIR chkconfig --del nfslock +#chroot $MOUNTDIR chkconfig --del portmap +#chroot $MOUNTDIR chkconfig --del ts-calibrate + +## disable random +#chroot $MOUNTDIR chkconfig --del random + +## enable ftp server +#sed -i "s|\(.*disable[[:space:]]*= \)yes|\1no|" $MOUNTDIR/etc/xinetd.d/vsftpd +#sed -i "s|#local_enable|local_enable|" $NOUNTDIR/etc/vsftpd.conf +#sed -i "s|#write_enable|write_enable|" $NOUNTDIR/etc/vsftpd.conf +#sed -i "/root/d" $MOUNTDIR/etc/vsftpd/user_list +#sed -i "/root/d" $MOUNTDIR/etc/vsftpd/chroot-list + +## remove alsa configuration for now +#rm $MOUNTDIR/etc/asound.conf + +# remove some services +#rm -f $MOUNTDIR/etc/rc?.d/???{iptables,acpid} + +## generate RPM scripts first time execution +#make_rpm_first_time_script "\ +#chkconfig --del acpid +#chkconfig --del alsa +#chkconfig --del iptables +#chkconfig --del nfslock +#chkconfig --del portmap +#" + +## use system default language +#> $MOUNTDIR/etc/sysconfig/i18n + +# set localtime (default to Europe/Berlin) +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=Europe/Berlin ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp /usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# disable automatic depmod and ldconfig execution on boot (also due to clock error) +cat >> $MOUNTDIR/etc/sysconfig/rc << _EOF +no_auto_depmod=1 +no_auto_ldconfig=1 +_EOF + +# configure touchscreen +cat > $MOUNTDIR/etc/ts-calibrate.conf << _EOF +TSLIB_CONFFILE=/etc/ts.conf +TSLIB_CONSOLEDEVICE=none +TSLIB_FBDEVICE=/dev/fb0 +TSLIB_TSDEVICE=/dev/input/event0 +TSLIB_CALIBFILE=/etc/pointercal +HOME=/root +_EOF + + +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +# configure for serial console login +#echo "s0:2345:respawn:/sbin/agetty -L -f /etc/issue 115200 tcc-uart0 vt100" >> $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyS0 115200,' $MOUNTDIR/etc/inittab +sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 115200,' $MOUNTDIR/etc/inittab +sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 115200,' $MOUNTDIR/etc/inittab +#sed -i '/^[5-6]:.*/d' $MOUNTDIR/etc/inittab + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# configure LXDM for autologin +# +sed -i "s|# autologin.*|autologin=liveuser|" $MOUNTDIR/etc/lxdm/lxdm.conf + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# remove some documentation to save space +for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do + find $MOUNTDIR/usr/share/doc -name $f -exec rm -f {} \; +done + +# disable filesystem autocheck due to a kernel bug in hannspad (blkid generated kernel crash) +if [ "$ARCH" = "arm" ]; then + sed -i "s|FS_PARTS_UPDATE=yes|FS_PARTS_UPDATE=no|" $MOUNTDIR/etc/sysconfig/postplug + sed -i "s|FS_SWAP_UPDATE=yes|FS_SWAP_UPDATE=no|" $MOUNTDIR/etc/sysconfig/postplug +fi + +# FIXME: this should be done by postplug only when touchscreen is detected +mkdir -p $MOUNTDIR/home/liveuser/.icons/default +cat > $MOUNTDIR/home/liveuser/.icons/default/index.theme << _EOF +[Icon Theme] +Inherits=xcursor-transparent +_EOF + +# configure default liveuser password +echo "openmamba" | chroot $MOUNTDIR passwd liveuser --stdin + +prelink diff --git a/platforms/rootfs-light/root/etc/dhcpd.conf b/platforms/rootfs-light/root/etc/dhcpd.conf new file mode 100644 index 0000000..6bfe540 --- /dev/null +++ b/platforms/rootfs-light/root/etc/dhcpd.conf @@ -0,0 +1,30 @@ +#ddns-update-style ad-hoc; +ignore client-updates; + +subnet 10.99.99.0 netmask 255.255.255.0 { +# --- default gateway +# option routers 192.168.0.254; +# option subnet-mask 255.255.255.0; +# +# option nis-domain "domain.it"; +# option domain-name "domain.it"; +# option domain-name-servers 192.168.0.254; +# +# option time-offset -18000; # Eastern Standard Time +# option ntp-servers 192.168.0.1; +# option netbios-name-servers 192.168.0.1; +# --- Selects point-to-point node (default is hybrid). Don't change this unless +# -- you understand Netbios very well +# option netbios-node-type 2; +# + range dynamic-bootp 10.99.99.100 10.99.99.199; + default-lease-time 21600; + max-lease-time 43200; +# +# # we want the nameserver to appear at a fixed address +# host ns { +# next-server dns.domain.it; +# hardware ethernet 01:23:45:67:89:AB; +# fixed-address 1.2.3.4; +# } +} diff --git a/platforms/rootfs-light/root/etc/sysconfig/dhcpd b/platforms/rootfs-light/root/etc/sysconfig/dhcpd new file mode 100644 index 0000000..92a5b74 --- /dev/null +++ b/platforms/rootfs-light/root/etc/sysconfig/dhcpd @@ -0,0 +1,3 @@ +# Command line options here +DHCPDIFS="usb0" +DHCPDARGS= diff --git a/platforms/rootfs-light/settings.inc b/platforms/rootfs-light/settings.inc new file mode 100644 index 0000000..20a59e6 --- /dev/null +++ b/platforms/rootfs-light/settings.inc @@ -0,0 +1,28 @@ +if [ "$ARCH" = "arm" ]; then + KERNEL_EXTRAVER=mamba-arm + KERNEL_PLATFORM="" + KERNEL_ADDITIONAL="" + #KERNEL_IGNORE=true + KERNEL_MORE_EXTRAVER= +elif [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules sound" + KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules sound" + KERNEL_MORE_EXTRAVER= +fi +APPLICATION_TARGET="" +MEDIA=archive_xz +#ARCH=arm +#INSTALL_PACKAGES="bash" +BUILD_MISSING=true +TARGET_HOSTNAME=openmamba-rootfs-light +#rpmextraargs="--noscripts" +#DEBUG=1 +#DEVEL=1 +KEEP_RPM=1 +#RPM=rpm diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile new file mode 100644 index 0000000..098399e --- /dev/null +++ b/platforms/rootfs/Makefile @@ -0,0 +1,44 @@ +$(MAKEDIST_TARGET)-$(PLATFORM)-kde4: \ + kppp desktop-base-kde4 \ + ksnapshot okular desktop-base-kde4 kmix \ + kopete bluedevil smb4k juk kwalletmanager \ + libqt4-sqlite kate ark kcalc kdf kgpg kaffeine kamoso + +$(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ + kernel-iconia kernel-iconia-modules kernel-hannspad kernel-hannspad-modules \ + kernel-mamba-arm kernel-mamba-arm-sound kernel-mamba-arm-wireless \ + kernel-mamba-arm-firmware brcm_patchram u-boot-tools + +$(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ + kernel-mamba kernel-mamba-sound kernel-mamba-wireless \ + kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-wireless \ + chromium + +$(MAKEDIST_TARGET)-$(PLATFORM): \ + $(MAKEDIST_TARGET)-$(PLATFORM)-kde4 openssh-server usbutils wireless_tools i2c-tools \ + parted iputils file rootfiles ppp minicom chrony locales mc \ + man-db curl zip unzip iptables iproute wpa_supplicant mtd-utils nfs-utils \ + openssh-clients binutils telnet ftp debianutils diffutils bluez traceroute \ + openmamba-devel timezone sudo kmod \ + liblame expect prelink NetworkManager ModemManager procps \ + xorg-server x11vnc xkeyboard-config screen \ + xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ + dhcp-server rfkill plymouth livecd-tools rdesktop mingetty \ + postplug-xorg postplug-sound gparted tar net-tools chrony mambatray kvkbd + +# startactive +# tightvnc-server lxde network-manager-applet matchbox-keyboard midori Mesa-tools alsa-utils +# embedded-devel embedded-debug \ +#mkfontscale vsftpd +#webmin +# FIXME: expext is a webmin prereq +# libACE: customer request +# NetworkManager strace gpsd + +# Localization targets +$(MAKEDIST_TARGET)-$(PLATFORM)-en: \ + kde-l10n-en_GB +$(MAKEDIST_TARGET)-$(PLATFORM)-es: \ + kde-l10n-es +$(MAKEDIST_TARGET)-$(PLATFORM)-it: \ + kde-l10n-it diff --git a/platforms/rootfs/Makefile.defs b/platforms/rootfs/Makefile.defs new file mode 100644 index 0000000..4b305b0 --- /dev/null +++ b/platforms/rootfs/Makefile.defs @@ -0,0 +1,24 @@ +# Fake requirement as no arm bootloader is present +#bootloader = bash +# xorg +#xorglibGL = libGL-Mesa-dri +# libGL-fglrx-X11 libGL-nvidia-X11 libGL-nvidia_71xx-X11 libGL-nvidia_96xx-X11 libGL-nvidia_173xx-X11 +#xorglibglx = xorg-ext-libglx +# xorg-ext-libglx-nvidia xorg-ext-libglx-nvidia_71xx xorg-ext-libglx-nvidia_96xx xorg-ext-libglx-nvidia_173xx +#libGLcore.so.1 = xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx +#libnvidia-tls.so.1 = xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx +#ifeq ($(ARCH),arm) +#xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-tegra +#endif + +## ffmpeg / libav +#libpostproc.so.51 = libpostproc-ffmpeg +#libpostproc.so.51[LIBPOSTPROC_51] = libpostproc-ffmpeg +#ffmpegpresets := ffmpeg-presets + +## kde +#sopranobackend = soprano-backend-virtuoso +#libphonon.so.4 = libphonon +#phonon_backend = phonon-backend-gstreamer +# +#networkmanagergui = plasma-applet-networkmanagement diff --git a/platforms/rootfs/post.inc.sh b/platforms/rootfs/post.inc.sh new file mode 100644 index 0000000..fb9c4b2 --- /dev/null +++ b/platforms/rootfs/post.inc.sh @@ -0,0 +1,125 @@ +# add fstab entries +#cat >> $MOUNTDIR/etc/fstab << _EOF +#/dev/mmcblk0p1 /mnt/sd0 auto defaults,noauto 0 0 +#_EOF +#mkdir $MOUNTDIR/mnt/{ndda1,ndda2,sd0,sda1,sda2} + +# disable nfs +#chroot $MOUNTDIR chkconfig --del nfslock +#chroot $MOUNTDIR chkconfig --del portmap +#chroot $MOUNTDIR chkconfig --del ts-calibrate + +## disable random +#chroot $MOUNTDIR chkconfig --del random + +## enable ftp server +#sed -i "s|\(.*disable[[:space:]]*= \)yes|\1no|" $MOUNTDIR/etc/xinetd.d/vsftpd +#sed -i "s|#local_enable|local_enable|" $NOUNTDIR/etc/vsftpd.conf +#sed -i "s|#write_enable|write_enable|" $NOUNTDIR/etc/vsftpd.conf +#sed -i "/root/d" $MOUNTDIR/etc/vsftpd/user_list +#sed -i "/root/d" $MOUNTDIR/etc/vsftpd/chroot-list + +## remove alsa configuration for now +#rm $MOUNTDIR/etc/asound.conf + +# remove some services +#rm -f $MOUNTDIR/etc/rc?.d/???{iptables,acpid} + +## generate RPM scripts first time execution +#make_rpm_first_time_script "\ +#chkconfig --del acpid +#chkconfig --del alsa +#chkconfig --del iptables +#chkconfig --del nfslock +#chkconfig --del portmap +#" + +## use system default language +#> $MOUNTDIR/etc/sysconfig/i18n + +# set localtime (default to Europe/Berlin) +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=Europe/Berlin ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp /usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# disable automatic depmod and ldconfig execution on boot (also due to clock error) +cat >> $MOUNTDIR/etc/sysconfig/rc << _EOF +no_auto_depmod=1 +no_auto_ldconfig=1 +_EOF + +# configure touchscreen +cat > $MOUNTDIR/etc/ts-calibrate.conf << _EOF +TSLIB_CONFFILE=/etc/ts.conf +TSLIB_CONSOLEDEVICE=none +TSLIB_FBDEVICE=/dev/fb0 +TSLIB_TSDEVICE=/dev/input/event0 +TSLIB_CALIBFILE=/etc/pointercal +HOME=/root +_EOF + +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyS0 115200,' $MOUNTDIR/etc/inittab +sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 115200,' $MOUNTDIR/etc/inittab +sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 115200,' $MOUNTDIR/etc/inittab +#sed -i '/^[5-6]:.*/d' $MOUNTDIR/etc/inittab + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# configure KDM for autologin +# +if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then + sed -i 's|[#]*AutoLoginEnable=.*|AutoLoginEnable=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoReLogin=.*|AutoReLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc +fi + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# configure favorites in kde menu +for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applications/kaffeine.desktop; do + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f +done + +# remove some documentation to save space +for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do + find $MOUNTDIR/usr/share/doc -name $f -exec rm -f {} \; +done + +# disable filesystem autocheck due to a kernel bug in hannspad (blkid generated kernel crash) +if [ "$ARCH" = "arm" ]; then + sed -i "s|FS_PARTS_UPDATE=yes|FS_PARTS_UPDATE=no|" $MOUNTDIR/etc/sysconfig/postplug + sed -i "s|FS_SWAP_UPDATE=yes|FS_SWAP_UPDATE=no|" $MOUNTDIR/etc/sysconfig/postplug +fi + +# FIXME: this should be done by postplug only when touchscreen is detected +mkdir -p $MOUNTDIR/home/liveuser/.icons/default +cat > $MOUNTDIR/home/liveuser/.icons/default/index.theme << _EOF +[Icon Theme] +Inherits=xcursor-transparent +_EOF + +# configure default liveuser password +echo "openmamba" | chroot $MOUNTDIR passwd liveuser --stdin + +prelink diff --git a/platforms/rootfs/root/etc/dhcpd.conf b/platforms/rootfs/root/etc/dhcpd.conf new file mode 100644 index 0000000..6bfe540 --- /dev/null +++ b/platforms/rootfs/root/etc/dhcpd.conf @@ -0,0 +1,30 @@ +#ddns-update-style ad-hoc; +ignore client-updates; + +subnet 10.99.99.0 netmask 255.255.255.0 { +# --- default gateway +# option routers 192.168.0.254; +# option subnet-mask 255.255.255.0; +# +# option nis-domain "domain.it"; +# option domain-name "domain.it"; +# option domain-name-servers 192.168.0.254; +# +# option time-offset -18000; # Eastern Standard Time +# option ntp-servers 192.168.0.1; +# option netbios-name-servers 192.168.0.1; +# --- Selects point-to-point node (default is hybrid). Don't change this unless +# -- you understand Netbios very well +# option netbios-node-type 2; +# + range dynamic-bootp 10.99.99.100 10.99.99.199; + default-lease-time 21600; + max-lease-time 43200; +# +# # we want the nameserver to appear at a fixed address +# host ns { +# next-server dns.domain.it; +# hardware ethernet 01:23:45:67:89:AB; +# fixed-address 1.2.3.4; +# } +} diff --git a/platforms/rootfs/root/etc/sysconfig/dhcpd b/platforms/rootfs/root/etc/sysconfig/dhcpd new file mode 100644 index 0000000..92a5b74 --- /dev/null +++ b/platforms/rootfs/root/etc/sysconfig/dhcpd @@ -0,0 +1,3 @@ +# Command line options here +DHCPDIFS="usb0" +DHCPDARGS= diff --git a/platforms/rootfs/settings.inc b/platforms/rootfs/settings.inc new file mode 100644 index 0000000..a63e64a --- /dev/null +++ b/platforms/rootfs/settings.inc @@ -0,0 +1,23 @@ +if [ "$ARCH" = "arm" ]; then + KERNEL_EXTRAVER=mamba-arm + #KERNEL_PLATFORM="" + KERNEL_ADDITIONAL="" + #KERNEL_IGNORE=true + KERNEL_MORE_EXTRAVER= +elif [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="extramodules sound" + KERNEL_MORE_EXTRAVER=mamba-64GB +fi +APPLICATION_TARGET="" +MEDIA=archive_xz +#ARCH=arm +#INSTALL_PACKAGES="bash" +BUILD_MISSING=true +TARGET_HOSTNAME=openmamba-rootfs +#rpmextraargs="--noscripts" +#DEBUG=1 +#DEVEL=1 +KEEP_RPM=1 +#RPM=rpm diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile new file mode 100644 index 0000000..50b970e --- /dev/null +++ b/platforms/testcd-root/Makefile @@ -0,0 +1,29 @@ +$(MAKEDIST_TARGET)-testcd-kde4: desktop-base-kde4 kmix bluedevil kwallet +# kopete dragon kate smb4k juk ksnapshot okular kontact kmail akregator kppp krfb ark kcalc kdf kgpg + +$(MAKEDIST_TARGET)-testcd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress + +$(MAKEDIST_TARGET)-testcd-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + xorg-drv-input-synaptics xorg-apps-extra xterm \ + ttf-freefont liberation-fonts-ttf \ + gparted ntfs-3g libdvdcss \ + chromium \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + samba-server cpufreqd mambatray smart \ + $(MAKEDIST_TARGET)-testcd-kde4 openssh-server +# smart-gui + +# Localization targets +$(MAKEDIST_TARGET)-testcd-root-en: \ + kde-l10n-en_GB +$(MAKEDIST_TARGET)-testcd-root-es: \ + kde-l10n-es +# firefox-i18n-es-ES +$(MAKEDIST_TARGET)-testcd-root-it: \ + kde-l10n-it +# firefox-i18n-it +# FIXME: add kdepim diff --git a/platforms/testcd-root/Makefile.defs b/platforms/testcd-root/Makefile.defs new file mode 100644 index 0000000..36c84ec --- /dev/null +++ b/platforms/testcd-root/Makefile.defs @@ -0,0 +1,2 @@ +networkmanagergui = plasma-applet-networkmanagement +xorgdrvvideo += xorg-drv-video-vboxvideo VirtualBox-vboxguest diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh new file mode 100644 index 0000000..98d9dfd --- /dev/null +++ b/platforms/testcd-root/post.inc.sh @@ -0,0 +1,67 @@ +## don't activate some services +#rm -f $MOUNTDIR/etc/rcsysinit.d/{S35hdparm,S30loadmodules,S40swap} +#rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} +#rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} + +# change inittab so it opens tty root shells instead of asking for login +# +echo "Forcing \`inittab' to open tty root shells with no login..." +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginpause --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# configure KDM for autologin +# +if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then + sed -i 's|[#]*AutoLoginEnable=.*|AutoLoginEnable=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoReLogin=.*|AutoReLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + es) timezone=Europe/Madrid ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# configure favorites in kde menu +for f in /usr/share/applications/chromium-devel.desktop; do + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f +done + +# pre-create video drivers for VirtualBox +virtualbox_ver=`ls -d $MOUNTDIR/usr/src/vboxvideo-* | sed "s|.*-||"` +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR dkms install -q -m vboxguest -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force + chroot $MOUNTDIR dkms install -q -m vboxvideo -v ${virtualbox_ver} -k ${KERNEL_MAJVER}$K --force +done +chroot $MOUNTDIR rpm -e VirtualBox-vboxguest dkms --noscripts + +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + # remove kernel headers installed by dkms + chroot $MOUNTDIR smart remove kernel-${K}-headers -y + # remove unused initramfs generated by kernel + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img* + # remove failsafe image to save space for livecd + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +done + +# remove some documentation to save space on CD +for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do + find $MOUNTDIR/usr/share/doc -name $f -exec rm -f {} \; +done + +prelink diff --git a/platforms/testcd-root/root/openmamba-livecd/COPYING b/platforms/testcd-root/root/openmamba-livecd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/testcd-root/root/openmamba-livecd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/testcd-root/root/openmamba-livecd/INSTALL b/platforms/testcd-root/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..9427f0c --- /dev/null +++ b/platforms/testcd-root/root/openmamba-livecd/INSTALL @@ -0,0 +1,7 @@ +openmamba livecd - hard disk installation instructions +====================================================== +To install on hard disk use the openmamba installer. + +Boot from livecd and wait for the desktop to come out, then click +on the "openmamba installer" icon to launch the installation wizard and +follow the instructions. diff --git a/platforms/testcd-root/root/openmamba-livecd/README b/platforms/testcd-root/root/openmamba-livecd/README new file mode 100644 index 0000000..44df370 --- /dev/null +++ b/platforms/testcd-root/root/openmamba-livecd/README @@ -0,0 +1,12 @@ +openmamba livecd +================ + +openmamba live CD is a live release of the openmamba operating system that +can immediately be used simply by booting or rebooting your computer with +the CD in the reader. + +It also provides an installation interface for system installation on fixed +disk that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +It works on almost any Personal Computer: notebook, desktop and server. diff --git a/platforms/testcd-root/root/openmamba-livecd/TODO b/platforms/testcd-root/root/openmamba-livecd/TODO new file mode 100644 index 0000000..9566901 --- /dev/null +++ b/platforms/testcd-root/root/openmamba-livecd/TODO @@ -0,0 +1,5 @@ +openmamba livecd +================ +List of things to do in future releases: + +* desktop automatic login as user (not root) diff --git a/platforms/testcd-root/settings.inc b/platforms/testcd-root/settings.inc new file mode 100644 index 0000000..951d728 --- /dev/null +++ b/platforms/testcd-root/settings.inc @@ -0,0 +1,18 @@ +PRODUCT_NAME=testcd +MEDIA=squash_xz + +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="wireless sound" + KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="wireless sound" +fi + +ROOTDEV= +ROOTFS= + +TARGET_HOSTNAME=openmamba-testcd diff --git a/platforms/testcd/Makefile b/platforms/testcd/Makefile new file mode 100644 index 0000000..26e27f2 --- /dev/null +++ b/platforms/testcd/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-testcd: openmamba-release memtest86+ syslinux $(MAKEDIST_TARGET)-firmwares macbook-tools +# Localized targets +$(MAKEDIST_TARGET)-testcd-en: +$(MAKEDIST_TARGET)-testcd-it: +$(MAKEDIST_TARGET)-testcd-es: diff --git a/platforms/testcd/Makefile.defs b/platforms/testcd/Makefile.defs new file mode 100644 index 0000000..c76bbe2 --- /dev/null +++ b/platforms/testcd/Makefile.defs @@ -0,0 +1,6 @@ +xorglibGL = libGL-Mesa-dri libGL-nvidia-X11 libGL-fglrx-X11 +kernelnvidia = kernel-mamba-nongpl-nvidia +xorglibglx = xorg-ext-libglx xorg-ext-libglx-nvidia +#xorg-ext-libglx-nvidia +libGLcore.so.1 = xorg-drv-video-nvidia +libnvidia-tls.so.1 = xorg-drv-video-nvidia diff --git a/platforms/testcd/initramfs-include.sh b/platforms/testcd/initramfs-include.sh new file mode 100644 index 0000000..ba03c30 --- /dev/null +++ b/platforms/testcd/initramfs-include.sh @@ -0,0 +1,82 @@ +FOUND_ROOTFS= +#RAMSIZE=256144 -o "size=${RAMSIZE}k" + +msg ":: Creating new root ramdisk (dinamic size=${RAMSIZE}k) on /dev/shm..." +mkdir /newroot +/bin/mount -t tmpfs /dev/shm /newroot + +mkdir /newroot/cdrom /newroot/squashfs + +# +# findcdrom(): looks for cdrom devices and mounts them to detect compressed fs +# +findcdrom(){ + msg ":: Looking for cdrom device(s)" + + # try removable devices only + for i in /sys/block/*/removable; do + removable=`cat $i` + if [ "$removable" = "1" ]; then + dev=${i%/removable} + dev=/dev/${dev#/sys/block/} + if mount -r -t iso9660 $dev /newroot/cdrom >/dev/null 2>&1; then + if test -r /newroot/cdrom/rootfs.compressed; then + msg ":: Compressed root filesystem found on $dev..." + FOUND_ROOTFS="$dev" + return 0 + fi + umount /newroot/cdrom + fi + fi + done + return 1 +} + +#/sbin/splash_util -c repaint ${splash_add} -t default --mesg="Looking for cdrom device" --progress="4444" + +while true; do + findcdrom + if [ "$FOUND_ROOTFS" ]; then +# /sbin/splash_util -c repaint ${splash_add} -t default --mesg="Mounting compressed filesystem" --progress="5555" + msg ":: Mounting compressed filesystem" + /bin/losetup /dev/loop0 /newroot/cdrom/rootfs.compressed + mount -r -t squashfs /dev/loop0 /newroot/squashfs + + msg ":: Creating directories and symlinks on ramdisk..." + + mkdir -p \ + /newroot/tmp /newroot/proc /newroot/sys \ + /newroot/initrd /newroot/mnt /newroot/media \ + /newroot/oldroot + + ln -s squashfs/bin /newroot/bin + ln -s squashfs/boot /newroot/boot + ln -s squashfs/lib /newroot/lib + ln -s squashfs/opt /newroot/opt + ln -s squashfs/sbin /newroot/sbin + ln -s squashfs/srv /newroot/srv + ln -s squashfs/usr /newroot/usr + + chroot /newroot /bin/cp -a \ + /squashfs/dev /squashfs/home /squashfs/var \ + /squashfs/etc /squashfs/root / + + # Create empty utmp and wtmp + :> /newroot/var/run/utmp + :> /newroot/var/run/wtmp + + [ "${init}" ] || init=/sbin/init + + [ "${debug_initramfs}" ] && { + echo "Opening an initramfs command prompt. Type 'exit' to continue boot." + /bin/sh.shared + } + + msg ":: Running init, runlevel:${runlevel}" + exec run-init /newroot ${init} ${runlevel} + exit 0 + else + msg ":: Could not find compressed root filesystem. image; opening a command prompt." + /bin/sh.shared + fi +done diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh new file mode 100644 index 0000000..486ecf5 --- /dev/null +++ b/platforms/testcd/post.inc.sh @@ -0,0 +1,152 @@ +# livecd post script +# +# creates a fake installation aimed at producing a kernel image and initrd +# for livecd boot + +# make initramfs + +[ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux + +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + ${KERNEL_MAJVER}${K} + + # Note: isolinux requires 8.3 filenames + cp $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + $MOUNTDIR2/boot/initrd${ISOID}.gz + + cp $MOUNTDIR/boot/vmlinuz-${KERNEL_MAJVER}${K} \ + $MOUNTDIR2/boot/vmlinuz${ISOID} + + ISOID=$(($ISOID + 1)) +done + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" + +# configure isolinux boot loader +cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +PROMPT 0 +TIMEOUT 20 +DEFAULT vesamenu.c32 +MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) +MENU BACKGROUND openmamba.png +MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std +_EOF + +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +LABEL default-${KERNEL_MAJVER}${K} +MENU LABEL default (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 +_EOF + ISOID=$(($ISOID + 1)) +done + +echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux/isolinux.cfg +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +LABEL vga800-${KERNEL_MAJVER}${K} +MENU LABEL VGA 800x600 no modeset (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 nomodeset +_EOF + ISOID=$(($ISOID + 1)) +done + +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +LABEL vga1024-${KERNEL_MAJVER}${K} +MENU LABEL VGA 1024x768 no modeset (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 nomodeset +_EOF + ISOID=$(($ISOID + 1)) +done + +echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux/isolinux.cfg +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +LABEL debug-${KERNEL_MAJVER}${K} +MENU LABEL Debug mode (${KERNEL_MAJVER}${K}) + kernel /boot/vmlinuz${ISOID} + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 rddebug nomodeset +_EOF + ISOID=$(($ISOID + 1)) +done + +cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +MENU SEPARATOR +LABEL memtest + MENU LABEL Memory test + kernel memtest +MENU SEPARATOR +MENU SEPARATOR +LABEL - + MENU LABEL $PRODUCT_NAME build:`date -R` + MENU DISABLE +_EOF + +# install isolinux binary +[ -e $MOUNTDIR/usr/share/syslinux/isolinux.bin ] && cp $MOUNTDIR/usr/share/syslinux/isolinux.bin $MOUNTDIR2/boot/isolinux/isolinux.bin || + { echo "Error: /usr/share/syslinux/isolinux.bin not found. Please install the syslinux package."; + exit 1; } + +# copy syslinux addons to final root /boot dir +cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ + +# install memtest +[ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || + { echo "Error: /boot/memtest.bin not found. Please install the memtest86 package."; + exit 1; } + +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + +# add buildinfo +buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" +sed -i "s|%buildinfo%|$buildinfo|" $MOUNTDIR2/boot/isolinux/menu.txt + +#echo "Adding binary packages from pkggroups.db..." +#. $LOCALSTATEDIR/.${MEDIA_NAMES[0]}.distinfo +#LANG=${LANGUAGE:0:2} . $MOUNTDIR/usr/share/openmamba/pkggroups.db +# +#add_binary_packages_to_repository $MOUNTDIR2/openmamba "$ALL_PKGS $EXTRA_PKGS" "$INSTALLED" + +#echo "Generating APT database..." +#ln -s RPMS/$arch $MOUNTDIR2/openmamba/RPMS.$arch +#genbasedir $MOUNTDIR2/openmamba +#mkdir $MOUNTDIR2/.disk +#cat $MOUNTDIR/etc/openmamba-release > $MOUNTDIR2/.disk/info + +# Finally produce the media +MOUNTDIR=$MOUNTDIR2 produce_media $MEDIA_NAME + +for i in $SUBPLATFORM; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + cat >> $LOCALSTATEDIR/.$MEDIA_NAME.inc.html << _EOF +

Root target(s): +

+_EOF + cat $LOCALSTATEDIR/.$CURR_MEDIA_NAME.inc.html >> \ + $LOCALSTATEDIR/.$MEDIA_NAME.inc.html + echo "
" >> $LOCALSTATEDIR/.$MEDIA_NAME.inc.html +done + +exit 0 diff --git a/platforms/testcd/pre.inc.sh b/platforms/testcd/pre.inc.sh new file mode 100644 index 0000000..56fec50 --- /dev/null +++ b/platforms/testcd/pre.inc.sh @@ -0,0 +1,34 @@ +# produce livecd bootable ISO image +MEDIA_NAMES=() +DISTROMATIC_OPT="" +for i in $SUBPLATFORM; do + . $TARGETDIR/platforms/$i/settings.inc + CURR_MEDIA_NAME=`PLATFORM=$i media_name` + MEDIA_NAMES=(${MEDIA_NAMES[*]} $CURR_MEDIA_NAME) + + [ "$FORCE" = "1" -o ! -e "$LOCALSTATEDIR/$CURR_MEDIA_NAME" ] && { + makedist $MAKEDIST_TARGET PLATFORM=$i FORCE=1 DISTROMATIC=$PASSED_DISTROMATIC RELEASE=$PASSED_RELEASE || exit 1 + DISTROMATIC_OPT="off" + } +done + +[ "$PRODUCT_NAME" ] && \ + MEDIA_NAME=`PLATFORM=$PRODUCT_NAME media_name` || + MEDIA_NAME=`media_name` + +. $TARGETDIR/platforms/$PLATFORM/settings.inc + +echo "Creating bootable livecd..." +[ "$MOUNTDIR" ] && rm -rf $MOUNTDIR/* +[ "$MOUNTDIR2" ] && rm -rf $MOUNTDIR2/* + +#[ "$EXTRA_PACKAGES" ] && { +# echo "- installing repository with extra packages" +# add_packages_to_repository $MOUNTDIR/repositories/extras "$EXTRA_PACKAGES" +#} + +echo "- installing ${MEDIA_NAMES[0]}" +mkdir -p $MOUNTDIR2/LiveOS +cp $LOCALSTATEDIR/${MEDIA_NAMES[0]} $MOUNTDIR2/LiveOS/squashfs.img +echo "- generating MD5 sum for ${MEDIA_NAMES[0]}" +md5sum $MOUNTDIR2/LiveOS/squashfs.img > $MOUNTDIR2/LiveOS/squashfs.img.MD5 diff --git a/platforms/testcd/root-it/openmamba-livecd/COPYING b/platforms/testcd/root-it/openmamba-livecd/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/testcd/root-it/openmamba-livecd/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/testcd/root-it/openmamba-livecd/INSTALLAZIONE b/platforms/testcd/root-it/openmamba-livecd/INSTALLAZIONE new file mode 100644 index 0000000..889f223 --- /dev/null +++ b/platforms/testcd/root-it/openmamba-livecd/INSTALLAZIONE @@ -0,0 +1,9 @@ +openmamba livecd - istruzioni per l'installazione su disco fisso +================================================================ + +Istruzioni +---------- +L'installazione del sistema su disco fisso avviene attraverso il sistema live. + +1) avvia il computer dal livecd e attendi il caricamento del sistema grafico +2) fai clic sull'icona 'installa' sul desktop diff --git a/platforms/testcd/root-it/openmamba-livecd/LEGGIMI b/platforms/testcd/root-it/openmamba-livecd/LEGGIMI new file mode 100644 index 0000000..9fdc33f --- /dev/null +++ b/platforms/testcd/root-it/openmamba-livecd/LEGGIMI @@ -0,0 +1,16 @@ +openmamba installdvd +==================== + +openmamba live CD è una versione live release del sistema operativo openmamba +che può essere usata immediatamente avviando o riavviando il computer con il +CD inserito nel lettore. + +Fornisce un'interfaccia di installazione del sistema su disco rigido +che permette l'installazione e l'uso di openmamba mantenendo il sistema +operativo pre-installato nel computer (es. Microsoft Windows). + +Il livecd effettua l'installazione dei pacchetti base per l'installazione del +sistema. Dopo l'avvio del sistema installato su hard disk l'installazione deve +essere completata utilizzando una connessione di rete e l'apposito tool che comparirà +automaticamente. + diff --git a/platforms/testcd/root/boot/grub/grub.cfg b/platforms/testcd/root/boot/grub/grub.cfg new file mode 100644 index 0000000..c2597b8 --- /dev/null +++ b/platforms/testcd/root/boot/grub/grub.cfg @@ -0,0 +1,113 @@ +# +# DO NOT EDIT THIS FILE +# +# It is automatically generated by /usr/sbin/grub-mkconfig using templates +# from /etc/grub.d and settings from /etc/default/grub +# + +### BEGIN /etc/grub.d/00_header ### +if [ -s $prefix/grubenv ]; then + load_env +fi +set default="0" +if [ ${prev_saved_entry} ]; then + set saved_entry=${prev_saved_entry} + save_env saved_entry + set prev_saved_entry= + save_env prev_saved_entry + set boot_once=true +fi + +function savedefault { + if [ -z ${boot_once} ]; then + saved_entry=${chosen} + save_env saved_entry + fi +} +insmod ext2 +set root='(hd31)' +if loadfont /boot/grub/unifont.pf2 ; then + set gfxmode="1024x768x32;800x600x32;640x480x32;1024x768;800x600;640x480" + insmod gfxterm + insmod vbe + if terminal_output gfxterm ; then true ; else + # For backward compatibility with versions of terminal.mod that don't + # understand terminal_output + terminal gfxterm + fi +fi +set locale_dir=($root)/boot/grub/locale +set lang=it +insmod gettext +set timeout=5 +### END /etc/grub.d/00_header ### + +### BEGIN /etc/grub.d/05_theme_openmamba ### +insmod png +background_image /boot/grub/openmamba-grub-1024x768.png +set menu_color_normal=white/black +set menu_color_highlight=white/green +### END /etc/grub.d/05_theme_openmamba ### + +menuentry "openmamba GNU/Linux, with Linux %kernelver% (KMS mode)" --class openmamba --class gnu-linux --class gnu --class os { + root=(hd31) + insmod ext2 + echo Loading Linux ... + linux /boot/vmlinuz root=live:LABEL=openmamba ro resume2= selinux=0 quiet splash + echo Loading initial ramdisk ... + initrd /boot/initrmfs.gz +} + +menuentry "openmamba GNU/Linux, with Linux %kernelver% (VGA 1024x768 mode)" --class openmamba --class gnu-linux --class gnu --class os { + root=(hd31) + insmod ext2 + echo Loading Linux ... + linux /boot/vmlinuz root=live:LABEL=openmamba ro resume2= selinux=0 quiet splash vga=792 + echo Loading initial ramdisk ... + initrd /boot/initrmfs.gz +} + +menuentry "openmamba GNU/Linux, with Linux %kernelver% (VGA 800x600 mode)" --class openmamba --class gnu-linux --class gnu --class os { + root=(hd31) + insmod ext2 + echo Loading Linux ... + linux /boot/vmlinuz root=live:LABEL=openmamba ro resume2= selinux=0 quiet splash vga=789 + echo Loading initial ramdisk ... + initrd /boot/initrmfs.gz +} + +menuentry "openmamba GNU/Linux, with Linux %kernelver% (debug mode)" --class openmamba --class gnu-linux --class gnu --class os { + root=(hd31) + insmod ext2 + echo Loading Linux ... + linux /boot/vmlinuz root=live:LABEL=openmamba ro resume2= selinux=0 rddebug + echo Loading initial ramdisk ... + initrd /boot/initrmfs.gz +} + +menuentry "" { + root= +} + +menuentry "Memory test (memtest86+)" { + root=(hd31) + insmod ext2 + echo Loading memtest86+ ... + linux16 /boot/memtest.bin +} + +menuentry "" { + root= +} + +menuentry "" { + root= +} + +menuentry "" { + root= +} + +menuentry "INFO: %buildinfo%" { + root= +} diff --git a/platforms/testcd/root/boot/grub/openmamba-grub-1024x768.png b/platforms/testcd/root/boot/grub/openmamba-grub-1024x768.png new file mode 100644 index 0000000000000000000000000000000000000000..18f178b68d6ab99c0dd14b19d3d5b7039cf2a783 GIT binary patch literal 40856 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∨l@(f(A?wwBu6clYVgz)gmUz5y< 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 J$|>}h{{y)Qo1_2$ literal 0 HcmV?d00001 diff --git a/platforms/testcd/root/boot/grub/unifont.pf2 b/platforms/testcd/root/boot/grub/unifont.pf2 new file mode 100644 index 0000000000000000000000000000000000000000..8bd07c2f0b62373c16ec5314319ef7cc92c7ef4e GIT binary patch literal 31549 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 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/platforms/testcd/root/openmamba-livecd/INSTALL b/platforms/testcd/root/openmamba-livecd/INSTALL new file mode 100644 index 0000000..b8184bd --- /dev/null +++ b/platforms/testcd/root/openmamba-livecd/INSTALL @@ -0,0 +1,9 @@ +openmamba livecd - fixed disk installation instructions +======================================================= + +Instructions +------------ +System installation on fixed disk is performed via the live system. + +1) boot from livecd and wait for the graphical desktop system to start +2) click on the 'install' icon in the desktop diff --git a/platforms/testcd/root/openmamba-livecd/README b/platforms/testcd/root/openmamba-livecd/README new file mode 100644 index 0000000..e12ba6a --- /dev/null +++ b/platforms/testcd/root/openmamba-livecd/README @@ -0,0 +1,15 @@ +openmamba installcd +==================== + +openmamba live CD is a live release of the openmamba operating system +that can immediately be used simply by booting or rebooting your computer +with the CD in the reader. + +It provides an installation interface for system installation on fixed disk +that let's you use openmamba while maintaining the operating system +pre-installed in your computer (e.g. Microsoft Windows). + +The livecd will install the base openmamba system. The installation must be +completed using a network connection and a tool that will automatically start +on first boot. + diff --git a/platforms/testcd/settings.inc b/platforms/testcd/settings.inc new file mode 100644 index 0000000..50fe98d --- /dev/null +++ b/platforms/testcd/settings.inc @@ -0,0 +1,21 @@ +MEDIA=iso +#MEDIA=iso-grub +MULTITHREAD=1 +#DISTROMATIC=off + +if [ "$ARCH" = "i586" ]; then + KERNEL_EXTRAVER=mamba + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="wireless sound" + KERNEL_MORE_EXTRAVER=mamba-64GB +elif [ "$ARCH" = "x86_64" ]; then + KERNEL_EXTRAVER=mamba-x86_64 + KERNEL_PLATFORM="" + #KERNEL_ADDITIONAL="wireless sound" +fi + +[ "$SUBPLATFORM" ] || SUBPLATFORM="testcd-root" + +TARGET_HOSTNAME=openmamba-testcd +ROOTDEV=/dev/sda1 +ROOTFS=ext3 diff --git a/platforms/virtualserver/Makefile b/platforms/virtualserver/Makefile new file mode 100644 index 0000000..8871ece --- /dev/null +++ b/platforms/virtualserver/Makefile @@ -0,0 +1,4 @@ +$(MAKEDIST_TARGET)-virtualserver: $(MAKEDIST_TARGET)-commontools rpm openssh-server rsync apache \ + syslog-ng logrotate vixie-cron vsftpd samba-server postfix at +$(MAKEDIST_TARGET)-virtualserver-en: +$(MAKEDIST_TARGET)-virtualserver-it: diff --git a/platforms/virtualserver/Makefile.defs b/platforms/virtualserver/Makefile.defs new file mode 100644 index 0000000..e69de29 diff --git a/platforms/virtualserver/post.inc.sh b/platforms/virtualserver/post.inc.sh new file mode 100644 index 0000000..ab18cf6 --- /dev/null +++ b/platforms/virtualserver/post.inc.sh @@ -0,0 +1,45 @@ +## don't activate some services +#rm -f $MOUNTDIR/etc/rcsysinit.d/{S35hdparm,S30loadmodules,S40swap} +#rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} +#rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} + +# make initramfs + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# configure extlinux boot loader +cat > $MOUNTDIR/boot/extlinux.conf << _EOF +DEFAULT $PLATFORM +LABEL $PLATFORM +KERNEL /boot/vmlinuz-${KERNEL_VER}${KERNEL_EXTRAVER} +APPEND video=vesafb:1024x768-32,ywrap,mtrr root=$ROOTDEV console=tty1 initrd=/boot/initramfs-${KERNEL_VER}${KERNEL_EXTRAVER}.img.gz splash=silent quiet +_EOF +#resume2=swap:$SWAPDEV + +# set default root password +cp $MOUNTDIR/etc/shadow $MOUNTDIR/etc/shadow.orig +sed -i '/^root:.*/d' $MOUNTDIR/etc/shadow.orig +echo 'root:$1$Gmb.bk72$j/Dnx2zK8Zk7cNL4lmTir0:13852:0:99999:7:::0' > $MOUNTDIR/etc/shadow.tmp +mv $MOUNTDIR/etc/shadow $MOUNTDIR/etc/shadow.preinst +cat $MOUNTDIR/etc/shadow.tmp $MOUNTDIR/etc/shadow.orig > $MOUNTDIR/etc/shadow +rm -f $MOUNTDIR/etc/shadow.tmp $MOUNTDIR/etc/shadow.orig + +# set timezone according to LANGUAGE (default is UTC) +# +case $LANGUAGE in + it) timezone=Europe/Rome ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +prelink + +extlinux --install $MOUNTDIR/boot + +#echo "Performing binaries prelinking..." +#chroot $MOUNTDIR /bin/bash -c "PRELINK_NOINITCHECK=1 /etc/cron.daily/prelink" diff --git a/platforms/virtualserver/root/COPYING b/platforms/virtualserver/root/COPYING new file mode 100644 index 0000000..5a965fb --- /dev/null +++ b/platforms/virtualserver/root/COPYING @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/platforms/virtualserver/root/README b/platforms/virtualserver/root/README new file mode 100644 index 0000000..23fa9c6 --- /dev/null +++ b/platforms/virtualserver/root/README @@ -0,0 +1,53 @@ +openmamba 512MB live flash system - installation instructions +============================================================= + +This instructions explan how to install this +openmamba distribution on a usb storage + + +Requirements +============ + +a Unix system with the following commands: + +extlinux, mkfs.ext2, fdisk, gunzip, cpio, mount, umount + + +Installation +============ + +1st step) Partitioning the USB storage device + +- insert the storage and identify its device name (e.g. /dev/sda) +- make sure that no partitions are mounted for the device +- run fdisk or cfdisk and create a partition that is at least 1GB large +- mark the partition as "bootable" +- identify the device corresponding to the partitiong (e.g. /dev/sda1) + +2nd step) Formatting the device + +- run: + +mkfs.ext3 > + +3rd step) Installing the cpio image + +mount +cd +gunzip -c < openmamba-flash-512MB-rootfs-i586.cpio.gz | cpio -i + +4th step) Installing extlinux bootloader + +extlinux --install boot + +unmount the storage and that's all. + +Running the system +================== +Reboot your computer with the USB storage inserted in. +Your computer maybe configured or not for booting from a +USB Hard Drive/Storage device; check your bios configuration and +whether it supports booting from USB (many bioses are buggy!). + + +Copyright (c) by Silvan Calarco diff --git a/platforms/virtualserver/settings.inc b/platforms/virtualserver/settings.inc new file mode 100644 index 0000000..91bd498 --- /dev/null +++ b/platforms/virtualserver/settings.inc @@ -0,0 +1,12 @@ +# raw partition image +MEDIA=raw +MEDIA_SIZE=768 +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" + +TARGET_HOSTNAME=openmamba-virtualserver +ROOTDEV=/dev/hda +ROOTFS=ext3 diff --git a/settings.inc b/settings.inc new file mode 100644 index 0000000..b0e4736 --- /dev/null +++ b/settings.inc @@ -0,0 +1,25 @@ +RELEASE=milestone3 +MAKEFILE_TARGET=${MAKEDIST_TARGET} +KERNEL_ADDITIONAL="sound" + +#COMPRESSEDFSSIZE=400000 +#COMPRESSEDFSBLOCKSIZE=1k +#RPMEXTRAARGS="--excludedocs" +#DISKSLIST="" + + +[ $PLATFORM ] || { + echo "Error: undefined platform; please specify a valid platform using PLATFORM=" + echo -n "Info: available platforms are: " + ls $TARGETDIR/platforms/ + echo "Aborting." + exit 1 +} + +[ -e $TARGETDIR/platforms/$PLATFORM ] || { + echo "Error: missing platform $PLATFORM for target $MAKEDIST_TARGET; please specify a valid platform using PLATFORM=. Aborting." + exit 1 +} + +[ -e $TARGETDIR/platforms/$PLATFORM/settings.inc ] && \ + . $TARGETDIR/platforms/$PLATFORM/settings.inc