From 82255484eee51700776b7f61b82438a9f9576455 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 19 May 2011 16:02:37 +0200 Subject: [PATCH 001/186] Initial commit --- Makefile | 71 ++ Makefile.defs | 101 +++ makedist.inc.sh | 161 +++++ platforms/bootcd/Makefile | 5 + platforms/bootcd/Makefile.defs | 7 + platforms/bootcd/post.inc.sh | 72 ++ 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 | 12 + platforms/bootusb-test/Makefile | 5 + platforms/bootusb-test/Makefile.defs | 1 + platforms/bootusb-test/initramfs-include.sh | 96 +++ 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/initramfs-include.sh | 96 +++ platforms/bootusb/post.inc.sh | 82 +++ 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 | 13 + platforms/flash-1GB/Makefile | 16 + platforms/flash-1GB/Makefile.defs | 0 platforms/flash-1GB/post.inc.sh | 116 +++ .../root/openmamba-flash-1GB/CHANGES | 22 + .../root/openmamba-flash-1GB/COPYING | 674 ++++++++++++++++++ .../root/openmamba-flash-1GB/INSTALL | 50 ++ .../flash-1GB/root/openmamba-flash-1GB/README | 57 ++ .../flash-1GB/root/openmamba-flash-1GB/TODO | 8 + platforms/flash-1GB/settings.inc | 12 + platforms/flash-512MB/Makefile | 1 + platforms/flash-512MB/Makefile.defs | 0 platforms/flash-512MB/post.inc.sh | 76 ++ platforms/flash-512MB/root/COPYING | 280 ++++++++ platforms/flash-512MB/root/README | 53 ++ platforms/flash-512MB/settings.inc | 10 + platforms/flash-server/Makefile | 4 + platforms/flash-server/Makefile.defs | 0 platforms/flash-server/post.inc.sh | 40 ++ 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 | 14 + platforms/installdvd/initramfs-include.sh | 76 ++ platforms/installdvd/post.inc.sh | 129 ++++ 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 | 38 + platforms/livecd-gnome-root/Makefile.defs | 0 platforms/livecd-gnome-root/post.inc.sh | 68 ++ .../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 | 32 + platforms/livecd-light-root/Makefile.defs | 0 platforms/livecd-light-root/post.inc.sh | 68 ++ .../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 | 11 + platforms/livecd-root/Makefile | 40 ++ platforms/livecd-root/Makefile.defs | 0 platforms/livecd-root/post.inc.sh | 77 ++ .../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 | 11 + platforms/livecd/Makefile | 5 + platforms/livecd/Makefile.defs | 7 + platforms/livecd/old/initramfs-include.sh | 76 ++ platforms/livecd/post.inc.sh | 120 ++++ 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 | 13 + platforms/livedvd-root/Makefile | 43 ++ platforms/livedvd-root/Makefile.defs | 0 platforms/livedvd-root/post.inc.sh | 75 ++ .../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 | 13 + platforms/livedvd/Makefile | 6 + platforms/livedvd/Makefile.defs | 14 + platforms/livedvd/post.inc.sh | 120 ++++ 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 | 15 + platforms/livegames-root/Makefile | 41 ++ platforms/livegames-root/Makefile.defs | 0 platforms/livegames-root/post.inc.sh | 77 ++ .../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/livestudio-root/Makefile | 39 + platforms/livestudio-root/Makefile.defs | 0 platforms/livestudio-root/post.inc.sh | 69 ++ .../root/openmamba-livestudio/CHANGES | 5 + .../root/openmamba-livestudio/COPYING | 280 ++++++++ .../root/openmamba-livestudio/INSTALL | 6 + .../root/openmamba-livestudio/README | 5 + .../root/openmamba-livestudio/TODO | 1 + platforms/livestudio-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/sdk-root/Makefile | 26 + platforms/sdk-root/Makefile.defs | 16 + platforms/sdk-root/post.inc.sh | 98 +++ platforms/sdk-root/pre.inc.sh.bak | 20 + platforms/sdk-root/settings.inc | 13 + platforms/testcd-root/Makefile | 41 ++ platforms/testcd-root/Makefile.defs | 1 + platforms/testcd-root/post.inc.sh | 70 ++ .../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 | 12 + platforms/testcd/Makefile | 5 + platforms/testcd/Makefile.defs | 7 + platforms/testcd/initramfs-include.sh | 82 +++ platforms/testcd/post.inc.sh | 120 ++++ 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 | 13 + platforms/virtualserver/Makefile | 4 + platforms/virtualserver/Makefile.defs | 0 platforms/virtualserver/post.inc.sh | 49 ++ platforms/virtualserver/root/COPYING | 280 ++++++++ platforms/virtualserver/root/README | 53 ++ platforms/virtualserver/settings.inc | 12 + settings.inc | 25 + 207 files changed, 16743 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/initramfs-include.sh 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/initramfs-include.sh 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-1GB/Makefile create mode 100644 platforms/flash-1GB/Makefile.defs create mode 100644 platforms/flash-1GB/post.inc.sh create mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/CHANGES create mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/COPYING create mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/INSTALL create mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/README create mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/TODO create mode 100644 platforms/flash-1GB/settings.inc create mode 100644 platforms/flash-512MB/Makefile create mode 100644 platforms/flash-512MB/Makefile.defs create mode 100644 platforms/flash-512MB/post.inc.sh create mode 100644 platforms/flash-512MB/root/COPYING create mode 100644 platforms/flash-512MB/root/README create mode 100644 platforms/flash-512MB/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/livestudio-root/Makefile create mode 100644 platforms/livestudio-root/Makefile.defs create mode 100644 platforms/livestudio-root/post.inc.sh create mode 100644 platforms/livestudio-root/root/openmamba-livestudio/CHANGES create mode 100644 platforms/livestudio-root/root/openmamba-livestudio/COPYING create mode 100644 platforms/livestudio-root/root/openmamba-livestudio/INSTALL create mode 100644 platforms/livestudio-root/root/openmamba-livestudio/README create mode 100644 platforms/livestudio-root/root/openmamba-livestudio/TODO create mode 100644 platforms/livestudio-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/sdk-root/Makefile create mode 100644 platforms/sdk-root/Makefile.defs create mode 100644 platforms/sdk-root/post.inc.sh create mode 100644 platforms/sdk-root/pre.inc.sh.bak create mode 100644 platforms/sdk-root/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..62297c0 --- /dev/null +++ b/Makefile @@ -0,0 +1,71 @@ +$(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: sysvinit util-linux module-init-tools \ + procps sed grep net-tools tar bzip2 unzip zip pciutils \ + pam shadow-common pwdutils acpid mingetty screen \ + net-tools prelink mc dhcpclient timezone nfs-utils \ + wireless_tools wpa_supplicant openmamba-release grub2 refit-tools openssh-clients \ + dosfstools man mbr iptables cups vim iputils sudo postplug xinetd less \ + reiserfsprogs reiser4progs ppp b43-tools mdadm eciadsl usb-modeswitch \ + ndiswrapper slmodem usbutils ftp telnet eject bluez \ + tcpdump pcmcia-utils xdg-utils unionfs_utils iproute $(MAKEDIST_TARGET)-firmwares \ + $(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 + +kdelibs: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ + [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-i18n-$(LANGUAGE) "; } || \ + : +kdelibs4: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ + [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-l10n-$(LANGUAGE) "; } || \ + : +koffice: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ + [ ! "$(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 "$@ "; \ + [ ! "$(LANGUAGE)" = "" ] && echo -n "aspell-$(LANGUAGE) "; } || \ + : +OpenOffice: + @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ + { echo -n "$@ "; \ + [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && \ + echo -n "OpenOffice-i18n-$(LANGUAGE) "; } || \ + echo -n "OpenOffice-i18n-en " +#OpenOffice-help: +# @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ +# { echo -n "$@ "; \ +# [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && \ +# echo -n "OpenOffice-help-$(LANGUAGE) "; } || \ +# echo -n "OpenOffice-help-en " diff --git a/Makefile.defs b/Makefile.defs new file mode 100644 index 0000000..90d1221 --- /dev/null +++ b/Makefile.defs @@ -0,0 +1,101 @@ +# def file for openmamba platforms + +# libc +libpthread.so.0 = glibc + +# kernel +kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx +kernelsound = kernel-$(KERNEL_EXTRAVER)-sound-backport +kernelwireless = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl kernel-$(KERNEL_EXTRAVER)-rtl8192se +# kernel-$(KERNEL_EXTRAVER)-atl1e +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 + +# 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 +xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau xorg-drv-video-vboxvideo +xorgdrvinput = xorg-drv-input-mouse xorg-drv-input-keyboard xorg-drv-input-joystick xorg-drv-input-void xorg-drv-input-synaptics xorg-drv-input-vboxmouse xorg-drv-input-evtouch +libGL.so.1 = libGL-Mesa-dri +libGLU.so.1 = libGL-Mesa-dri + + +splashtheme = splash-theme-openmamba +bootloader = syslinux +alsaplayer_output = alsaplayer-output-alsa +#libscanpci.so = xorg-server +libgtkpeer.so = libgcj4 +libjvm.so = libgcj4 +libjawt.so = libgcj4 +libawt.so = libgcj4 +libjava.so = sun-java-runtime +libjava_crw_demo.so = sun-java-runtime +libmawt.so = sun-java-runtime +libnet.so = sun-java-runtime +libverify.so = sun-java-runtime +libjava.so[SUNWprivate_1.1] = sun-java-runtime +libjava_crw_demo.so[SUNWprivate_1.1] = sun-java-runtime +libjvm.so[SUNWprivate_1.1] = sun-java-runtime +libjawt.so[SUNWprivate_1.1] = sun-java-runtime +libmawt.so[SUNWprivate_1.1] = sun-java-runtime +libnet.so[SUNWprivate_1.1] = sun-java-runtime +libverify.so[SUNWprivate_1.1] = sun-java-runtime +libphonon.so.4 = libphonon +/usr/bin/python = python +python[abi] = python +libpython = libpython +python = python +sopranobackend = soprano-backend-virtuoso +dhcpclient = dhcp-client +networkmanagergui = network-manager-applet cnetworkmanager +phonon_backend = phonon-backend-gstreamer +liblapack.so.3 = liblapack +mono[Mono.Cecil] = mono-core +mono[Mono.Cecil.Mdb] = mono-core + +libxul.so = xulrunner +libkorganizer.so.1 = korganizer +libkorganizer_calendar.so.1 = korganizer +libkorganizer_eventviewer.so.1 = korganizer +libsmb4kdialogs.so = smb4k4 + +perl[bytes] = perl +perl[Automake__General] = automake +perl[Automake__Struct] = automake +perl[Automake__Struct__Tie_ISA] = automake +perl[Automake__XFile] = automake + +/usr/bin/expect = expect85 +/usr/bin/expectk = expect85-tk +/usr/bin/test = coreutils +/sbin/nologin= 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 + +# openoffice +openofficei18n = OpenOffice-i18n-$(LANGUAGE) + +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..4982f5b --- /dev/null +++ b/makedist.inc.sh @@ -0,0 +1,161 @@ +# 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 + +create_rpm_database +create_devices +create_fstab "$ROOTDEV" "$ROOTFS" + +install_rpms "filesystem gzip texinfo ldconfig bash libreadline glibc libncurses initscripts setup coreutils chkconfig libattr libstdc++6" "--nodeps --noorder --noscripts" + +# 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 + install_kernel ${KERNEL_EXTRAVER}${KERNEL_PLATFORM} "${KERNEL_ADDITIONAL}" +fi + +# set system hostname and domain +[[ "$TARGET_HOSTNAME" ]] || TARGET_HOSTNAME="$MAKEDIST_TARGET" +[[ "$TARGET_DOMAIN" ]] || TARGET_DOMAIN="localdomain" + +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}" + +[ "$LANGUAGE" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for language $LANGUAGE" ${MAKEDIST_TARGET}-${PLATFORM}-${LANGUAGE} "${RPMEXTRAARGS}" +[ "$ARCH" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for arch $ARCH" ${MAKEDIST_TARGET}-${PLATFORM}-${ARCH} "${RPMEXTRAARGS}" + +if [ ! "$KERNEL_IGNORE" ]; then + update_modules_dependencies ${KERNEL_VER}${KERNEL_EXTRAVER} +fi + +if [ "$APPLICATION_TARGET" ]; then + 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-devices/ifconfig.eth0 << _EOF +IF=eth0 +ONBOOT=yes +ZONE=local +BOOTPROTO=dhcp +_EOF +fi + +# erase_rpm_database +clean_rpm_database + +[ "$LANGUAGE" ] && { + + [ "$LANGUAGE" = "en" ] && KEYMAP=us || KEYMAP="$LANGUAGE" + + # configure localization + cat > $MOUNTDIR/etc/sysconfig/keyboard << _EOF +KEYMAP=$KEYMAP.map +XKB_LAYOUT=$KEYMAP +XKB_MODEL=pc105 +XKB_OPTIONS= +_EOF + + [ "$COUNTRY" ] && { + cat > $MOUNTDIR/etc/sysconfig/i18n << _EOF +LANG=${LANGUAGE}_${COUNTRY}.UTF-8 +_EOF + } + +} + +echo "Deleting unneeded files..." +# delete unused localizations +# +find $MOUNTDIR/usr/share/locale \ + -maxdepth 1 -mindepth 1 -type d \ +! -name it* ! -name en* ! -name C ! -name l10n -exec rm -rf {} \; + +#$CHROOTCMD chkconfig --add acpid || +# { echo "$mkcd_me: fatal error, aborting installation" >&2 +# { (exit 1); exit 1; }; } + +# configure extlinux boot loader +#cat > $MOUNTDIR/boot/extlinux.conf << _EOF +#DEFAULT $PLATFORM +#LABEL $PLATFORM +#KERNEL /boot/vmlinuz-${KERNEL_VER}${KERNEL_EXTRAVER} +#APPEND video=vesafb:1280x1024-32 root=$ROOTDEV console=tty1 +#resume2=swap:$SWAPDEV +#_EOF + +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 + +# blacklist buggy ehci_hcd +#echo "blacklist ehci_hcd" > $MOUNTDIR/etc/modprobe.conf.d/ehci_hcd + + +# 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 + +post_install_rpms + +[ "$QEMU_COPIED_FOR_INST" ] && post_qemu + +# copy static files for target +[ -e $TARGETDIR/root ] && + cp -a $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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR/ + +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..1def362 --- /dev/null +++ b/platforms/bootcd/Makefile.defs @@ -0,0 +1,7 @@ +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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx xorg-drv-video-nvidia diff --git a/platforms/bootcd/post.inc.sh b/platforms/bootcd/post.inc.sh new file mode 100644 index 0000000..9d14285 --- /dev/null +++ b/platforms/bootcd/post.inc.sh @@ -0,0 +1,72 @@ +# 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 + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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 $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..d260f2d --- /dev/null +++ b/platforms/bootcd/settings.inc @@ -0,0 +1,12 @@ +MEDIA=iso +MULTITHREAD=1 +DISTROMATIC=off + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" +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..cdaef74 --- /dev/null +++ b/platforms/bootusb-test/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-bootusb-test: openmamba-release syslinux memtest86+ $(MAKEDIST_TARGET)-firmwares +# 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/initramfs-include.sh b/platforms/bootusb-test/initramfs-include.sh new file mode 100644 index 0000000..e21c324 --- /dev/null +++ b/platforms/bootusb-test/initramfs-include.sh @@ -0,0 +1,96 @@ +FOUND_ISO= +#RAMSIZE=100000 -o "size=${RAMSIZE}k" + +msg ":: Creating new root ramdisk (dinamic size=${RAMSIZE}k) on /dev/shm..." +mkdir -p /flash /cdrom /squashfs ${NEWROOT} + +# +# findiso(): looks for ISO9660 images stored in flash root +# +findiso(){ + msg ":: Looking for openmamba ISO cdrom images" + + # try removable devices only + for i in /flash/openmamba-*.iso; do + /bin/losetup /dev/loop0 $i + if mount -r -t iso9660 /dev/loop0 /cdrom >/dev/null 2>&1; then + if test -r /cdrom/rootfs.compressed; then + msg ":: Valid ISO image $i found..." + FOUND_ISO="$i" + return 0 + fi + umount /cdrom + fi + /bin/losetup /dev/loop0 + done + return 1 +} + +#/sbin/splash_util -c repaint ${splash_add} -t default --mesg="Looking for cdrom device" --progress="4444" + +while true; do + msg ":: root device is ${root}" + if ! mount -t ext3 ${root} /flash >/dev/null 2>&1; then + if ! mount -t ext2 ${root} /flash >/dev/null 2>&1; then + err ":: Unable to mount USB rootfs. Supported filesystems are ext2 and ext3." + fi + fi + findiso + if [ "$FOUND_ISO" ]; then +# /sbin/splash_util -c repaint ${splash_add} -t default --mesg="Mounting compressed filesystem" --progress="5555" + msg ":: Mounting compressed filesystem" + /bin/losetup /dev/loop1 /cdrom/rootfs.compressed + mount -r -t squashfs /dev/loop1 /squashfs + + if [ "${unionfs}" != "off" -a "${unionfs}" != "OFF" ]; then + + [ "${unionfs}" = "reset" ] && { + msg ":: Resetting unionfs data in rwroot" + mkdir -p /flash/old + mv /flash/rwroot /flash/old/ + } + msg ":: Mounting unionfs" + mkdir -p /flash/rwroot + mount -t unionfs -o dirs=/flash/rwroot=rw:/squashfs=ro unionfs ${NEWROOT} + mkdir -p ${NEWROOT}/squashfs ${NEWROOT}/flash ${NEWROOT}/cdrom + mount -n -o move /squashfs ${NEWROOT}/squashfs + mount -n -o move /flash ${NEWROOT}/flash + mount -n -o move /cdrom ${NEWROOT}/cdrom + else + msg ":: Creating directories and symlinks on ramdisk..." + /bin/mount -t tmpfs /dev/shm ${NEWROOT} + mkdir -p \ + ${NEWROOT}/tmp ${NEWROOT}/proc ${NEWROOT}/sys \ + ${NEWROOT}/initrd ${NEWROOT}/mnt ${NEWROOT}/media \ + ${NEWROOT}/oldroot ${NEWROOT}/squashfs ${NEWROOT}/flash \ + ${NEWROOT}/cdrom + mount -n -o move /squashfs ${NEWROOT}/squashfs + mount -n -o move /flash ${NEWROOT}/flash + mount -n -o move /cdrom ${NEWROOT}/cdrom + 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 / + fi + + # 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} +# msg ":: Could not run init; opening a command prompt." +# /bin/sh.shared + else + msg ":: FATAL ERROR: could not find a valid ISO image." +# /bin/sh.shared + fi +done diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh new file mode 100644 index 0000000..071e989 --- /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 "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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 $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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a $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..256e01c --- /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..57faa7f --- /dev/null +++ b/platforms/bootusb/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-bootusb: openmamba-release syslinux memtest86+ $(MAKEDIST_TARGET)-firmwares +# 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/initramfs-include.sh b/platforms/bootusb/initramfs-include.sh new file mode 100644 index 0000000..c0f4ac5 --- /dev/null +++ b/platforms/bootusb/initramfs-include.sh @@ -0,0 +1,96 @@ +FOUND_ISO= +#RAMSIZE=100000 -o "size=${RAMSIZE}k" + +msg ":: Creating new root ramdisk (dinamic size=${RAMSIZE}k) on /dev/shm..." +mkdir -p /flash /cdrom /squashfs /newroot + +# +# findiso(): looks for ISO9660 images stored in flash root +# +findiso(){ + msg ":: Looking for openmamba ISO cdrom images" + + # try removable devices only + for i in /flash/openmamba-*.iso; do + /bin/losetup /dev/loop0 $i + if mount -r -t iso9660 /dev/loop0 /cdrom >/dev/null 2>&1; then + if test -r /cdrom/rootfs.compressed; then + msg ":: Valid ISO image $i found..." + FOUND_ISO="$i" + return 0 + fi + umount /cdrom + fi + /bin/losetup /dev/loop0 + done + return 1 +} + +#/sbin/splash_util -c repaint ${splash_add} -t default --mesg="Looking for cdrom device" --progress="4444" + +while true; do + msg ":: root device is ${root}" + if ! mount -t ext3 ${root} /flash >/dev/null 2>&1; then + if ! mount -t ext2 ${root} /flash >/dev/null 2>&1; then + err ":: Unable to mount USB rootfs. Supported filesystems are ext2 and ext3." + fi + fi + findiso + if [ "$FOUND_ISO" ]; then +# /sbin/splash_util -c repaint ${splash_add} -t default --mesg="Mounting compressed filesystem" --progress="5555" + msg ":: Mounting compressed filesystem" + /bin/losetup /dev/loop1 /cdrom/rootfs.compressed + mount -r -t squashfs /dev/loop1 /squashfs + + if [ "${unionfs}" != "off" -a "${unionfs}" != "OFF" ]; then + + [ "${unionfs}" = "reset" ] && { + msg ":: Resetting unionfs data in rwroot" + mkdir -p /flash/old + mv /flash/rwroot /flash/old/ + } + msg ":: Mounting unionfs" + mkdir -p /flash/rwroot + mount -t unionfs -o dirs=/flash/rwroot=rw:/squashfs=ro unionfs /newroot + mkdir -p /newroot/squashfs /newroot/flash /newroot/cdrom + mount -n -o move /squashfs /newroot/squashfs + mount -n -o move /flash /newroot/flash + mount -n -o move /cdrom /newroot/cdrom + else + msg ":: Creating directories and symlinks on ramdisk..." + /bin/mount -t tmpfs /dev/shm /newroot + mkdir -p \ + /newroot/tmp /newroot/proc /newroot/sys \ + /newroot/initrd /newroot/mnt /newroot/media \ + /newroot/oldroot /newroot/squashfs /newroot/flash \ + /newroot/cdrom + mount -n -o move /squashfs /newroot/squashfs + mount -n -o move /flash /newroot/flash + mount -n -o move /cdrom /newroot/cdrom + 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 / + fi + + # 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} + msg ":: Could not run init; opening a command prompt." + /bin/sh.shared + else + msg ":: Could not find a valid ISO image; opening a command prompt." + /bin/sh.shared + fi +done diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh new file mode 100644 index 0000000..924fcc3 --- /dev/null +++ b/platforms/bootusb/post.inc.sh @@ -0,0 +1,82 @@ +# make initramfs + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +## FIXME: ONLY FOR TEST; REMOVE THE FOLLOWING LINE! +#cp /tmp/unionfs.ko $MOUNTDIR/lib/modules/${KERNEL_MAJVER}${KERNEL_EXTRAVER}/kernel/fs/unionfs/unionfs.ko +#cp /tmp/squashfs.ko $MOUNTDIR/lib/modules/${KERNEL_MAJVER}${KERNEL_EXTRAVER}/kernel/fs/squashfs/squashfs.ko + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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 rdshell debug +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 $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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a $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..3867757 --- /dev/null +++ b/platforms/bootusb/settings.inc @@ -0,0 +1,13 @@ +MEDIA=cpio +MULTITHREAD=1 +DISTROMATIC=on + +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/flash-1GB/Makefile b/platforms/flash-1GB/Makefile new file mode 100644 index 0000000..cfa4ca7 --- /dev/null +++ b/platforms/flash-1GB/Makefile @@ -0,0 +1,16 @@ +$(MAKEDIST_TARGET)-flash-1GB: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + ttf-freefont kdebase4-workspace kdebase4-runtime dolphin konqueror \ + kppp4 \ + smart-gui gparted kmix msysklogd ntfs-3g \ + xorg-drv-input-synaptics \ + macbook-tools kdebluetooth4 livecd-tools ndisgtk \ + mambatray +# knemo +# Localization targets +$(MAKEDIST_TARGET)-flash-1GB-en: +$(MAKEDIST_TARGET)-flash-1GB-es: +$(MAKEDIST_TARGET)-flash-1GB-it: +# removed: kaffeine knemo diff --git a/platforms/flash-1GB/Makefile.defs b/platforms/flash-1GB/Makefile.defs new file mode 100644 index 0000000..e69de29 diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh new file mode 100644 index 0000000..35a25d3 --- /dev/null +++ b/platforms/flash-1GB/post.inc.sh @@ -0,0 +1,116 @@ +## 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab + +# make initramfs +chroot $MOUNTDIR depmod -a + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# 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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 nomodeset +LABEL debug +MENU LABEL Debug mode + kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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; } + +# configure for runlevel 5 boot +sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab + +# 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 ;; + *) timezone=UTC ;; +esac +echo $timezone > $MOUNTDIR/etc/timezone +cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime + +# 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=root|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]AllowRootLogin=.*|AllowRootLogin=root|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + +# installer icon on root desktop +# FIXME: move this somewhere else +mkdir -p $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ + +# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` +echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh +chroot $MOUNTDIR sh /tmp/sounddb.sh +rm -f $MOUNTDIR/tmp/sounddb.sh +[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` + +prelink + +#echo "Performing binaries prelinking..." +#chroot $MOUNTDIR /bin/bash -c "PRELINK_NOINITCHECK=1 /etc/cron.daily/prelink" diff --git a/platforms/flash-1GB/root/openmamba-flash-1GB/CHANGES b/platforms/flash-1GB/root/openmamba-flash-1GB/CHANGES new file mode 100644 index 0000000..0cab7af --- /dev/null +++ b/platforms/flash-1GB/root/openmamba-flash-1GB/CHANGES @@ -0,0 +1,22 @@ +openmamba flash-1GB changelog +============================= + +20081218 +* configure syslinux for VESA boot menu with debug startup choices + +20070908 +* don't install documentation files from RPMS to reduce occupation +* syncronize common packages with livecd +* nvidia legacy drivers removed + +20070811 +* added explicit postplug-xorg and postplug-sound installation + +20070605 +* removed amarok + +20070529 +* postplug: disabled modprobing of fglrx driver +* ntfs-3g, dosfstools,man: added +* kaffeine,knemo: removed (no free space) + diff --git a/platforms/flash-1GB/root/openmamba-flash-1GB/COPYING b/platforms/flash-1GB/root/openmamba-flash-1GB/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/platforms/flash-1GB/root/openmamba-flash-1GB/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/flash-1GB/root/openmamba-flash-1GB/INSTALL b/platforms/flash-1GB/root/openmamba-flash-1GB/INSTALL new file mode 100644 index 0000000..571abda --- /dev/null +++ b/platforms/flash-1GB/root/openmamba-flash-1GB/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/flash-1GB/root/openmamba-flash-1GB/README b/platforms/flash-1GB/root/openmamba-flash-1GB/README new file mode 100644 index 0000000..4c76f5a --- /dev/null +++ b/platforms/flash-1GB/root/openmamba-flash-1GB/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/flash-1GB/root/openmamba-flash-1GB/TODO b/platforms/flash-1GB/root/openmamba-flash-1GB/TODO new file mode 100644 index 0000000..4b4100c --- /dev/null +++ b/platforms/flash-1GB/root/openmamba-flash-1GB/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/flash-1GB/settings.inc b/platforms/flash-1GB/settings.inc new file mode 100644 index 0000000..7a9a888 --- /dev/null +++ b/platforms/flash-1GB/settings.inc @@ -0,0 +1,12 @@ +MEDIA=cpio +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules sound" + +RPMEXTRAARGS="--excludedocs" + +TARGET_HOSTNAME=openmamba-flash-1GB +ROOTDEV=/dev/sda1 +ROOTFS=ext3 diff --git a/platforms/flash-512MB/Makefile b/platforms/flash-512MB/Makefile new file mode 100644 index 0000000..affcf33 --- /dev/null +++ b/platforms/flash-512MB/Makefile @@ -0,0 +1 @@ +openmamba-flash-512MB: $(MAKEDIST_TARGET)-commontools xorg-server rpm diff --git a/platforms/flash-512MB/Makefile.defs b/platforms/flash-512MB/Makefile.defs new file mode 100644 index 0000000..e69de29 diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh new file mode 100644 index 0000000..64d7f6d --- /dev/null +++ b/platforms/flash-512MB/post.inc.sh @@ -0,0 +1,76 @@ +## 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab + +# make initramfs + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# 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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 nomodeset +LABEL debug +MENU LABEL Debug mode + kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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; } + +prelink + +#echo "Performing binaries prelinking..." +#chroot $MOUNTDIR /bin/bash -c "PRELINK_NOINITCHECK=1 /etc/cron.daily/prelink" diff --git a/platforms/flash-512MB/root/COPYING b/platforms/flash-512MB/root/COPYING new file mode 100644 index 0000000..5a965fb --- /dev/null +++ b/platforms/flash-512MB/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-512MB/root/README b/platforms/flash-512MB/root/README new file mode 100644 index 0000000..23fa9c6 --- /dev/null +++ b/platforms/flash-512MB/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-512MB/settings.inc b/platforms/flash-512MB/settings.inc new file mode 100644 index 0000000..4e15183 --- /dev/null +++ b/platforms/flash-512MB/settings.inc @@ -0,0 +1,10 @@ +MEDIA=cpio +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" + +TARGET_HOSTNAME=openmamba-flash-512MB +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..f5eb505 --- /dev/null +++ b/platforms/flash-server/post.inc.sh @@ -0,0 +1,40 @@ +## 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 + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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..f95e0ed --- /dev/null +++ b/platforms/installdvd/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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx 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..3f79690 --- /dev/null +++ b/platforms/installdvd/post.inc.sh @@ -0,0 +1,129 @@ +# 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} + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a $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..e547448 --- /dev/null +++ b/platforms/livecd-gnome-root/Makefile @@ -0,0 +1,38 @@ +$(MAKEDIST_TARGET)-livecd-gnome: \ + openssh-server usbutils wireless_tools parted iputils file rootfiles \ + ppp minicom xinetd 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 \ + openmamba-devel timezone sudo openobex liblame expect prelink NetworkManager \ + ModemManager cnetworkmanager 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 \ + gdm gnome-session gnome-common gnome-control-center gnome-desktop gnome-desktop-sharp \ + gnome-icon-theme gnome-keyring gnome-menus gnome-mime-data gnome-packagekit gnome-panel \ + gnome-settings-daemon gnome-sharp gnome-terminal nautilus + +#kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok +$(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress + +$(MAKEDIST_TARGET)-livecd-gnome-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools msysklogd 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 gag ntfs-3g libdvdcss \ + firefox compiz \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + compizconfig-settings-manager compiz-fusion-plugins-main \ + compiz-fusion-plugins-extra samba-server \ + ndisgtk 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: + +#OpenOffice-i18n-it diff --git a/platforms/livecd-gnome-root/Makefile.defs b/platforms/livecd-gnome-root/Makefile.defs new file mode 100644 index 0000000..e69de29 diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh new file mode 100644 index 0000000..11de8b5 --- /dev/null +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -0,0 +1,68 @@ +## 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} + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +# 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --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 +# +# sed -i 's|[#]*AutoLoginEnable=.*|AutoLoginEnable=true|' \ + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# don't stop msysklogd before halt/shutdown +# +rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd +rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd + +# 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 + +# enable CDROM autoeject on shutdown/reboot +# +sed -i -e '/^halt .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt + +sed -i -e '/^reboot .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot + +# installer icon on root desktop +# FIXME: move this somewhere else +mkdir -p $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ + +# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` +echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh +chroot $MOUNTDIR sh /tmp/sounddb.sh +rm -f $MOUNTDIR/tmp/sounddb.sh +[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` + +# remove unused initramfs generated by kernel +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* + +# remove failsafe image to save space for livecd +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* + +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..2329b74 --- /dev/null +++ b/platforms/livecd-gnome-root/settings.inc @@ -0,0 +1,11 @@ +PRODUCT_NAME=livecd-gnome +MEDIA=squash_lzma +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..b523315 --- /dev/null +++ b/platforms/livecd-light-root/Makefile @@ -0,0 +1,32 @@ +$(MAKEDIST_TARGET)-livecd-light: openssh-server usbutils wireless_tools parted iputils file rootfiles \ + ppp minicom xinetd 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 openmamba-devel timezone sudo \ + openobex liblame expect prelink NetworkManager ModemManager cnetworkmanager \ + 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-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress + +$(MAKEDIST_TARGET)-livecd-light-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools msysklogd 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 gag ntfs-3g libdvdcss \ + firefox compiz \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + compizconfig-settings-manager compiz-fusion-plugins-main \ + compiz-fusion-plugins-extra samba-server \ + ndisgtk 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..e69de29 diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh new file mode 100644 index 0000000..6487bdd --- /dev/null +++ b/platforms/livecd-light-root/post.inc.sh @@ -0,0 +1,68 @@ +## 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} + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +# 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --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=root|" $MOUNTDIR/etc/lxdm/lxdm.conf + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# don't stop msysklogd before halt/shutdown +# +rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd +rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd + +# 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 + +# enable CDROM autoeject on shutdown/reboot +# +sed -i -e '/^halt .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt + +sed -i -e '/^reboot .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot + +# installer icon on root desktop +# FIXME: move this somewhere else +mkdir -p $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ + +# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` +echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh +chroot $MOUNTDIR sh /tmp/sounddb.sh +rm -f $MOUNTDIR/tmp/sounddb.sh +[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` + +# remove unused initramfs generated by kernel +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* + +# remove failsafe image to save space for livecd +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* + +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..e1e8a98 --- /dev/null +++ b/platforms/livecd-light-root/settings.inc @@ -0,0 +1,11 @@ +PRODUCT_NAME=livecd-light +MEDIA=squash_lzma +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" + +TARGET_HOSTNAME=openmamba-light +ROOTDEV= +ROOTFS= diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile new file mode 100644 index 0000000..1d24edf --- /dev/null +++ b/platforms/livecd-root/Makefile @@ -0,0 +1,40 @@ +$(MAKEDIST_TARGET)-livecd-kde3: kdebase kmix \ + kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ + kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ + amarok kaffeine +$(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ + ksnapshot4 okular desktop-base-kde4 kmix4 \ + kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ + dragonplayer4 libqt4-sqlite kate +#kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok +$(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress + +$(MAKEDIST_TARGET)-livecd-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools msysklogd 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 gag ntfs-3g libdvdcss \ + firefox compiz \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + compizconfig-settings-manager compiz-fusion-plugins-main \ + compiz-fusion-plugins-extra samba-server \ + ndisgtk smart-gui cpufreqd mambatray \ + $(MAKEDIST_TARGET)-livecd-kde4 +# gnome-device-manager +# libopensync-plugin-syncml libopensync-plugin-google-calendar \ +# libopensync-plugin-gnokii libopensync-plugin-synce \ +# libopensync-plugin-moto libopensync-plugin-palm \ +# foomatic guarddog kpackage +# frozen-bubble tuxracer +# 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 +#OpenOffice-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..e69de29 diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh new file mode 100644 index 0000000..cef9704 --- /dev/null +++ b/platforms/livecd-root/post.inc.sh @@ -0,0 +1,77 @@ +## 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} + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +# 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --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=root|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AllowRootLogin=.*|AllowRootLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# don't stop msysklogd before halt/shutdown +# +rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd +rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd + +# 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 + +# enable CDROM autoeject on shutdown/reboot +# +sed -i -e '/^halt .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt + +sed -i -e '/^reboot .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot + +# installer icon on root desktop +# FIXME: move this somewhere else +mkdir -p $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ + +# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` +echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh +chroot $MOUNTDIR sh /tmp/sounddb.sh +rm -f $MOUNTDIR/tmp/sounddb.sh +[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` + +# remove unused initramfs generated by kernel +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* + +# remove failsafe image to save space for livecd +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* + +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..fc4c084 --- /dev/null +++ b/platforms/livecd-root/settings.inc @@ -0,0 +1,11 @@ +PRODUCT_NAME=livecd +MEDIA=squash_lzma +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" + +TARGET_HOSTNAME=openmamba-livecd +ROOTDEV= +ROOTFS= diff --git a/platforms/livecd/Makefile b/platforms/livecd/Makefile new file mode 100644 index 0000000..3abea4d --- /dev/null +++ b/platforms/livecd/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-livecd: openmamba-release memtest86+ syslinux +# 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..f4138c4 --- /dev/null +++ b/platforms/livecd/Makefile.defs @@ -0,0 +1,7 @@ +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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx 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..6caa555 --- /dev/null +++ b/platforms/livecd/post.inc.sh @@ -0,0 +1,120 @@ +# 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} + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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 + +# 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_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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a $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..dfb9289 --- /dev/null +++ b/platforms/livecd/settings.inc @@ -0,0 +1,13 @@ +MEDIA=iso +MULTITHREAD=1 +DISTROMATIC=off +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="vboxvideo" +[ "$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..309c0a0 --- /dev/null +++ b/platforms/livedvd-root/Makefile @@ -0,0 +1,43 @@ +$(MAKEDIST_TARGET)-livedvd-kde3: kdebase kmix \ + kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ + kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ + amarok kaffeine +$(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ + ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ + kopete4 kdebluetooth4 smb4k amarok lisa4 kwalletmanager4 \ + dragonplayer4 libqt4-sqlite kate +# knemo +#kitchensync4 +$(MAKEDIST_TARGET)-livedvd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress + +$(MAKEDIST_TARGET)-livedvd-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools msysklogd 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 gag ntfs-3g libdvdcss \ + firefox compiz \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + gnome-device-manager \ + compizconfig-settings-manager compiz-fusion-plugins-main \ + compiz-fusion-plugins-extra samba-server \ + ndisgtk smart-gui cpufreqd mambatray \ + $(MAKEDIST_TARGET)-livedvd-kde4 toptray testdisk photorec +# libopensync-plugin-syncml libopensync-plugin-google-calendar \ +# libopensync-plugin-gnokii libopensync-plugin-synce \ +# libopensync-plugin-moto libopensync-plugin-palm \ +# foomatic guarddog kpackage +# frozen-bubble tuxracer +# Localization targets +$(MAKEDIST_TARGET)-livedvd-root-en: \ + kde-l10n-en_GB +$(MAKEDIST_TARGET)-livedvd-root-es: \ + kde-l10n-es firefox-i18n-es-ES +$(MAKEDIST_TARGET)-livedvd-root-it: \ + kde-l10n-it firefox-i18n-it +#OpenOffice-i18n-it +# 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..e69de29 diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh new file mode 100644 index 0000000..b28ef4b --- /dev/null +++ b/platforms/livedvd-root/post.inc.sh @@ -0,0 +1,75 @@ +## 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} + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +# 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --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=root|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AllowRootLogin=.*|AllowRootLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# don't stop msysklogd before halt/shutdown +# +rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd +rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd + +# 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 + +# enable CDROM autoeject on shutdown/reboot +# +sed -i -e '/^halt .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt + +sed -i -e '/^reboot .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot + +# installer icon on root desktop +# FIXME: move this somewhere else +mkdir -p $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ + +# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` +echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh +chroot $MOUNTDIR sh /tmp/sounddb.sh +rm -f $MOUNTDIR/tmp/sounddb.sh +[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` + +# remove unused initramfs generated by kernel +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* + +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..ed1a477 --- /dev/null +++ b/platforms/livedvd-root/settings.inc @@ -0,0 +1,13 @@ +PRODUCT_NAME=livedvd +MEDIA=squash_lzma +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules sound" + +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..8146048 --- /dev/null +++ b/platforms/livedvd/Makefile @@ -0,0 +1,6 @@ +$(MAKEDIST_TARGET)-livedvd: openmamba-release memtest86+ syslinux +# Localized targets +$(MAKEDIST_TARGET)-livedvd-en: +$(MAKEDIST_TARGET)-livedvd-it: +$(MAKEDIST_TARGET)-livedvd-es: + diff --git a/platforms/livedvd/Makefile.defs b/platforms/livedvd/Makefile.defs new file mode 100644 index 0000000..f95e0ed --- /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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx 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/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh new file mode 100644 index 0000000..d111ca1 --- /dev/null +++ b/platforms/livedvd/post.inc.sh @@ -0,0 +1,120 @@ +# 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} + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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 + +# 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_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 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 + +# 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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a $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..4dbc884 --- /dev/null +++ b/platforms/livedvd/settings.inc @@ -0,0 +1,15 @@ +MEDIA=iso +MULTITHREAD=1 +DISTROMATIC=off +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" +[ "$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..9b8478d --- /dev/null +++ b/platforms/livegames-root/Makefile @@ -0,0 +1,41 @@ +$(MAKEDIST_TARGET)-livegames-kde3: kdebase kmix \ + kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ + kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ + kruler kuickshow kview kcolorchooser amarok + +$(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ + ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ + kopete4 kdebluetooth4 smb4k kate \ + kruler4 gwenview4 kamera kcolorchooser4 amarok lisa4 kwalletmanager4 libqt4-sqlite + +$(MAKEDIST_TARGET)-livegames-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + xorg-drv-input-synaptics \ + ttf-freefont liberation-fonts-ttf \ + gparted gag ntfs-3g samba-server \ + compiz compiz-fusion-plugins-main \ + compiz-fusion-plugins-extra compizconfig-settings-manager \ + macbook-tools livecd-tools \ + kdebluetooth Mesa-tools driconf \ + gnome-device-manager desktop-base-openmamba \ + extremetuxracer ksudoku4 okular cpufreqd mambatray \ + pingus gnuchess powermanga FlightGear frozen-bubble \ + kdegames monkey-bubble pathological neverball \ + tuxkart gtans ksirk moagg knights \ + torcs xmame openarena ndisgtk 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..e69de29 diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh new file mode 100644 index 0000000..3844b53 --- /dev/null +++ b/platforms/livegames-root/post.inc.sh @@ -0,0 +1,77 @@ +## 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} + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +# 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --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=root|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AllowRootLogin=.*|AllowRootLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# don't stop msysklogd before halt/shutdown +# +rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd +rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd + +# 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 + +# enable CDROM autoeject on shutdown/reboot +# +sed -i -e '/^halt .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt + +sed -i -e '/^reboot .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot + +# installer icon on root desktop +# FIXME: move this somewhere else +mkdir -p $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ + +# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` +echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh +chroot $MOUNTDIR sh /tmp/sounddb.sh +rm -f $MOUNTDIR/tmp/sounddb.sh +[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` + +# remove unused initramfs generated by kernel +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* + +# disable compiz for games +sed -i "/windowManager=compiz-custom/d" $MOUNTDIR/opt/kde/share/config/ksmserverrc + +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..e5e9e78 --- /dev/null +++ b/platforms/livegames-root/settings.inc @@ -0,0 +1,12 @@ +MEDIA=squash_lzma +MULTITHREAD=1 + +PRODUCT_NAME=livegames + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules" + +TARGET_HOSTNAME=openmamba-livegames +ROOTDEV= +ROOTFS= diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile new file mode 100644 index 0000000..09675a6 --- /dev/null +++ b/platforms/livestudio-root/Makefile @@ -0,0 +1,39 @@ +$(MAKEDIST_TARGET)-livestudio-kde3: kdebase kmix \ + kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ + kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ + kruler kuickshow kview kcolorchooser amarok + +$(MAKEDIST_TARGET)-livestudio-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ + ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ + kopete4 kdebluetooth4 smb4k kate \ + kruler4 gwenview4 kamera kcolorchooser4 amarok lisa4 kwalletmanager4 libqt4-sqlite +#kitchensync4 + +$(MAKEDIST_TARGET)-livestudio-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ + xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ + xorg-drv-input-synaptics xorg-apps-extra xterm \ + ttf-freefont liberation-fonts-ttf \ + gag gparted ntfs-3g samba-server libdvdcss \ + kaffeine wine gimp cinepaint \ + audacity compiz \ + macbook-tools livecd-tools \ + Mesa-tools driconf \ + gnome-device-manager blender inkscape ardour \ + mixxx lives muse puredata \ + qtractor rosegarden ZynAddSubFX timidity \ + qsynth qjackctl kino hydrogen vlc digikam \ + cheese kpdf ndisgtk cinelerra \ + compizconfig-settings-manager compiz-fusion-plugins-main \ + compiz-fusion-plugins-extra smart-gui cpufreqd mambatray \ + desktop-base-openmamba gtick lingot mandvd denemo miro \ + $(MAKEDIST_TARGET)-livestudio-kde4 + +#makehuman +# Localization targets +$(MAKEDIST_TARGET)-livestudio-root-en: \ + kde-l10n-en_GB +$(MAKEDIST_TARGET)-livestudio-root-it: \ + kde-l10n-it +# FIXME: add kdepim diff --git a/platforms/livestudio-root/Makefile.defs b/platforms/livestudio-root/Makefile.defs new file mode 100644 index 0000000..e69de29 diff --git a/platforms/livestudio-root/post.inc.sh b/platforms/livestudio-root/post.inc.sh new file mode 100644 index 0000000..51ab9f8 --- /dev/null +++ b/platforms/livestudio-root/post.inc.sh @@ -0,0 +1,69 @@ +## 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --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=root|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + + # FIXME: move to /etc some configuration files and make appropriate symlinks + mv $MOUNTDIR/opt/kde/share/config/* $MOUNTDIR/etc/opt/kde + rmdir $MOUNTDIR/opt/kde/share/config + ln -s ../../../../etc/opt/kde $MOUNTDIR/opt/kde/share/config +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# don't stop msysklogd before halt/shutdown +# +rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd +rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd + +# 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 + +# enable CDROM autoeject on shutdown/reboot +# +sed -i -e '/^halt .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt + +sed -i -e '/^reboot .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot + +# installer icon on root desktop +# FIXME: move this somewhere else +mkdir -p $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ + +# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` +echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh +chroot $MOUNTDIR sh /tmp/sounddb.sh +rm -f $MOUNTDIR/tmp/sounddb.sh +[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` + +prelink diff --git a/platforms/livestudio-root/root/openmamba-livestudio/CHANGES b/platforms/livestudio-root/root/openmamba-livestudio/CHANGES new file mode 100644 index 0000000..e0fd745 --- /dev/null +++ b/platforms/livestudio-root/root/openmamba-livestudio/CHANGES @@ -0,0 +1,5 @@ +openmamba artstudio livecd changelog +==================================== + +20070922 + * new makedist target diff --git a/platforms/livestudio-root/root/openmamba-livestudio/COPYING b/platforms/livestudio-root/root/openmamba-livestudio/COPYING new file mode 100644 index 0000000..5a965fb --- /dev/null +++ b/platforms/livestudio-root/root/openmamba-livestudio/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/livestudio-root/root/openmamba-livestudio/INSTALL b/platforms/livestudio-root/root/openmamba-livestudio/INSTALL new file mode 100644 index 0000000..10623d9 --- /dev/null +++ b/platforms/livestudio-root/root/openmamba-livestudio/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/livestudio-root/root/openmamba-livestudio/README b/platforms/livestudio-root/root/openmamba-livestudio/README new file mode 100644 index 0000000..c3c8fd9 --- /dev/null +++ b/platforms/livestudio-root/root/openmamba-livestudio/README @@ -0,0 +1,5 @@ +openmamba artstudio livecd +========================== + +This artstudio livecd is at early development stage. + diff --git a/platforms/livestudio-root/root/openmamba-livestudio/TODO b/platforms/livestudio-root/root/openmamba-livestudio/TODO new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/platforms/livestudio-root/root/openmamba-livestudio/TODO @@ -0,0 +1 @@ + diff --git a/platforms/livestudio-root/settings.inc b/platforms/livestudio-root/settings.inc new file mode 100644 index 0000000..e4e0b50 --- /dev/null +++ b/platforms/livestudio-root/settings.inc @@ -0,0 +1,12 @@ +MEDIA=squash +MULTITHREAD=1 + +PRODUCT_NAME=livestudio + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules sound" + +TARGET_HOSTNAME=openmamba-livestudio +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..e27531d --- /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 $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/sdk-root/Makefile b/platforms/sdk-root/Makefile new file mode 100644 index 0000000..f48eb7d --- /dev/null +++ b/platforms/sdk-root/Makefile @@ -0,0 +1,26 @@ +$(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ + iputils file rootfiles file \ + dhcpclient ppp minicom vsftpd rt2870-firmware ntp locales \ + binutils gcc gcc-c++ gcc-cpp make man-db glibc-devel strace \ + sysvinit util-linux module-init-tools \ + procps sed grep net-tools tar bzip2 unzip zip pciutils \ + pam shadow-common pwdutils mingetty \ + NetworkManager cnetworkmanager ModemManager net-tools mc \ + timezone wireless_tools openmamba-release openssh-clients \ + man iptables iputils xinetd less mtd-utils bluez \ + reiserfsprogs reiser4progs ppp usbutils ftp telnet eject \ + tcpdump pcmcia-utils xdg-utils iproute syslog-ng \ + rpm autospec autodist nfs-utils patch sudo smart openmamba-devel \ + pkgconfig diffutils autoconf automake libtool gettext xorg-server \ + tightvnc-server lxde midori +# openmamba-devel +#sudo +$(MAKEDIST_TARGET)-sdk-root-missing: wpa_supplicant dosfstools cups vim postplug ipw2100-firmware ipw2200-firmware zd1211-firmware \ + rt2501-firmware rt2870-firmware b43-tools r5u87x-firmware mdadm eciadsl \ + ndiswrapper slmodem unionfs_utils nfs-utils mbr +$(MAKEDIST_TARGET)-sdk-root-en: +$(MAKEDIST_TARGET)-sdk-root-it: +$(MAKEDIST_TARGET)-sdk-root-es: +$(MAKEDIST_TARGET)-sdk-root-i586: grub2 +$(MAKEDIST_TARGET)-sdk-root-arm: +$(MAKEDIST_TARGET)-sdk-root-ppc: yaboot diff --git a/platforms/sdk-root/Makefile.defs b/platforms/sdk-root/Makefile.defs new file mode 100644 index 0000000..99d3c52 --- /dev/null +++ b/platforms/sdk-root/Makefile.defs @@ -0,0 +1,16 @@ +# 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 +xorgdrvvideo = xorg-drv-video-fbdev +# xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau +xorgdrvinput = xorg-drv-input-keyboard xorg-drv-input-mouse xorg-drv-input-synaptics xorg-drv-input-void xorg-drv-input-evdev +libGL.so.1 = libGL-Mesa-dri +libGLU.so.1 = libGL-Mesa-dri +dhcpclient = dhcpcd diff --git a/platforms/sdk-root/post.inc.sh b/platforms/sdk-root/post.inc.sh new file mode 100644 index 0000000..83aaa11 --- /dev/null +++ b/platforms/sdk-root/post.inc.sh @@ -0,0 +1,98 @@ +# 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i '/^[1-6]:.*/d' $MOUNTDIR/etc/inittab + +if [ "$ARCH" == "arm" ]; then + INITTAB_TTY="ttyS0 ttyAMA0" +else + INITTAB_TTY="tty1 tty2 tty3" +fi +n=0 +for t in ${INITTAB_TTY}; do +n=`expr $n + 1` +echo "${n}:2345:respawn:/sbin/mingetty --autologin root --noclear ${t}" >> $MOUNTDIR/etc/inittab +done + +# add default sdk user +chroot $MOUNTDIR useradd sdk -G sysadmin,packager + +# configure default root password +echo "sdk" | chroot $MOUNTDIR passwd root --stdin + +# configure default sdk password +echo "sdk" | chroot $MOUNTDIR passwd sdk --stdin + +## add fstab entries +#cat >> $MOUNTDIR/etc/fstab << _EOF +##/dev/hda1 /mnt/cf0 auto defaults 1 1 +#/dev/mmcblk0p1 /mnt/sd0 auto defaults 1 1 +#_EOF +#mkdir $MOUNTDIR/mnt/cf0 $MOUNTDIR/mnt/sd0 + +# enable network manager +chroot $MOUNTDIR chkconfig --add NetworkManager + +# disable nfs +chroot $MOUNTDIR chkconfig --del nfslock +chroot $MOUNTDIR chkconfig --del portmap + +# remove some services +rm -f $MOUNTDIR/etc/rc?.d/???{iptables,acpid} + +# configure vncserver + cat >> $MOUNTDIR/etc/sysconfig/vncservers << _EOF +VNCSERVERS="1:root" +export USER=root +_EOF + + cat >> $MOUNTDIR/etc/tightvncserver.conf << _EOF +\$geometry = "800x480" +_EOF +chroot $MOUNTDIR chkconfig --add vncserver +chroot $MOUNTDIR chkconfig --level 345 vncserver on + +mkdir -p $MOUNTDIR/etc/X11/xinit/ +echo "startlxde" > $MOUNTDIR/etc/X11/xinit/xinitrc +chmod +x $MOUNTDIR/etc/X11/xinit/xinitrc + +cat > $MOUNTDIR/usr/bin/X-vncserver << _EOF +#!/bin/bash +vncserver +_EOF +chmod +x $MOUNTDIR/usr/bin/X-vncserver + +# copy qemu-static +cp /usr/bin/qemu-arm.static $MOUNTDIR/usr/bin/qemu-arm +cp /usr/bin/qemu-arm.static $MOUNTDIR/usr/bin/qemu-arm-suid +chmod 4755 $MOUNTDIR/usr/bin/qemu-arm-suid +cat > $MOUNTDIR/bin/sudo-qemu << _EOF +#!/bin/sh +/usr/bin/qemu-arm-suid /usr/bin/sudo \$@ +_EOF +chmod +x $MOUNTDIR/bin/sudo-qemu + +# 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 + +# update module dependencies +chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# create universal initramfs +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + +# don't remove static qemu for this platform +QEMU_COPIED_FOR_INST=0 + +prelink diff --git a/platforms/sdk-root/pre.inc.sh.bak b/platforms/sdk-root/pre.inc.sh.bak new file mode 100644 index 0000000..f980d6f --- /dev/null +++ b/platforms/sdk-root/pre.inc.sh.bak @@ -0,0 +1,20 @@ +# produce archive image for embedded root filesystem +# +MEDIA_NAME=`media_name` + +# embedded target +create_rpm_database +install_rpms "$INSTALL_PACKAGES" "--nodeps --noorder --noscripts" +INSTALLED=$INSTALL_PACKAGES + +[ "$MOUNTDIR" -a "$MOUNTDIR" != "/" ] && rm -rf $MOUNTDIR/var/lib/rpm +# copy static files for specific platform +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && + cp -a $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/sdk-root/settings.inc b/platforms/sdk-root/settings.inc new file mode 100644 index 0000000..af926b3 --- /dev/null +++ b/platforms/sdk-root/settings.inc @@ -0,0 +1,13 @@ +KERNEL_EXTRAVER=mamba-${ARCH} +KERNEL_ADDITIONAL= +KERNEL_IGNORE=true +#APPLICATION_TARGET="sdk-root" +#MEDIA=qemu +MEDIA=archive_gz +#ARCH=arm +#INSTALL_PACKAGES="bash" +BUILD_MISSING=true +TARGET_HOSTNAME=${ARCH}-sdk +#rpmextraargs="--noscripts" +DEBUG=1 +#RPM=rpm5 diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile new file mode 100644 index 0000000..f9c5f11 --- /dev/null +++ b/platforms/testcd-root/Makefile @@ -0,0 +1,41 @@ +$(MAKEDIST_TARGET)-testcd-kde3: kdebase kmix \ + kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ + kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ + amarok kaffeine +$(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ + ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ + kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ + dragonplayer4 libqt4-sqlite kate +# knemo kdeplasma-addons +#kitchensync4 +$(MAKEDIST_TARGET)-testcd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress + +$(MAKEDIST_TARGET)-testcd-root: \ + postplug-xorg postplug-sound \ + $(MAKEDIST_TARGET)-commontools msysklogd 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 gag ntfs-3g libdvdcss \ + firefox compiz \ + macbook-tools livecd-tools \ + Mesa-tools driconf parted testdisk \ + compizconfig-settings-manager compiz-fusion-plugins-main \ + compiz-fusion-plugins-extra samba-server \ + ndisgtk smart-gui cpufreqd mambatray \ + $(MAKEDIST_TARGET)-testcd-kde4 openssh-server +# gnome-device-manager +# libopensync-plugin-syncml libopensync-plugin-google-calendar \ +# libopensync-plugin-gnokii libopensync-plugin-synce \ +# libopensync-plugin-moto libopensync-plugin-palm \ +# foomatic guarddog kpackage +# frozen-bubble tuxracer +# 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 +#OpenOffice-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..786c640 --- /dev/null +++ b/platforms/testcd-root/Makefile.defs @@ -0,0 +1 @@ +#xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh new file mode 100644 index 0000000..1dfe2d6 --- /dev/null +++ b/platforms/testcd-root/post.inc.sh @@ -0,0 +1,70 @@ +## 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --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=root|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc + sed -i 's|[#]*AllowRootLogin=.*|AllowRootLogin=true|' \ + $MOUNTDIR/opt/kde/share/config/kdm/kdmrc +fi + +# FIXME: ensure alternatives are correclty set +chroot $MOUNTDIR update-alternatives-set-dri + +# don't stop msysklogd before halt/shutdown +# +rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd +rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd + +# 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 + +# enable CDROM autoeject on shutdown/reboot +# +sed -i -e '/^halt .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt + +sed -i -e '/^reboot .*/i \ +/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot + +# installer icon on root desktop +# FIXME: move this somewhere else +mkdir -p $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ +cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ + +# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` +echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh +chroot $MOUNTDIR sh /tmp/sounddb.sh +rm -f $MOUNTDIR/tmp/sounddb.sh +[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` + +# remove unused initramfs generated by kernel +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* + +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..3757097 --- /dev/null +++ b/platforms/testcd-root/settings.inc @@ -0,0 +1,12 @@ +PRODUCT_NAME=testcd +MEDIA=squash_lzma +MULTITHREAD=1 + +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules sound" + +ROOTDEV= +ROOTFS= + +TARGET_HOSTNAME=openmamba-testcd diff --git a/platforms/testcd/Makefile b/platforms/testcd/Makefile new file mode 100644 index 0000000..299d20f --- /dev/null +++ b/platforms/testcd/Makefile @@ -0,0 +1,5 @@ +$(MAKEDIST_TARGET)-testcd: openmamba-release memtest86+ syslinux $(MAKEDIST_TARGET)-firmwares +# 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..224cbbf --- /dev/null +++ b/platforms/testcd/Makefile.defs @@ -0,0 +1,7 @@ +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-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau 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..5e56ad8 --- /dev/null +++ b/platforms/testcd/post.inc.sh @@ -0,0 +1,120 @@ +# 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} + +## temporary workaround to disable nouveau driver in favour of nvidia proprietary until +## it gets 3D support +#echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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 + +# 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_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 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 + +# 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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + +# copy localized static files for specific platform +[ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && + cp -a $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..5ab0fe9 --- /dev/null +++ b/platforms/testcd/settings.inc @@ -0,0 +1,13 @@ +MEDIA=iso +#MEDIA=iso-grub +MULTITHREAD=1 +DISTROMATIC=off +#KERNEL_IGNORE=1 +KERNEL_EXTRAVER=mamba +KERNEL_PLATFORM="" +#KERNEL_ADDITIONAL="extramodules wireless sound" +[ "$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..8c0b067 --- /dev/null +++ b/platforms/virtualserver/post.inc.sh @@ -0,0 +1,49 @@ +## 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 + +# temporary workaround to disable nouveau driver in favour of nvidia proprietary until +# it gets 3D support +echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf + +LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --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..9951a00 --- /dev/null +++ b/settings.inc @@ -0,0 +1,25 @@ +RELEASE=devel +MAKEFILE_TARGET=${MAKEDIST_TARGET} +KERNEL_ADDITIONAL="sound-backport vboxvideo" + +#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 From 5d583126b4540ced251b58ed7c8b428063555d53 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 19 May 2011 16:13:51 +0200 Subject: [PATCH 002/186] Configure gdm for autologin --- platforms/livecd-gnome-root/post.inc.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 11de8b5..0dd8e2c 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -18,7 +18,11 @@ sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab # configure GDM for autologin # -# sed -i 's|[#]*AutoLoginEnable=.*|AutoLoginEnable=true|' \ +cat > $MOUNTDIR/etc/gdm/gdm.conf << _EOF +[daemon] +AutomaticLoginEnable=true +AutomaticLogin=root +_EOF # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri From 333efc54eecf7a8fe71a35b1ec515b1c17061f16 Mon Sep 17 00:00:00 2001 From: "Filippo B.B" Date: Fri, 20 May 2011 19:54:10 +0200 Subject: [PATCH 003/186] Corretto errore gdm --- platforms/livecd-gnome-root/post.inc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 0dd8e2c..e5f9b62 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -18,7 +18,7 @@ sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab # configure GDM for autologin # -cat > $MOUNTDIR/etc/gdm/gdm.conf << _EOF +cat > $MOUNTDIR/etc/gdm/custom.conf << _EOF [daemon] AutomaticLoginEnable=true AutomaticLogin=root From 388763a5e5f85c5adc4a54600136ae5759dd0435 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 21 May 2011 17:47:45 +0200 Subject: [PATCH 004/186] Switch squashfs compression from lzma to xz (kernel >= 2.6.38) --- platforms/livecd-gnome-root/settings.inc | 2 +- platforms/livecd-light-root/settings.inc | 2 +- platforms/livecd-root/settings.inc | 2 +- platforms/livedvd-root/settings.inc | 2 +- platforms/livegames-root/settings.inc | 2 +- platforms/testcd-root/settings.inc | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/platforms/livecd-gnome-root/settings.inc b/platforms/livecd-gnome-root/settings.inc index 2329b74..470534e 100644 --- a/platforms/livecd-gnome-root/settings.inc +++ b/platforms/livecd-gnome-root/settings.inc @@ -1,5 +1,5 @@ PRODUCT_NAME=livecd-gnome -MEDIA=squash_lzma +MEDIA=squash_xz MULTITHREAD=1 KERNEL_EXTRAVER=mamba diff --git a/platforms/livecd-light-root/settings.inc b/platforms/livecd-light-root/settings.inc index e1e8a98..8113dff 100644 --- a/platforms/livecd-light-root/settings.inc +++ b/platforms/livecd-light-root/settings.inc @@ -1,5 +1,5 @@ PRODUCT_NAME=livecd-light -MEDIA=squash_lzma +MEDIA=squash_xz MULTITHREAD=1 KERNEL_EXTRAVER=mamba diff --git a/platforms/livecd-root/settings.inc b/platforms/livecd-root/settings.inc index fc4c084..ec396d9 100644 --- a/platforms/livecd-root/settings.inc +++ b/platforms/livecd-root/settings.inc @@ -1,5 +1,5 @@ PRODUCT_NAME=livecd -MEDIA=squash_lzma +MEDIA=squash_xz MULTITHREAD=1 KERNEL_EXTRAVER=mamba diff --git a/platforms/livedvd-root/settings.inc b/platforms/livedvd-root/settings.inc index ed1a477..73549fa 100644 --- a/platforms/livedvd-root/settings.inc +++ b/platforms/livedvd-root/settings.inc @@ -1,5 +1,5 @@ PRODUCT_NAME=livedvd -MEDIA=squash_lzma +MEDIA=squash_xz MULTITHREAD=1 KERNEL_EXTRAVER=mamba diff --git a/platforms/livegames-root/settings.inc b/platforms/livegames-root/settings.inc index e5e9e78..65a0924 100644 --- a/platforms/livegames-root/settings.inc +++ b/platforms/livegames-root/settings.inc @@ -1,4 +1,4 @@ -MEDIA=squash_lzma +MEDIA=squash_xz MULTITHREAD=1 PRODUCT_NAME=livegames diff --git a/platforms/testcd-root/settings.inc b/platforms/testcd-root/settings.inc index 3757097..3624186 100644 --- a/platforms/testcd-root/settings.inc +++ b/platforms/testcd-root/settings.inc @@ -1,5 +1,5 @@ PRODUCT_NAME=testcd -MEDIA=squash_lzma +MEDIA=squash_xz MULTITHREAD=1 KERNEL_EXTRAVER=mamba From 987cc2cfafb326eab7c9e2157e1404abc07a0991 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 22 May 2011 15:17:53 +0200 Subject: [PATCH 005/186] Cleanup /tmp/.ICE-unix to prevent a unionfs (2.5.9.1) oops at boot in cleanfs initscript --- makedist.inc.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/makedist.inc.sh b/makedist.inc.sh index 4982f5b..2e8251b 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -105,6 +105,9 @@ find $MOUNTDIR/usr/share/locale \ -maxdepth 1 -mindepth 1 -type d \ ! -name it* ! -name en* ! -name C ! -name l10n -exec rm -rf {} \; +# cleanup: prevent generating a cleanfs script crash due to a unionfs bug +rm -rf $MOUNTDIR/tmp/.ICE-unix + #$CHROOTCMD chkconfig --add acpid || # { echo "$mkcd_me: fatal error, aborting installation" >&2 # { (exit 1); exit 1; }; } From 259aecb9742b6d63f69835cd6f04bd47de36c51c Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 22 May 2011 16:50:38 +0200 Subject: [PATCH 006/186] openmamba-gnome: create a default gtkrc using gnome icons --- platforms/livecd-gnome-root/post.inc.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index e5f9b62..8ac0c91 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -24,6 +24,12 @@ AutomaticLoginEnable=true AutomaticLogin=root _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 + # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri From 0d1f59a61ae02c2f807cca9cc05338b3fb81f688 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 22 May 2011 16:52:07 +0200 Subject: [PATCH 007/186] openmamba-gnome: require gnome-theme (which requires gnome-icon-theme) --- platforms/livecd-gnome-root/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index e547448..c9e1674 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -9,8 +9,8 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ xorg-drv-input-mouse xorg-drv-input-void \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart chromium desktop-base-openmamba \ gdm gnome-session gnome-common gnome-control-center gnome-desktop gnome-desktop-sharp \ - gnome-icon-theme gnome-keyring gnome-menus gnome-mime-data gnome-packagekit gnome-panel \ - gnome-settings-daemon gnome-sharp gnome-terminal nautilus + gnome-keyring gnome-menus gnome-mime-data gnome-packagekit gnome-panel gnome-settings-daemon \ + gnome-sharp gnome-terminal nautilus gnome-themes #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok $(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress From 0706eaf9bfb4bc3d633ae49ebbec8bb7a270536c Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 22 May 2011 17:44:17 +0200 Subject: [PATCH 008/186] livecd-gnome-root: add epiphany and evolution --- platforms/livecd-gnome-root/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index c9e1674..58b8d2a 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -10,7 +10,7 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart chromium 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-panel gnome-settings-daemon \ - gnome-sharp gnome-terminal nautilus gnome-themes + gnome-sharp gnome-terminal nautilus gnome-themes epiphany evolution #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok $(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress From 7686a73b6b3998c5f6b1ba46de7921482c4f5640 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 22 May 2011 18:22:15 +0200 Subject: [PATCH 009/186] livecd-gnome-root: run gconftool-2 to reinstall all schemas --- platforms/livecd-gnome-root/post.inc.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 8ac0c91..f514e0a 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -75,4 +75,7 @@ rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* # remove failsafe image to save space for livecd rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +# install all GConf rules +chroot $MOUNTDIR GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule /etc/gconf/schemas/* + prelink From 3c29e690246d12fb892aa71ff395789ce73d9065 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 22 May 2011 18:23:14 +0200 Subject: [PATCH 010/186] livecd-gnome-root: add gnome-utils and gnome-system-log --- platforms/livecd-gnome-root/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 58b8d2a..abff5e6 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -10,7 +10,7 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart chromium 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-panel gnome-settings-daemon \ - gnome-sharp gnome-terminal nautilus gnome-themes epiphany evolution + gnome-sharp gnome-terminal nautilus gnome-themes epiphany evolution gnome-utils gnome-system-log #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok $(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress From c42ef227c8506ebf49f960a30919a7503c963770 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 22 May 2011 20:29:13 +0200 Subject: [PATCH 011/186] livecd-gnome-root: fix chrooted gconftool-2 command execution --- platforms/livecd-gnome-root/post.inc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index f514e0a..92f3fc8 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -76,6 +76,6 @@ rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* # install all GConf rules -chroot $MOUNTDIR GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule /etc/gconf/schemas/* +GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` chroot $MOUNTDIR gconftool-2 --makefile-install-rule /etc/gconf/schemas/* >/dev/null prelink From 4297a710f813548389dbea18fc7908721dae39fe Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 3 Jun 2011 14:04:37 +0200 Subject: [PATCH 012/186] Port modifications for 2.0pre5 from target openmamba-milestone2 --- Makefile | 2 +- makedist.inc.sh | 1 + platforms/livecd-root/Makefile | 2 +- platforms/livecd-root/post.inc.sh | 3 +++ platforms/livedvd-root/Makefile | 2 +- platforms/livedvd-root/post.inc.sh | 3 +++ platforms/livegames-root/Makefile | 2 +- platforms/testcd-root/Makefile | 2 +- 8 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 62297c0..88dda39 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ $(MAKEDIST_TARGET)-commontools: sysvinit util-linux module-init-tools \ procps sed grep net-tools tar bzip2 unzip zip pciutils \ pam shadow-common pwdutils acpid mingetty screen \ net-tools prelink mc dhcpclient timezone nfs-utils \ - wireless_tools wpa_supplicant openmamba-release grub2 refit-tools openssh-clients \ + wireless_tools wpa_supplicant openmamba-release refit-tools openssh-clients \ dosfstools man mbr iptables cups vim iputils sudo postplug xinetd less \ reiserfsprogs reiser4progs ppp b43-tools mdadm eciadsl usb-modeswitch \ ndiswrapper slmodem usbutils ftp telnet eject bluez \ diff --git a/makedist.inc.sh b/makedist.inc.sh index 2e8251b..0661ee5 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -107,6 +107,7 @@ find $MOUNTDIR/usr/share/locale \ # cleanup: prevent generating a cleanfs script crash due to a unionfs bug rm -rf $MOUNTDIR/tmp/.ICE-unix +rm -rf $MOUNTDIR/tmp/kde-root #$CHROOTCMD chkconfig --add acpid || # { echo "$mkcd_me: fatal error, aborting installation" >&2 diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 1d24edf..cb85593 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -5,7 +5,7 @@ $(MAKEDIST_TARGET)-livecd-kde3: kdebase kmix \ $(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot4 okular desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ - dragonplayer4 libqt4-sqlite kate + kaffeine libqt4-sqlite kate #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok $(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index cef9704..33e0c3e 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -61,6 +61,9 @@ mkdir -p $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ +# configure fireofox as favorite in kde menu +chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite %{_datadir}/applications/mozilla-firefox3.desktop + # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 309c0a0..5601186 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -5,7 +5,7 @@ $(MAKEDIST_TARGET)-livedvd-kde3: kdebase kmix \ $(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k amarok lisa4 kwalletmanager4 \ - dragonplayer4 libqt4-sqlite kate + kaffeine libqt4-sqlite kate # knemo #kitchensync4 $(MAKEDIST_TARGET)-livedvd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index b28ef4b..76feb65 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -62,6 +62,9 @@ mkdir -p $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ +# configure fireofox as favorite in kde menu +chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite %{_datadir}/applications/mozilla-firefox3.desktop + # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 9b8478d..5530e4c 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -6,7 +6,7 @@ $(MAKEDIST_TARGET)-livegames-kde3: kdebase kmix \ $(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k kate \ - kruler4 gwenview4 kamera kcolorchooser4 amarok lisa4 kwalletmanager4 libqt4-sqlite + kruler4 gwenview4 kamera kcolorchooser4 lisa4 kwalletmanager4 libqt4-sqlite $(MAKEDIST_TARGET)-livegames-root: \ postplug-xorg postplug-sound \ diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index f9c5f11..938fd65 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -5,7 +5,7 @@ $(MAKEDIST_TARGET)-testcd-kde3: kdebase kmix \ $(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ - dragonplayer4 libqt4-sqlite kate + kaffeine libqt4-sqlite kate # knemo kdeplasma-addons #kitchensync4 $(MAKEDIST_TARGET)-testcd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress From e21557a598853aaed7fbe79dc99160cf250d30ee Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 3 Jun 2011 15:36:48 +0200 Subject: [PATCH 013/186] livecd-root, livedvd-root: Fix trivial error in filefox configuration as favorite --- platforms/livecd-root/post.inc.sh | 2 +- platforms/livedvd-root/post.inc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 33e0c3e..3f09666 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -62,7 +62,7 @@ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/D cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ # configure fireofox as favorite in kde menu -chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite %{_datadir}/applications/mozilla-firefox3.desktop +chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite /usr/share/applications/mozilla-firefox3.desktop # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 76feb65..34bd555 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -63,7 +63,7 @@ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/D cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ # configure fireofox as favorite in kde menu -chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite %{_datadir}/applications/mozilla-firefox3.desktop +chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite /usr/share/applications/mozilla-firefox3.desktop # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` From 181ff468d6607d78ff780ddb206650109e08488f Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 12 Jun 2011 17:21:54 +0200 Subject: [PATCH 014/186] makedist.inc.sh: move /tmp cleanups after post_install_rpms livecd, livedvd: use kickoffcfg to configure firefox, kaffeine and amarok as KDE favorite apps --- makedist.inc.sh | 8 ++++---- platforms/livecd-root/post.inc.sh | 4 +++- platforms/livedvd-root/post.inc.sh | 5 ++++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index 0661ee5..3b4356e 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -105,10 +105,6 @@ find $MOUNTDIR/usr/share/locale \ -maxdepth 1 -mindepth 1 -type d \ ! -name it* ! -name en* ! -name C ! -name l10n -exec rm -rf {} \; -# cleanup: prevent generating a cleanfs script crash due to a unionfs bug -rm -rf $MOUNTDIR/tmp/.ICE-unix -rm -rf $MOUNTDIR/tmp/kde-root - #$CHROOTCMD chkconfig --add acpid || # { echo "$mkcd_me: fatal error, aborting installation" >&2 # { (exit 1); exit 1; }; } @@ -148,6 +144,10 @@ fi post_install_rpms +# cleanup: prevent generating a cleanfs script crash due to a unionfs bug +rm -rf $MOUNTDIR/tmp/.ICE-unix +rm -rf $MOUNTDIR/tmp/kde-root + [ "$QEMU_COPIED_FOR_INST" ] && post_qemu # copy static files for target diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 3f09666..8c7b698 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -62,7 +62,9 @@ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/D cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ # configure fireofox as favorite in kde menu -chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite /usr/share/applications/mozilla-firefox3.desktop +for f in /usr/share/applications/mozilla-firefox3.desktop /opt/kde/share/applications/kaffeine.desktop; do + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f +done # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 34bd555..0127082 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -63,7 +63,10 @@ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/D cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ # configure fireofox as favorite in kde menu -chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite /usr/share/applications/mozilla-firefox3.desktop +for f in /usr/share/applications/mozilla-firefox3.desktop \ + /opt/kde/share/applications/kaffeine.desktop /opt/kde/share/applications/amarok.desktop; do + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f +done # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` From 8a04efe3765e73bbe5d02d02f6e2faba2c0fc273 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 15 Jun 2011 18:02:20 +0200 Subject: [PATCH 015/186] livegames-root: add firefox and set as favorite in kde menu --- platforms/livedvd-root/post.inc.sh | 2 +- platforms/livegames-root/Makefile | 2 +- platforms/livegames-root/post.inc.sh | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 0127082..112b7b0 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -62,7 +62,7 @@ mkdir -p $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ -# configure fireofox as favorite in kde menu +# configure favorites in kde menu for f in /usr/share/applications/mozilla-firefox3.desktop \ /opt/kde/share/applications/kaffeine.desktop /opt/kde/share/applications/amarok.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 5530e4c..ccf8c0d 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-livegames-root: \ xorg-drv-input-synaptics \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g samba-server \ - compiz compiz-fusion-plugins-main \ + firefox compiz compiz-fusion-plugins-main \ compiz-fusion-plugins-extra compizconfig-settings-manager \ macbook-tools livecd-tools \ kdebluetooth Mesa-tools driconf \ diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index 3844b53..60d99a2 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -61,6 +61,11 @@ mkdir -p $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ +# configure favorites in kde menu +for f in /usr/share/applications/mozilla-firefox3.desktop; do + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f +done + # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh From 979b8f43b42176e3f3aff657edaae6359398cb02 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 27 Jun 2011 13:54:16 +0200 Subject: [PATCH 016/186] Define globally networkmanagervpnplugin virtual requirement --- Makefile.defs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 90d1221..9052c69 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -96,6 +96,9 @@ perl[Automake__XFile] = automake # openoffice openofficei18n = OpenOffice-i18n-$(LANGUAGE) +# vpn +networkmanagervpnplugin = NetworkManager-vpnc NetworkManager-pptp + ifdef PLATFORM include $(TARGETSDIR)/$(TARGET)/platforms/$(PLATFORM)/Makefile.defs endif From 548a76f4d4d6abf949d3af98d4d13d006fe73078 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 10 Jul 2011 17:30:09 +0200 Subject: [PATCH 017/186] flash-1GB: a couple of minor fixes --- platforms/flash-1GB/Makefile | 2 +- platforms/flash-1GB/post.inc.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/platforms/flash-1GB/Makefile b/platforms/flash-1GB/Makefile index cfa4ca7..c0e52a7 100644 --- a/platforms/flash-1GB/Makefile +++ b/platforms/flash-1GB/Makefile @@ -7,7 +7,7 @@ $(MAKEDIST_TARGET)-flash-1GB: \ smart-gui gparted kmix msysklogd ntfs-3g \ xorg-drv-input-synaptics \ macbook-tools kdebluetooth4 livecd-tools ndisgtk \ - mambatray + mambatray syslinux memtest86+ # knemo # Localization targets $(MAKEDIST_TARGET)-flash-1GB-en: diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 35a25d3..9857477 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -23,6 +23,7 @@ LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} # configure isolinux boot loader +[ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF PROMPT 0 TIMEOUT 20 From 3d947c5fae540adc70cbae0a1340ca57ef726227 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 10 Jul 2011 17:34:51 +0200 Subject: [PATCH 018/186] Restore nouveau support by removing kernel module blacklisting --- platforms/bootcd/post.inc.sh | 4 ---- platforms/bootusb/post.inc.sh | 4 ---- platforms/flash-1GB/post.inc.sh | 4 ---- platforms/flash-512MB/post.inc.sh | 4 ---- platforms/flash-server/post.inc.sh | 4 ---- platforms/installdvd/post.inc.sh | 4 ---- platforms/livecd-gnome-root/post.inc.sh | 4 ---- platforms/livecd-light-root/post.inc.sh | 4 ---- platforms/livecd-root/post.inc.sh | 4 ---- platforms/livecd/post.inc.sh | 4 ---- platforms/livedvd-root/post.inc.sh | 4 ---- platforms/livedvd/post.inc.sh | 4 ---- platforms/livegames-root/post.inc.sh | 4 ---- platforms/testcd/Makefile.defs | 2 +- platforms/testcd/post.inc.sh | 4 ---- platforms/virtualserver/post.inc.sh | 4 ---- 16 files changed, 1 insertion(+), 61 deletions(-) diff --git a/platforms/bootcd/post.inc.sh b/platforms/bootcd/post.inc.sh index 9d14285..767702d 100644 --- a/platforms/bootcd/post.inc.sh +++ b/platforms/bootcd/post.inc.sh @@ -9,10 +9,6 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} # make initramfs -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index 924fcc3..2206373 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -1,9 +1,5 @@ # make initramfs -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} ## FIXME: ONLY FOR TEST; REMOVE THE FOLLOWING LINE! diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 9857477..bb89507 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -12,10 +12,6 @@ sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # make initramfs chroot $MOUNTDIR depmod -a -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh index 64d7f6d..6f02d55 100644 --- a/platforms/flash-512MB/post.inc.sh +++ b/platforms/flash-512MB/post.inc.sh @@ -11,10 +11,6 @@ sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # make initramfs -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ diff --git a/platforms/flash-server/post.inc.sh b/platforms/flash-server/post.inc.sh index f5eb505..dea0fd2 100644 --- a/platforms/flash-server/post.inc.sh +++ b/platforms/flash-server/post.inc.sh @@ -5,10 +5,6 @@ # make initramfs -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index 3f79690..57e734e 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -9,10 +9,6 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 92f3fc8..05d698f 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -3,10 +3,6 @@ #rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} #rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - # change inittab so it opens tty root shells instead of asking for login # echo "Forcing \`inittab' to open tty root shells with no login..." diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index 6487bdd..0eea421 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -3,10 +3,6 @@ #rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} #rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - # change inittab so it opens tty root shells instead of asking for login # echo "Forcing \`inittab' to open tty root shells with no login..." diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 8c7b698..d52a2b5 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -3,10 +3,6 @@ #rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} #rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - # change inittab so it opens tty root shells instead of asking for login # echo "Forcing \`inittab' to open tty root shells with no login..." diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index 6caa555..fc37b66 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -9,10 +9,6 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 112b7b0..ee146cc 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -3,10 +3,6 @@ #rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} #rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - # change inittab so it opens tty root shells instead of asking for login # echo "Forcing \`inittab' to open tty root shells with no login..." diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index d111ca1..9965060 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -9,10 +9,6 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index 60d99a2..e7b2850 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -3,10 +3,6 @@ #rm -f $MOUNTDIR/etc/rc*.d/{S12random,S13sysinit,S20network,S44acpid,S55sshd} #rm -f $MOUNTDIR/etc/rc*.d/{K00splash,K01acpid,K90random,K96swap,K97network,K97udev,K98localnet} -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - # change inittab so it opens tty root shells instead of asking for login # echo "Forcing \`inittab' to open tty root shells with no login..." diff --git a/platforms/testcd/Makefile.defs b/platforms/testcd/Makefile.defs index 224cbbf..1777bea 100644 --- a/platforms/testcd/Makefile.defs +++ b/platforms/testcd/Makefile.defs @@ -4,4 +4,4 @@ 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-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau +#xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index 5e56ad8..9965060 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -9,10 +9,6 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} -## temporary workaround to disable nouveau driver in favour of nvidia proprietary until -## it gets 3D support -#echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ diff --git a/platforms/virtualserver/post.inc.sh b/platforms/virtualserver/post.inc.sh index 8c0b067..b50e507 100644 --- a/platforms/virtualserver/post.inc.sh +++ b/platforms/virtualserver/post.inc.sh @@ -5,10 +5,6 @@ # make initramfs -# temporary workaround to disable nouveau driver in favour of nvidia proprietary until -# it gets 3D support -echo "blacklist nouveau" > $MOUNTDIR/etc/modprobe.d/nouveau.conf - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ --nomdadmconf --nolvmconf \ From c1441121a9dd7cc7c6463fd60288d0c56345a83b Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 22 Jul 2011 15:59:53 +0200 Subject: [PATCH 019/186] livecd-root, testcd-root: set chromium as default browser --- platforms/livecd-root/Makefile | 8 +++++--- platforms/livecd-root/post.inc.sh | 4 ++-- platforms/testcd-root/Makefile | 8 +++++--- platforms/testcd-root/post.inc.sh | 5 +++++ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index cb85593..a192011 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-livecd-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - firefox compiz \ + chromium compiz \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ compizconfig-settings-manager compiz-fusion-plugins-main \ @@ -33,8 +33,10 @@ $(MAKEDIST_TARGET)-livecd-root: \ $(MAKEDIST_TARGET)-livecd-root-en: \ kde-l10n-en_GB $(MAKEDIST_TARGET)-livecd-root-es: \ - kde-l10n-es firefox-i18n-es-ES + kde-l10n-es +# firefox-i18n-es-ES $(MAKEDIST_TARGET)-livecd-root-it: \ - kde-l10n-it firefox-i18n-it + kde-l10n-it +# firefox-i18n-it #OpenOffice-i18n-it # FIXME: add kdepim diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index d52a2b5..872827a 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -57,8 +57,8 @@ mkdir -p $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ -# configure fireofox as favorite in kde menu -for f in /usr/share/applications/mozilla-firefox3.desktop /opt/kde/share/applications/kaffeine.desktop; do +# 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 diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 938fd65..59a08bc 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -17,7 +17,7 @@ $(MAKEDIST_TARGET)-testcd-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - firefox compiz \ + chromium compiz \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ compizconfig-settings-manager compiz-fusion-plugins-main \ @@ -34,8 +34,10 @@ $(MAKEDIST_TARGET)-testcd-root: \ $(MAKEDIST_TARGET)-testcd-root-en: \ kde-l10n-en_GB $(MAKEDIST_TARGET)-testcd-root-es: \ - kde-l10n-es firefox-i18n-es-ES + kde-l10n-es +# firefox-i18n-es-ES $(MAKEDIST_TARGET)-testcd-root-it: \ - kde-l10n-it firefox-i18n-it + kde-l10n-it +# firefox-i18n-it #OpenOffice-i18n-it # FIXME: add kdepim diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 1dfe2d6..27872ec 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -57,6 +57,11 @@ mkdir -p $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ +# 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 + # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh From 6732a2dece3b06ebff10dfb4df2ab423e0392fd6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 22 Jul 2011 16:11:52 +0200 Subject: [PATCH 020/186] add xorg-drv-input-evdev to xorgdrvinput list --- Makefile.defs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index 9052c69..e20dd2c 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -26,7 +26,7 @@ xorglibglx = xorg-ext-libglx xorg-ext-libglx-nvidia xorg-ext-libglx-nvidia_71xx 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 xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau xorg-drv-video-vboxvideo -xorgdrvinput = xorg-drv-input-mouse xorg-drv-input-keyboard xorg-drv-input-joystick xorg-drv-input-void xorg-drv-input-synaptics xorg-drv-input-vboxmouse xorg-drv-input-evtouch +xorgdrvinput = xorg-drv-input-mouse xorg-drv-input-keyboard xorg-drv-input-joystick xorg-drv-input-void xorg-drv-input-synaptics xorg-drv-input-vboxmouse xorg-drv-input-evtouch xorg-drv-input-evdev libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri From 22daee356c40396174c7a9132ff6015b9e0d450a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 15 Aug 2011 14:00:50 +0200 Subject: [PATCH 021/186] Removed nvidia legacy drivers in favour of nouveau (keep latest release for new chip support) Removed some unused xorg input drivers --- Makefile.defs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index e20dd2c..e99455b 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -4,7 +4,8 @@ libpthread.so.0 = glibc # kernel -kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx +kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia +# kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx kernelsound = kernel-$(KERNEL_EXTRAVER)-sound-backport kernelwireless = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl kernel-$(KERNEL_EXTRAVER)-rtl8192se # kernel-$(KERNEL_EXTRAVER)-atl1e @@ -21,12 +22,18 @@ kernellirc = kernel-$(KERNEL_EXTRAVER)-lirc kernelvboxvideo = kernel-$(KERNEL_EXTRAVER)-vboxvideo # 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 -xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau xorg-drv-video-vboxvideo -xorgdrvinput = xorg-drv-input-mouse xorg-drv-input-keyboard xorg-drv-input-joystick xorg-drv-input-void xorg-drv-input-synaptics xorg-drv-input-vboxmouse xorg-drv-input-evtouch xorg-drv-input-evdev +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 +xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nouveau xorg-drv-video-vboxvideo +# xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx +xorgdrvinput = xorg-drv-input-void xorg-drv-input-synaptics xorg-drv-input-vboxmouse xorg-drv-input-evdev +# xorg-drv-input-mouse xorg-drv-input-keyboard xorg-drv-input-joystick xorg-drv-input-evtouch libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri From 2947ee4f568be036a99d5360ab98adaa32fc5fee Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 22 Aug 2011 19:32:05 +0200 Subject: [PATCH 022/186] livecd-gnome-root: added requirement for desktop-base-gnome --- platforms/livecd-gnome-root/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index abff5e6..bf5be6e 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -10,7 +10,8 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart chromium 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-panel gnome-settings-daemon \ - gnome-sharp gnome-terminal nautilus gnome-themes epiphany evolution gnome-utils gnome-system-log + gnome-sharp gnome-terminal nautilus gnome-themes epiphany evolution gnome-utils gnome-system-log \ + desktop-base-gnome #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok $(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress From a6db324f5a1aad9fe5dc62a200f942164e600e88 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 31 Aug 2011 19:10:02 +0200 Subject: [PATCH 023/186] Makefile.defs: temporary resolve requirement for libgs.so.9 (should be permanently resolved in ghostscript package) --- Makefile.defs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index e99455b..bb2b263 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -100,6 +100,8 @@ perl[Automake__XFile] = automake /usr/sbin/pwconv= pwdutils /usr/sbin/pwunconv= pwdutils +libgs.so.9 = ghostscript + # openoffice openofficei18n = OpenOffice-i18n-$(LANGUAGE) From 05d86fc992ed124add30e02bd64d468c56b1fbc0 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 1 Sep 2011 15:00:19 +0200 Subject: [PATCH 024/186] makedist.sh: configure i18n and kbd settings in /etc/locale.conf and /etc/vconsole.conf as required by dracut --- makedist.inc.sh | 53 ++++++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index 3b4356e..795d928 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -17,6 +17,39 @@ create_fstab "$ROOTDEV" "$ROOTFS" install_rpms "filesystem gzip texinfo ldconfig bash libreadline glibc libncurses initscripts setup coreutils chkconfig libattr libstdc++6" "--nodeps --noorder --noscripts" +[ "$LANGUAGE" ] && { + + [ "$LANGUAGE" = "en" ] && KEYMAP=us || KEYMAP="$LANGUAGE" + + # configure localization + cat > $MOUNTDIR/etc/vconsole.conf << _EOF +KEYMAP=$KEYMAP +FONT=lat9w-16 +FONT_MAP=8859-1_to_uni +FONT_UNIMAP= +_EOF + + # legacy + cat > $MOUNTDIR/etc/sysconfig/keyboard << _EOF +KEYMAP=$KEYMAP.map +XKB_LAYOUT=$KEYMAP +XKB_MODEL=pc105 +XKB_OPTIONS= +_EOF + + [ "$COUNTRY" ] && { + cat > $MOUNTDIR/etc/locale.conf << _EOF +LANG=${LANGUAGE}_${COUNTRY}.UTF-8 +LC_COLLATE=C +_EOF + # legacy + cat > $MOUNTDIR/etc/sysconfig/i18n << _EOF +LANG=${LANGUAGE}_${COUNTRY}.UTF-8 +_EOF + } + +} + # Workaround: avoid a circular dependency with bash INSTALLED="texinfo" @@ -78,26 +111,6 @@ fi # erase_rpm_database clean_rpm_database -[ "$LANGUAGE" ] && { - - [ "$LANGUAGE" = "en" ] && KEYMAP=us || KEYMAP="$LANGUAGE" - - # configure localization - cat > $MOUNTDIR/etc/sysconfig/keyboard << _EOF -KEYMAP=$KEYMAP.map -XKB_LAYOUT=$KEYMAP -XKB_MODEL=pc105 -XKB_OPTIONS= -_EOF - - [ "$COUNTRY" ] && { - cat > $MOUNTDIR/etc/sysconfig/i18n << _EOF -LANG=${LANGUAGE}_${COUNTRY}.UTF-8 -_EOF - } - -} - echo "Deleting unneeded files..." # delete unused localizations # From f7da41a26896199259c0e99acdc053e49628eba6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 24 Sep 2011 17:24:59 +0200 Subject: [PATCH 025/186] livecd-gnome-root: don't create a gtkrc as now QtCurve-Gtk2 will be installed --- platforms/livecd-gnome-root/post.inc.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 05d698f..8e77a13 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -20,11 +20,12 @@ AutomaticLoginEnable=true AutomaticLogin=root _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 +## 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 From f018b3f359e12938640f9a19d29fe700fabbce15 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 24 Sep 2011 17:26:49 +0200 Subject: [PATCH 026/186] Don't install eciadsl package --- Makefile | 2 +- platforms/sdk-root/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 88dda39..40cfd08 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-commontools: sysvinit util-linux module-init-tools \ 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 xinetd less \ - reiserfsprogs reiser4progs ppp b43-tools mdadm eciadsl usb-modeswitch \ + reiserfsprogs reiser4progs ppp b43-tools mdadm usb-modeswitch \ ndiswrapper slmodem usbutils ftp telnet eject bluez \ tcpdump pcmcia-utils xdg-utils unionfs_utils iproute $(MAKEDIST_TARGET)-firmwares \ $(MAKEDIST_TARGET)-devel diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile index f48eb7d..fbb7287 100644 --- a/platforms/sdk-root/Makefile +++ b/platforms/sdk-root/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ # openmamba-devel #sudo $(MAKEDIST_TARGET)-sdk-root-missing: wpa_supplicant dosfstools cups vim postplug ipw2100-firmware ipw2200-firmware zd1211-firmware \ - rt2501-firmware rt2870-firmware b43-tools r5u87x-firmware mdadm eciadsl \ + rt2501-firmware rt2870-firmware b43-tools r5u87x-firmware mdadm \ ndiswrapper slmodem unionfs_utils nfs-utils mbr $(MAKEDIST_TARGET)-sdk-root-en: $(MAKEDIST_TARGET)-sdk-root-it: From 3bf7cd9c23ca73c01c7acf1fbd0cd169470647ac Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 25 Sep 2011 14:44:07 +0200 Subject: [PATCH 027/186] livecd-gnome-root: fix gconftool-2 schema installation in chrooted environment --- platforms/livecd-gnome-root/post.inc.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 8e77a13..9e642d8 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -73,6 +73,10 @@ rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* # install all GConf rules -GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` chroot $MOUNTDIR gconftool-2 --makefile-install-rule /etc/gconf/schemas/* >/dev/null +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 prelink From 9388e327012baab3a5c742225a2eba5f26a803a4 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 25 Sep 2011 17:02:18 +0200 Subject: [PATCH 028/186] firefox -> chromium migration for more targets Define packagekitgui virtual requirement as kpackagekit or gnome-packagekit according to platform --- Makefile.defs | 2 ++ platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-gnome-root/Makefile.defs | 1 + platforms/livecd-light-root/Makefile | 2 +- platforms/livecd-light-root/Makefile.defs | 1 + platforms/livedvd-root/Makefile | 8 +++++--- platforms/livedvd-root/post.inc.sh | 2 +- platforms/livegames-root/Makefile | 2 +- platforms/livegames-root/post.inc.sh | 2 +- 9 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index bb2b263..439e6dd 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -108,6 +108,8 @@ openofficei18n = OpenOffice-i18n-$(LANGUAGE) # vpn networkmanagervpnplugin = NetworkManager-vpnc NetworkManager-pptp +packagekitgui = kpackagekit + ifdef PLATFORM include $(TARGETSDIR)/$(TARGET)/platforms/$(PLATFORM)/Makefile.defs endif diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index bf5be6e..4f744e3 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -23,7 +23,7 @@ $(MAKEDIST_TARGET)-livecd-gnome-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - firefox compiz \ + compiz \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ compizconfig-settings-manager compiz-fusion-plugins-main \ diff --git a/platforms/livecd-gnome-root/Makefile.defs b/platforms/livecd-gnome-root/Makefile.defs index e69de29..d6baaba 100644 --- a/platforms/livecd-gnome-root/Makefile.defs +++ b/platforms/livecd-gnome-root/Makefile.defs @@ -0,0 +1 @@ +packagekitgui = gnome-packagekit diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index b523315..363ba1c 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -18,7 +18,7 @@ $(MAKEDIST_TARGET)-livecd-light-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - firefox compiz \ + chromium compiz \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ compizconfig-settings-manager compiz-fusion-plugins-main \ diff --git a/platforms/livecd-light-root/Makefile.defs b/platforms/livecd-light-root/Makefile.defs index e69de29..d6baaba 100644 --- a/platforms/livecd-light-root/Makefile.defs +++ b/platforms/livecd-light-root/Makefile.defs @@ -0,0 +1 @@ +packagekitgui = gnome-packagekit diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 5601186..515caae 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -17,7 +17,7 @@ $(MAKEDIST_TARGET)-livedvd-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - firefox compiz \ + chromium compiz \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ gnome-device-manager \ @@ -34,9 +34,11 @@ $(MAKEDIST_TARGET)-livedvd-root: \ $(MAKEDIST_TARGET)-livedvd-root-en: \ kde-l10n-en_GB $(MAKEDIST_TARGET)-livedvd-root-es: \ - kde-l10n-es firefox-i18n-es-ES + kde-l10n-es +# firefox-i18n-es-ES $(MAKEDIST_TARGET)-livedvd-root-it: \ - kde-l10n-it firefox-i18n-it + kde-l10n-it +# firefox-i18n-it #OpenOffice-i18n-it # FIXME: add kdepim syslog-ng: diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index ee146cc..28d5263 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -59,7 +59,7 @@ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/D cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ # configure favorites in kde menu -for f in /usr/share/applications/mozilla-firefox3.desktop \ +for f in /usr/share/applications/chromium-devel.desktop \ /opt/kde/share/applications/kaffeine.desktop /opt/kde/share/applications/amarok.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index ccf8c0d..a15eb03 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-livegames-root: \ xorg-drv-input-synaptics \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g samba-server \ - firefox compiz compiz-fusion-plugins-main \ + chromium compiz compiz-fusion-plugins-main \ compiz-fusion-plugins-extra compizconfig-settings-manager \ macbook-tools livecd-tools \ kdebluetooth Mesa-tools driconf \ diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index e7b2850..a4c9388 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -58,7 +58,7 @@ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/D cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ # configure favorites in kde menu -for f in /usr/share/applications/mozilla-firefox3.desktop; do +for f in /usr/share/applications/chromium-devel.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done From 0e3743b49472dee3bd7e50e03bff0df073f59ca7 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 5 Oct 2011 15:47:02 +0200 Subject: [PATCH 029/186] sdk-root: add a check to avoid running kernel configuration code if kernel is not installed --- platforms/sdk-root/post.inc.sh | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/platforms/sdk-root/post.inc.sh b/platforms/sdk-root/post.inc.sh index 83aaa11..777d93c 100644 --- a/platforms/sdk-root/post.inc.sh +++ b/platforms/sdk-root/post.inc.sh @@ -82,17 +82,19 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp /usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# update module dependencies -chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} +if [ ! "$KERNEL_IGNORE" ]; then + # update module dependencies + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} -# create universal initramfs -LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 reiserfs reiser4" \ - --nomdadmconf --nolvmconf \ - /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ - ${KERNEL_MAJVER}${KERNEL_EXTRAVER} + # create universal initramfs + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ + ${KERNEL_MAJVER}${KERNEL_EXTRAVER} +fi # don't remove static qemu for this platform QEMU_COPIED_FOR_INST=0 -prelink +#prelink From 43ad5f72f2f5d2193450e10f7b911216daff38ae Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 5 Oct 2011 15:48:19 +0200 Subject: [PATCH 030/186] livecd-root, livecd-gnome-root, livecd-light-root: added code to remove some documentation files to save space on CDs --- platforms/livecd-gnome-root/post.inc.sh | 5 +++++ platforms/livecd-light-root/post.inc.sh | 5 +++++ platforms/livecd-root/post.inc.sh | 7 ++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 9e642d8..a43aab2 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -79,4 +79,9 @@ _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-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index 0eea421..a9f3e11 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -61,4 +61,9 @@ rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* # remove failsafe image to save space for livecd rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +# 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/post.inc.sh b/platforms/livecd-root/post.inc.sh index 872827a..808da58 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -51,7 +51,7 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot -# installer icon on root desktop +# installer icon on root desktop # FIXME: move this somewhere else mkdir -p $MOUNTDIR/root/Desktop/ cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ @@ -75,4 +75,9 @@ rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* # remove failsafe image to save space for livecd rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +# 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 From 6588c96653e60aa4ae8578e0641c8de8ad22b667 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 5 Oct 2011 15:50:28 +0200 Subject: [PATCH 031/186] bootusb, livecd, livedvd: set default vga=792 mode (1024x768) in extlinux configuration --- platforms/bootusb/post.inc.sh | 2 +- platforms/livecd/post.inc.sh | 2 +- platforms/livedvd/post.inc.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index 2206373..969c10f 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -27,7 +27,7 @@ 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 + append initrd=/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash vga=792 LABEL vga1024 MENU LABEL VGA 1024x768 (no modeset) kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index fc37b66..20b1914 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -37,7 +37,7 @@ 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 + append initrd=/boot/initrmfs.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 LABEL vga1024 MENU LABEL VGA 1024x768 (no modeset) kernel /boot/vmlinuz diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index 9965060..d463028 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -37,7 +37,7 @@ 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 + append initrd=/boot/initrmfs.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 LABEL vga1024 MENU LABEL VGA 1024x768 (no modeset) kernel /boot/vmlinuz From e947cb52c6b08511c3a44e8ec3bb47030df2e2cb Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 6 Oct 2011 02:22:35 +0200 Subject: [PATCH 032/186] Configure live targets for autologin as 'liveuser' user instead of root --- Makefile.defs | 4 ++-- platforms/flash-1GB/post.inc.sh | 12 +----------- platforms/livecd-gnome-root/post.inc.sh | 8 +------- platforms/livecd-light-root/post.inc.sh | 8 +------- platforms/livecd-root/post.inc.sh | 9 +-------- platforms/livedvd-root/post.inc.sh | 11 +---------- platforms/livegames-root/post.inc.sh | 10 +--------- platforms/livestudio-root/post.inc.sh | 8 +------- platforms/testcd-root/post.inc.sh | 10 +--------- 9 files changed, 10 insertions(+), 70 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 439e6dd..d84b5cf 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -30,8 +30,8 @@ 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 -xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nouveau xorg-drv-video-vboxvideo -# xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx +xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nouveau +# xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-vboxvideo xorgdrvinput = xorg-drv-input-void xorg-drv-input-synaptics xorg-drv-input-vboxmouse xorg-drv-input-evdev # xorg-drv-input-mouse xorg-drv-input-keyboard xorg-drv-input-joystick xorg-drv-input-evtouch libGL.so.1 = libGL-Mesa-dri diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index bb89507..8e01a4c 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -90,15 +90,8 @@ if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then $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=root|' \ + sed -i 's|[#]AutoLoginUser=.*|AutoLoginUser=liveuser|' \ $MOUNTDIR/opt/kde/share/config/kdm/kdmrc - sed -i 's|[#]AllowRootLogin=.*|AllowRootLogin=root|' \ - $MOUNTDIR/opt/kde/share/config/kdm/kdmrc - -# installer icon on root desktop -# FIXME: move this somewhere else -mkdir -p $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` @@ -108,6 +101,3 @@ rm -f $MOUNTDIR/tmp/sounddb.sh [ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` prelink - -#echo "Performing binaries prelinking..." -#chroot $MOUNTDIR /bin/bash -c "PRELINK_NOINITCHECK=1 /etc/cron.daily/prelink" diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index a43aab2..89d9cd7 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -17,7 +17,7 @@ sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab cat > $MOUNTDIR/etc/gdm/custom.conf << _EOF [daemon] AutomaticLoginEnable=true -AutomaticLogin=root +AutomaticLogin=liveuser _EOF ## provide a basilar gtkrc (to be improved) @@ -53,12 +53,6 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot -# installer icon on root desktop -# FIXME: move this somewhere else -mkdir -p $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ - # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index a9f3e11..bab1b21 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -14,7 +14,7 @@ sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab # configure LXDM for autologin # -sed -i "s|# autologin.*|autologin=root|" $MOUNTDIR/etc/lxdm/lxdm.conf +sed -i "s|# autologin.*|autologin=liveuser|" $MOUNTDIR/etc/lxdm/lxdm.conf # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri @@ -42,12 +42,6 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot -# installer icon on root desktop -# FIXME: move this somewhere else -mkdir -p $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ - # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 808da58..a29ed0f 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -19,9 +19,7 @@ if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then $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=root|' \ - $MOUNTDIR/opt/kde/share/config/kdm/kdmrc - sed -i 's|[#]*AllowRootLogin=.*|AllowRootLogin=true|' \ + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ $MOUNTDIR/opt/kde/share/config/kdm/kdmrc fi @@ -51,11 +49,6 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot -# installer icon on root desktop -# FIXME: move this somewhere else -mkdir -p $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applications/kaffeine.desktop; do diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 28d5263..3a80b32 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -19,11 +19,8 @@ if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then $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=root|' \ + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ $MOUNTDIR/opt/kde/share/config/kdm/kdmrc - sed -i 's|[#]*AllowRootLogin=.*|AllowRootLogin=true|' \ - $MOUNTDIR/opt/kde/share/config/kdm/kdmrc - fi # FIXME: ensure alternatives are correclty set @@ -52,12 +49,6 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot -# installer icon on root desktop -# FIXME: move this somewhere else -mkdir -p $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ - # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop \ /opt/kde/share/applications/kaffeine.desktop /opt/kde/share/applications/amarok.desktop; do diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index a4c9388..7d27432 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -19,9 +19,7 @@ if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then $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=root|' \ - $MOUNTDIR/opt/kde/share/config/kdm/kdmrc - sed -i 's|[#]*AllowRootLogin=.*|AllowRootLogin=true|' \ + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ $MOUNTDIR/opt/kde/share/config/kdm/kdmrc fi @@ -51,12 +49,6 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot -# installer icon on root desktop -# FIXME: move this somewhere else -mkdir -p $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ - # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f diff --git a/platforms/livestudio-root/post.inc.sh b/platforms/livestudio-root/post.inc.sh index 51ab9f8..2df90d6 100644 --- a/platforms/livestudio-root/post.inc.sh +++ b/platforms/livestudio-root/post.inc.sh @@ -19,7 +19,7 @@ if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then $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=root|' \ + sed -i 's|[#]AutoLoginUser=.*|AutoLoginUser=liveuser|' \ $MOUNTDIR/opt/kde/share/config/kdm/kdmrc # FIXME: move to /etc some configuration files and make appropriate symlinks @@ -53,12 +53,6 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot -# installer icon on root desktop -# FIXME: move this somewhere else -mkdir -p $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ - # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 27872ec..2768a84 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -19,9 +19,7 @@ if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then $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=root|' \ - $MOUNTDIR/opt/kde/share/config/kdm/kdmrc - sed -i 's|[#]*AllowRootLogin=.*|AllowRootLogin=true|' \ + sed -i 's|[#]*AutoLoginUser=.*|AutoLoginUser=liveuser|' \ $MOUNTDIR/opt/kde/share/config/kdm/kdmrc fi @@ -51,12 +49,6 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot -# installer icon on root desktop -# FIXME: move this somewhere else -mkdir -p $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-installer.desktop $MOUNTDIR/root/Desktop/ -cp $MOUNTDIR/usr/share/applications/openmamba-bootrecover.desktop $MOUNTDIR/root/Desktop/ - # 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 From d0725f84829d50d369bd7207b6ddc445e9ca6543 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 6 Oct 2011 14:54:45 +0200 Subject: [PATCH 033/186] bootusb: added dual kernel support (mamba, mamba-64GB) --- makedist.inc.sh | 8 ++- platforms/bootusb/post.inc.sh | 80 ++++++++++++++++++----------- platforms/bootusb/settings.inc | 2 + platforms/livedvd-root/settings.inc | 2 + 4 files changed, 60 insertions(+), 32 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index 795d928..9031280 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -71,7 +71,9 @@ install_rpms_by_target "Installing base packages for ${MAKEDIST_TARGET} target" pre_install_rpms if [ ! "$KERNEL_IGNORE" ]; then - install_kernel ${KERNEL_EXTRAVER}${KERNEL_PLATFORM} "${KERNEL_ADDITIONAL}" + for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + install_kernel ${K}${KERNEL_PLATFORM} "${KERNEL_ADDITIONAL}" + done fi # set system hostname and domain @@ -89,7 +91,9 @@ install_rpms_by_target "Installing ${PLATFORM} platform packages" ${MAKEDIST_TAR [ "$ARCH" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for arch $ARCH" ${MAKEDIST_TARGET}-${PLATFORM}-${ARCH} "${RPMEXTRAARGS}" if [ ! "$KERNEL_IGNORE" ]; then - update_modules_dependencies ${KERNEL_VER}${KERNEL_EXTRAVER} + for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + update_modules_dependencies ${KERNEL_VER}${K} + done fi if [ "$APPLICATION_TARGET" ]; then diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index 969c10f..0b1c286 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -1,16 +1,12 @@ # make initramfs - -chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} - -## FIXME: ONLY FOR TEST; REMOVE THE FOLLOWING LINE! -#cp /tmp/unionfs.ko $MOUNTDIR/lib/modules/${KERNEL_MAJVER}${KERNEL_EXTRAVER}/kernel/fs/unionfs/unionfs.ko -#cp /tmp/squashfs.ko $MOUNTDIR/lib/modules/${KERNEL_MAJVER}${KERNEL_EXTRAVER}/kernel/fs/squashfs/squashfs.ko - -LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ - --nomdadmconf --nolvmconf \ - /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ - ${KERNEL_MAJVER}${KERNEL_EXTRAVER} +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + ${KERNEL_MAJVER}${K} +done # add buildinfo buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" @@ -20,26 +16,50 @@ cat > $MOUNTDIR/boot/extlinux.conf << _EOF PROMPT 0 TIMEOUT 20 DEFAULT vesamenu.c32 -MENU TITLE ${buildinfo} (${KERNEL_MAJVER}${KERNEL_EXTRAVER} kernel) +MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) MENU BACKGROUND openmamba.png MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std +_EOF -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=792 -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 rdshell debug +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 @@ -62,7 +82,7 @@ cp -a $MOUNTDIR/boot $MOUNTDIR2 cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/ # copy static files for specific platform -[ -e $TARGETDIR/platforms/$PLATFORM/root ] && +[ -e $TARGETDIR/platforms/$PLATFORM/root ] && cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ # copy localized static files for specific platform diff --git a/platforms/bootusb/settings.inc b/platforms/bootusb/settings.inc index 3867757..9834c2c 100644 --- a/platforms/bootusb/settings.inc +++ b/platforms/bootusb/settings.inc @@ -6,6 +6,8 @@ KERNEL_EXTRAVER=mamba KERNEL_PLATFORM="" #KERNEL_ADDITIONAL="extramodules wireless sound" +KERNEL_MORE_EXTRAVER=mamba-64GB + RPMEXTRAARGS="--excludedocs" TARGET_HOSTNAME=openmamba-bootusb diff --git a/platforms/livedvd-root/settings.inc b/platforms/livedvd-root/settings.inc index 73549fa..561ba4f 100644 --- a/platforms/livedvd-root/settings.inc +++ b/platforms/livedvd-root/settings.inc @@ -6,6 +6,8 @@ KERNEL_EXTRAVER=mamba KERNEL_PLATFORM="" #KERNEL_ADDITIONAL="extramodules sound" +KERNEL_MORE_EXTRAVER=mamba-64GB + TARGET_HOSTNAME=openmamba-livedvd ROOTDEV= ROOTFS= From 3fba81a396aecfdd8f7209063f9438a2a5d5c08f Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 10 Oct 2011 14:29:46 +0200 Subject: [PATCH 034/186] livecd-gnome: don't install epiphany, chromium is the predefined browser --- platforms/livecd-gnome-root/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 4f744e3..4f19ba2 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -10,7 +10,7 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart chromium 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-panel gnome-settings-daemon \ - gnome-sharp gnome-terminal nautilus gnome-themes epiphany evolution gnome-utils gnome-system-log \ + gnome-sharp gnome-terminal nautilus gnome-themes evolution gnome-utils gnome-system-log \ desktop-base-gnome #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok From a0869147199b91170c6a1ba26c6ee8524d004c1d Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 10 Oct 2011 19:47:30 +0200 Subject: [PATCH 035/186] livecd-gnome-root, livecd-light-root, sdk-root: don't install openmamba-devel --- platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-light-root/Makefile | 2 +- platforms/sdk-root/Makefile | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 4f19ba2..b013e48 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -3,7 +3,7 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ ppp minicom xinetd 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 \ - openmamba-devel timezone sudo openobex liblame expect prelink NetworkManager \ + timezone sudo openobex liblame expect prelink NetworkManager \ ModemManager cnetworkmanager 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 \ diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index 363ba1c..f735d43 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -2,7 +2,7 @@ $(MAKEDIST_TARGET)-livecd-light: openssh-server usbutils wireless_tools parted i ppp minicom xinetd 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 openmamba-devel timezone sudo \ + lxde timezone sudo \ openobex liblame expect prelink NetworkManager ModemManager cnetworkmanager \ network-manager-applet Mesa-tools \ x11vnc xorg-server xorg-drv-video-fbdev xorg-drv-input-evdev xorg-drv-input-keyboard \ diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile index fbb7287..3970573 100644 --- a/platforms/sdk-root/Makefile +++ b/platforms/sdk-root/Makefile @@ -10,11 +10,9 @@ $(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ man iptables iputils xinetd less mtd-utils bluez \ reiserfsprogs reiser4progs ppp usbutils ftp telnet eject \ tcpdump pcmcia-utils xdg-utils iproute syslog-ng \ - rpm autospec autodist nfs-utils patch sudo smart openmamba-devel \ + rpm autospec autodist nfs-utils patch sudo smart \ pkgconfig diffutils autoconf automake libtool gettext xorg-server \ - tightvnc-server lxde midori -# openmamba-devel -#sudo + tightvnc-server lxde midori $(MAKEDIST_TARGET)-devel $(MAKEDIST_TARGET)-sdk-root-missing: wpa_supplicant dosfstools cups vim postplug ipw2100-firmware ipw2200-firmware zd1211-firmware \ rt2501-firmware rt2870-firmware b43-tools r5u87x-firmware mdadm \ ndiswrapper slmodem unionfs_utils nfs-utils mbr From 584a2e6930877137625ca89551bd835215525d5b Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 12 Oct 2011 15:13:18 +0200 Subject: [PATCH 036/186] Replace ksnapshot4 with ksnapshot --- platforms/livecd-root/Makefile | 2 +- platforms/livedvd-root/Makefile | 2 +- platforms/livegames-root/Makefile | 2 +- platforms/livestudio-root/Makefile | 2 +- platforms/testcd-root/Makefile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index a192011..7ad3960 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -3,7 +3,7 @@ $(MAKEDIST_TARGET)-livecd-kde3: kdebase kmix \ kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ amarok kaffeine $(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot4 okular desktop-base-kde4 kmix4 \ + ksnapshot okular desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ kaffeine libqt4-sqlite kate #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 515caae..28ead13 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -3,7 +3,7 @@ $(MAKEDIST_TARGET)-livedvd-kde3: kdebase kmix \ kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ amarok kaffeine $(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ + ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k amarok lisa4 kwalletmanager4 \ kaffeine libqt4-sqlite kate # knemo diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index a15eb03..7fe8aaa 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -4,7 +4,7 @@ $(MAKEDIST_TARGET)-livegames-kde3: kdebase kmix \ kruler kuickshow kview kcolorchooser amarok $(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ + ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k kate \ kruler4 gwenview4 kamera kcolorchooser4 lisa4 kwalletmanager4 libqt4-sqlite diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile index 09675a6..f142382 100644 --- a/platforms/livestudio-root/Makefile +++ b/platforms/livestudio-root/Makefile @@ -4,7 +4,7 @@ $(MAKEDIST_TARGET)-livestudio-kde3: kdebase kmix \ kruler kuickshow kview kcolorchooser amarok $(MAKEDIST_TARGET)-livestudio-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ + ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k kate \ kruler4 gwenview4 kamera kcolorchooser4 amarok lisa4 kwalletmanager4 libqt4-sqlite #kitchensync4 diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 59a08bc..8b27cb9 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -3,7 +3,7 @@ $(MAKEDIST_TARGET)-testcd-kde3: kdebase kmix \ kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ amarok kaffeine $(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot4 okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ + ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ kaffeine libqt4-sqlite kate # knemo kdeplasma-addons From 02efa027ca6b4abcf599d7385fe2fbde9aa0686e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 17 Oct 2011 10:00:10 +0200 Subject: [PATCH 037/186] Remove xorg-drv-input-vboxmouse from xorg input drivers list --- Makefile.defs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index d84b5cf..b7b5ddc 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -32,8 +32,8 @@ libnvidia-tls.so.1 = xorg-drv-video-nvidia # xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nouveau # xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-vboxvideo -xorgdrvinput = xorg-drv-input-void xorg-drv-input-synaptics xorg-drv-input-vboxmouse xorg-drv-input-evdev -# xorg-drv-input-mouse xorg-drv-input-keyboard xorg-drv-input-joystick xorg-drv-input-evtouch +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 libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri From 4653f120becad0fc17186ef31ff20d7b7fe8d332 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 19 Oct 2011 13:03:40 +0200 Subject: [PATCH 038/186] livedvd: dual kernel support --- platforms/livedvd/post.inc.sh | 92 +++++++++++++++++++++++----------- platforms/livedvd/settings.inc | 3 ++ 2 files changed, 67 insertions(+), 28 deletions(-) diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index d463028..0d617ba 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -7,20 +7,24 @@ [ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux -chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + ${KERNEL_MAJVER}${K} -LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ - --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}${K}.img.gz \ + $MOUNTDIR2/boot/initrd${ISOID}.gz -# 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}${K} \ + $MOUNTDIR2/boot/vmlinuz${ISOID} -cp $MOUNTDIR/boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} \ - $MOUNTDIR2/boot/vmlinuz + ISOID=$(($ISOID + 1)) +done # add buildinfo buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" @@ -30,26 +34,58 @@ cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF PROMPT 0 TIMEOUT 20 DEFAULT vesamenu.c32 -MENU TITLE ${buildinfo} (${KERNEL_MAJVER}${KERNEL_EXTRAVER} kernel) +MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) MENU BACKGROUND openmamba.png MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std +_EOF -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=792 -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 nomodeset +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/extlinux.conf +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/extlinux.conf +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 diff --git a/platforms/livedvd/settings.inc b/platforms/livedvd/settings.inc index 4dbc884..7912a70 100644 --- a/platforms/livedvd/settings.inc +++ b/platforms/livedvd/settings.inc @@ -4,6 +4,9 @@ DISTROMATIC=off KERNEL_EXTRAVER=mamba KERNEL_PLATFORM="" #KERNEL_ADDITIONAL="extramodules" + +KERNEL_MORE_EXTRAVER=mamba-64GB + [ "$SUBPLATFORM" ] || { SUBPLATFORM="livedvd-root" PRODUCT_NAME="livedvd" From 675849d2d245fd7154e92de7471392bccbd614d8 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 19 Oct 2011 13:11:02 +0200 Subject: [PATCH 039/186] livecd: add dual kernel support in post.sh script (but not currently enabled for livecd-root target) --- platforms/bootusb/initramfs-include.sh | 96 -------------------------- platforms/livecd/post.inc.sh | 92 ++++++++++++++++-------- 2 files changed, 64 insertions(+), 124 deletions(-) delete mode 100644 platforms/bootusb/initramfs-include.sh diff --git a/platforms/bootusb/initramfs-include.sh b/platforms/bootusb/initramfs-include.sh deleted file mode 100644 index c0f4ac5..0000000 --- a/platforms/bootusb/initramfs-include.sh +++ /dev/null @@ -1,96 +0,0 @@ -FOUND_ISO= -#RAMSIZE=100000 -o "size=${RAMSIZE}k" - -msg ":: Creating new root ramdisk (dinamic size=${RAMSIZE}k) on /dev/shm..." -mkdir -p /flash /cdrom /squashfs /newroot - -# -# findiso(): looks for ISO9660 images stored in flash root -# -findiso(){ - msg ":: Looking for openmamba ISO cdrom images" - - # try removable devices only - for i in /flash/openmamba-*.iso; do - /bin/losetup /dev/loop0 $i - if mount -r -t iso9660 /dev/loop0 /cdrom >/dev/null 2>&1; then - if test -r /cdrom/rootfs.compressed; then - msg ":: Valid ISO image $i found..." - FOUND_ISO="$i" - return 0 - fi - umount /cdrom - fi - /bin/losetup /dev/loop0 - done - return 1 -} - -#/sbin/splash_util -c repaint ${splash_add} -t default --mesg="Looking for cdrom device" --progress="4444" - -while true; do - msg ":: root device is ${root}" - if ! mount -t ext3 ${root} /flash >/dev/null 2>&1; then - if ! mount -t ext2 ${root} /flash >/dev/null 2>&1; then - err ":: Unable to mount USB rootfs. Supported filesystems are ext2 and ext3." - fi - fi - findiso - if [ "$FOUND_ISO" ]; then -# /sbin/splash_util -c repaint ${splash_add} -t default --mesg="Mounting compressed filesystem" --progress="5555" - msg ":: Mounting compressed filesystem" - /bin/losetup /dev/loop1 /cdrom/rootfs.compressed - mount -r -t squashfs /dev/loop1 /squashfs - - if [ "${unionfs}" != "off" -a "${unionfs}" != "OFF" ]; then - - [ "${unionfs}" = "reset" ] && { - msg ":: Resetting unionfs data in rwroot" - mkdir -p /flash/old - mv /flash/rwroot /flash/old/ - } - msg ":: Mounting unionfs" - mkdir -p /flash/rwroot - mount -t unionfs -o dirs=/flash/rwroot=rw:/squashfs=ro unionfs /newroot - mkdir -p /newroot/squashfs /newroot/flash /newroot/cdrom - mount -n -o move /squashfs /newroot/squashfs - mount -n -o move /flash /newroot/flash - mount -n -o move /cdrom /newroot/cdrom - else - msg ":: Creating directories and symlinks on ramdisk..." - /bin/mount -t tmpfs /dev/shm /newroot - mkdir -p \ - /newroot/tmp /newroot/proc /newroot/sys \ - /newroot/initrd /newroot/mnt /newroot/media \ - /newroot/oldroot /newroot/squashfs /newroot/flash \ - /newroot/cdrom - mount -n -o move /squashfs /newroot/squashfs - mount -n -o move /flash /newroot/flash - mount -n -o move /cdrom /newroot/cdrom - 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 / - fi - - # 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} - msg ":: Could not run init; opening a command prompt." - /bin/sh.shared - else - msg ":: Could not find a valid ISO image; opening a command prompt." - /bin/sh.shared - fi -done diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index 20b1914..0bf2bd2 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -7,20 +7,24 @@ [ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux -chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + ${KERNEL_MAJVER}${K} -LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ - --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}${K}.img.gz \ + $MOUNTDIR2/boot/initrd${ISOID}.gz -# 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}${K} \ + $MOUNTDIR2/boot/vmlinuz${ISOID} -cp $MOUNTDIR/boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} \ - $MOUNTDIR2/boot/vmlinuz + ISOID=$(($ISOID + 1)) +done # add buildinfo buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" @@ -30,26 +34,58 @@ cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF PROMPT 0 TIMEOUT 20 DEFAULT vesamenu.c32 -MENU TITLE ${buildinfo} (${KERNEL_MAJVER}${KERNEL_EXTRAVER} kernel) +MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) MENU BACKGROUND openmamba.png MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std +_EOF -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=792 -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 +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.conf +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.conf +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 From 5549af08935949fe1a8f5672ff3c84c19d36f1c6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 19 Oct 2011 13:12:04 +0200 Subject: [PATCH 040/186] livecd-light-root: enable dual kernel installation (mamba, mamba-64GB) --- platforms/livecd-light-root/settings.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/platforms/livecd-light-root/settings.inc b/platforms/livecd-light-root/settings.inc index 8113dff..13f939a 100644 --- a/platforms/livecd-light-root/settings.inc +++ b/platforms/livecd-light-root/settings.inc @@ -6,6 +6,8 @@ KERNEL_EXTRAVER=mamba KERNEL_PLATFORM="" #KERNEL_ADDITIONAL="extramodules" +KERNEL_MORE_EXTRAVER=mamba-64GB + TARGET_HOSTNAME=openmamba-light ROOTDEV= ROOTFS= From 8e76f16897ff185329c203da05b53cbbf0fe6b0f Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 19 Oct 2011 13:13:06 +0200 Subject: [PATCH 041/186] livedvd: fix incorrect references to isolinux.conf (have to be extlinux.conf) --- platforms/livedvd/post.inc.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index 0d617ba..0bf2bd2 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -50,7 +50,7 @@ _EOF ISOID=$(($ISOID + 1)) done -echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/extlinux.conf +echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux.conf ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF @@ -73,7 +73,7 @@ _EOF ISOID=$(($ISOID + 1)) done -echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/extlinux.conf +echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux.conf ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF From f95185e746a78cc6b89dfa2cec87b55fcbf9f7e8 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 19 Oct 2011 13:18:14 +0200 Subject: [PATCH 042/186] Fix other incorrect references to isolinux.cfg --- platforms/livecd/post.inc.sh | 4 ++-- platforms/livedvd/post.inc.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index 0bf2bd2..cb8ba54 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -50,7 +50,7 @@ _EOF ISOID=$(($ISOID + 1)) done -echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux.conf +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 @@ -73,7 +73,7 @@ _EOF ISOID=$(($ISOID + 1)) done -echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux.conf +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 diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index 0bf2bd2..be7218f 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -50,7 +50,7 @@ _EOF ISOID=$(($ISOID + 1)) done -echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux.conf +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 @@ -64,7 +64,7 @@ done ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do - cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF + cat >> $MOUNTDIR2/boot/isolinux/isolinux/isolinux.cfg << _EOF LABEL vga1024-${KERNEL_MAJVER}${K} MENU LABEL VGA 1024x768 no modeset (${KERNEL_MAJVER}${K}) kernel /boot/vmlinuz${ISOID} @@ -73,7 +73,7 @@ _EOF ISOID=$(($ISOID + 1)) done -echo "MENU SEPARATOR" >> $MOUNTDIR2/boot/isolinux.conf +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 From 6667a008eb1d88bff67fe15020b8ea65772dcc55 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 19 Oct 2011 14:03:47 +0200 Subject: [PATCH 043/186] Yet some other fixes/port from openmamba-milestone2 for dual kernel support --- platforms/livedvd-root/post.inc.sh | 16 +++++++++------- platforms/livedvd/post.inc.sh | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 3a80b32..1a6b496 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -56,13 +56,15 @@ for f in /usr/share/applications/chromium-devel.desktop \ done # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) -[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` -echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh -chroot $MOUNTDIR sh /tmp/sounddb.sh -rm -f $MOUNTDIR/tmp/sounddb.sh -[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${K} $MOUNTDIR/lib/modules/`uname -r` + echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh + chroot $MOUNTDIR sh /tmp/sounddb.sh + rm -f $MOUNTDIR/tmp/sounddb.sh + [ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` -# remove unused initramfs generated by kernel -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* + # remove unused initramfs generated by kernel + rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img* +done prelink diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index be7218f..cb8ba54 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -64,7 +64,7 @@ done ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do - cat >> $MOUNTDIR2/boot/isolinux/isolinux/isolinux.cfg << _EOF + 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} From 876514c2b9dcb56aa02c9b19ad7185c8e65c1334 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 20 Oct 2011 15:31:05 +0200 Subject: [PATCH 044/186] Makefile.defs: add choices for libjli.so --- Makefile.defs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index b7b5ddc..66156be 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -48,6 +48,8 @@ libjawt.so = libgcj4 libawt.so = libgcj4 libjava.so = sun-java-runtime libjava_crw_demo.so = sun-java-runtime +libjli.so = sun-java-runtime +libjli.so[SUNWprivate_1.1] = sun-java-runtime libmawt.so = sun-java-runtime libnet.so = sun-java-runtime libverify.so = sun-java-runtime From f2801ec9a40a83b8cec37c784601ae29d7aefd16 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 20 Oct 2011 18:55:25 +0200 Subject: [PATCH 045/186] Makefile.defs: added preferences for cdrkit --- Makefile.defs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 66156be..2e60970 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -101,6 +101,9 @@ perl[Automake__XFile] = automake /usr/sbin/usermod= pwdutils /usr/sbin/pwconv= pwdutils /usr/sbin/pwunconv= pwdutils +/usr/bin/cdrecord = cdrkit +/usr/bin/mkisofs = cdrkit +/usr/bin/readcd = cdrkit libgs.so.9 = ghostscript From 0fd58279d79a932fa62c361f7b02673fd0570863 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 20 Oct 2011 19:07:41 +0200 Subject: [PATCH 046/186] Migrate Makefiles from OpenOffice to libreoffice --- Makefile | 12 +++--------- Makefile.defs | 4 ++-- platforms/livecd-gnome-root/Makefile | 4 +--- platforms/livecd-light-root/Makefile | 2 +- platforms/livecd-root/Makefile | 3 +-- platforms/livedvd-root/Makefile | 5 ++--- platforms/testcd-root/Makefile | 3 +-- 7 files changed, 11 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index 40cfd08..0b1f3e4 100644 --- a/Makefile +++ b/Makefile @@ -57,15 +57,9 @@ aspell: { echo -n "$@ "; \ [ ! "$(LANGUAGE)" = "" ] && echo -n "aspell-$(LANGUAGE) "; } || \ : -OpenOffice: +libreoffice: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && \ - echo -n "OpenOffice-i18n-$(LANGUAGE) "; } || \ - echo -n "OpenOffice-i18n-en " -#OpenOffice-help: -# @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ -# { echo -n "$@ "; \ -# [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && \ -# echo -n "OpenOffice-help-$(LANGUAGE) "; } || \ -# echo -n "OpenOffice-help-en " + echo -n "libreoffice-i18n-$(LANGUAGE) "; } || \ + echo -n "libreoffice-i18n-en " diff --git a/Makefile.defs b/Makefile.defs index 2e60970..16c19e6 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -107,8 +107,8 @@ perl[Automake__XFile] = automake libgs.so.9 = ghostscript -# openoffice -openofficei18n = OpenOffice-i18n-$(LANGUAGE) +# libreoffice +libreofficei18n = libreoffice-i18n-$(LANGUAGE) # vpn networkmanagervpnplugin = NetworkManager-vpnc NetworkManager-pptp diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index b013e48..8e7ea71 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -14,7 +14,7 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ desktop-base-gnome #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok -$(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress +$(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress $(MAKEDIST_TARGET)-livecd-gnome-root: \ postplug-xorg postplug-sound \ @@ -35,5 +35,3 @@ $(MAKEDIST_TARGET)-livecd-gnome-root: \ $(MAKEDIST_TARGET)-livecd-root-en: $(MAKEDIST_TARGET)-livecd-root-es: $(MAKEDIST_TARGET)-livecd-root-it: - -#OpenOffice-i18n-it diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index f735d43..bb1a4c6 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -9,7 +9,7 @@ $(MAKEDIST_TARGET)-livecd-light: openssh-server usbutils wireless_tools parted i 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-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress +$(MAKEDIST_TARGET)-livecd-light-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress $(MAKEDIST_TARGET)-livecd-light-root: \ postplug-xorg postplug-sound \ diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 7ad3960..e4b670e 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -7,7 +7,7 @@ $(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ kaffeine libqt4-sqlite kate #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok -$(MAKEDIST_TARGET)-livecd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress +$(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-Calc libreoffice-writer libreofice-impress $(MAKEDIST_TARGET)-livecd-root: \ postplug-xorg postplug-sound \ @@ -38,5 +38,4 @@ $(MAKEDIST_TARGET)-livecd-root-es: \ $(MAKEDIST_TARGET)-livecd-root-it: \ kde-l10n-it # firefox-i18n-it -#OpenOffice-i18n-it # FIXME: add kdepim diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 28ead13..12f9a9a 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -8,7 +8,7 @@ $(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgp kaffeine libqt4-sqlite kate # knemo #kitchensync4 -$(MAKEDIST_TARGET)-livedvd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress +$(MAKEDIST_TARGET)-livedvd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress $(MAKEDIST_TARGET)-livedvd-root: \ postplug-xorg postplug-sound \ @@ -38,8 +38,7 @@ $(MAKEDIST_TARGET)-livedvd-root-es: \ # firefox-i18n-es-ES $(MAKEDIST_TARGET)-livedvd-root-it: \ kde-l10n-it -# firefox-i18n-it -#OpenOffice-i18n-it +# firefox-i18n-it # FIXME: add kdepim syslog-ng: @echo diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 8b27cb9..8fff076 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -8,7 +8,7 @@ $(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg kaffeine libqt4-sqlite kate # knemo kdeplasma-addons #kitchensync4 -$(MAKEDIST_TARGET)-testcd-OpenOffice: libicu OpenOffice-Calc OpenOffice-Writer OpenOffice-Impress +$(MAKEDIST_TARGET)-testcd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress $(MAKEDIST_TARGET)-testcd-root: \ postplug-xorg postplug-sound \ @@ -39,5 +39,4 @@ $(MAKEDIST_TARGET)-testcd-root-es: \ $(MAKEDIST_TARGET)-testcd-root-it: \ kde-l10n-it # firefox-i18n-it -#OpenOffice-i18n-it # FIXME: add kdepim From bb243c0b2cb8c752964018d118837521b71b57fa Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 21 Oct 2011 03:37:58 +0200 Subject: [PATCH 047/186] Makefile.defs: dual kernel support --- Makefile.defs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 16c19e6..072b776 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -21,6 +21,26 @@ 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-backport +kernelwireless += kernel-$(KERNEL_MORE_EXTRAVER)-wireless kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-wl 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 + # xorg xorglibGL = libGL-Mesa-dri libGL-fglrx-X11 libGL-nvidia-X11 # libGL-nvidia_71xx-X11 libGL-nvidia_96xx-X11 libGL-nvidia_173xx-X11 From e558e9a73ab2b493a43d287e762183f7e167b13a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 26 Oct 2011 21:54:36 +0200 Subject: [PATCH 048/186] Some trivial fixes --- makedist.inc.sh | 10 +++++----- platforms/sdk-root/Makefile | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index 9031280..30b24a1 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -88,7 +88,7 @@ sed -i "s|\(127\.0\.0\.1\W*\)\(.*\)|\1 $TARGET_HOSTNAME.$TARGET_DOMAIN $TARGET_H install_rpms_by_target "Installing ${PLATFORM} platform packages" ${MAKEDIST_TARGET}-${PLATFORM} "${RPMEXTRAARGS}" [ "$LANGUAGE" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for language $LANGUAGE" ${MAKEDIST_TARGET}-${PLATFORM}-${LANGUAGE} "${RPMEXTRAARGS}" -[ "$ARCH" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for arch $ARCH" ${MAKEDIST_TARGET}-${PLATFORM}-${ARCH} "${RPMEXTRAARGS}" +[ "$ARCH" ] && install_rpms_by_target "Installing ${PLATFORM} platform packages for arch $ARCH" ${MAKEDIST_TARGET}-${PLATFORM}-${ARCH} "${RPMEXTRAARGS}" if [ ! "$KERNEL_IGNORE" ]; then for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do @@ -104,11 +104,11 @@ fi if [ ${DEBUG:-0} -gt 0 ]; then install_rpms_by_target "Installing debugging packages." ${MAKEDIST_TARGET}-debug "${RPMEXTRAARGS}" - cat > $MOUNTDIR/etc/sysconfig/network-devices/ifconfig.eth0 << _EOF -IF=eth0 -ONBOOT=yes -ZONE=local + cat > $MOUNTDIR/etc/sysconfig/network-scripts/ifcfg-eth0 << _EOF +DEVICE=eth0 BOOTPROTO=dhcp +ONBOOT=yes +#NM_CONTROLLED=no _EOF fi diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile index 3970573..82d55cc 100644 --- a/platforms/sdk-root/Makefile +++ b/platforms/sdk-root/Makefile @@ -19,6 +19,6 @@ $(MAKEDIST_TARGET)-sdk-root-missing: wpa_supplicant dosfstools cups vim postplug $(MAKEDIST_TARGET)-sdk-root-en: $(MAKEDIST_TARGET)-sdk-root-it: $(MAKEDIST_TARGET)-sdk-root-es: -$(MAKEDIST_TARGET)-sdk-root-i586: grub2 +$(MAKEDIST_TARGET)-sdk-root-i586: grub $(MAKEDIST_TARGET)-sdk-root-arm: $(MAKEDIST_TARGET)-sdk-root-ppc: yaboot From 3afe4ca18057d120d11d63958f803a1cfa91fd3c Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 29 Oct 2011 14:34:15 +0200 Subject: [PATCH 049/186] Makefile.defs: add preferences for ffmpeg --- Makefile.defs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 072b776..152a1b0 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -127,6 +127,11 @@ perl[Automake__XFile] = automake libgs.so.9 = ghostscript +# ffmpeg / libav +libpostproc.so.51 = libpostproc-ffmpeg +libpostproc.so.51[LIBPOSTPROC_51] = libpostproc-ffmpeg +ffmpegpresets := ffmpeg-presets + # libreoffice libreofficei18n = libreoffice-i18n-$(LANGUAGE) From 2abfb2528e80765741382a9b280ce51966fb4937 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 29 Oct 2011 18:30:15 +0200 Subject: [PATCH 050/186] Makefile.defs: added preferences for knetworkmanagervpnplugin --- Makefile.defs | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.defs b/Makefile.defs index 152a1b0..03fa4f4 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -137,6 +137,7 @@ libreofficei18n = libreoffice-i18n-$(LANGUAGE) # vpn networkmanagervpnplugin = NetworkManager-vpnc NetworkManager-pptp +knetworkmanagervpnplugin = plasma-applet-networkmanagement-vpnc plasma-applet-networkmanagement-pptp packagekitgui = kpackagekit From eddd587c0f65eb07abe6f76d200bfa1b15b251b7 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 30 Oct 2011 16:51:41 +0100 Subject: [PATCH 051/186] test-cd: sync extlinux changes with livecd --- platforms/livecd-root/post.inc.sh | 1 - platforms/testcd-root/post.inc.sh | 8 +++ platforms/testcd/post.inc.sh | 92 +++++++++++++++++++++---------- 3 files changed, 72 insertions(+), 29 deletions(-) diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index a29ed0f..18b7e65 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -49,7 +49,6 @@ sed -i -e '/^halt .*/i \ sed -i -e '/^reboot .*/i \ /sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot - # 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 diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 2768a84..18b7e65 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -64,4 +64,12 @@ rm -f $MOUNTDIR/tmp/sounddb.sh # remove unused initramfs generated by kernel rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* +# remove failsafe image to save space for livecd +rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* + +# 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/post.inc.sh b/platforms/testcd/post.inc.sh index 9965060..cb8ba54 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -7,20 +7,24 @@ [ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux -chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} +ISOID= +for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} + LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --nomdadmconf --nolvmconf \ + /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ + ${KERNEL_MAJVER}${K} -LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ - --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}${K}.img.gz \ + $MOUNTDIR2/boot/initrd${ISOID}.gz -# 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}${K} \ + $MOUNTDIR2/boot/vmlinuz${ISOID} -cp $MOUNTDIR/boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} \ - $MOUNTDIR2/boot/vmlinuz + ISOID=$(($ISOID + 1)) +done # add buildinfo buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" @@ -30,26 +34,58 @@ cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF PROMPT 0 TIMEOUT 20 DEFAULT vesamenu.c32 -MENU TITLE ${buildinfo} (${KERNEL_MAJVER}${KERNEL_EXTRAVER} kernel) +MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) MENU BACKGROUND openmamba.png MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std +_EOF -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 nomodeset +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 From 1af77e2b7f733067343c41bbd007b0cac81815f8 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 30 Oct 2011 18:20:01 +0100 Subject: [PATCH 052/186] Remove live cd eject code, now done in livecd-tools --- platforms/livecd-gnome-root/post.inc.sh | 8 -------- platforms/livecd-light-root/post.inc.sh | 8 -------- platforms/livecd-root/post.inc.sh | 8 -------- platforms/livedvd-root/post.inc.sh | 8 -------- platforms/livegames-root/post.inc.sh | 8 -------- platforms/livestudio-root/post.inc.sh | 8 -------- platforms/testcd-root/post.inc.sh | 8 -------- 7 files changed, 56 deletions(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 89d9cd7..d0bf1f2 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -45,14 +45,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# enable CDROM autoeject on shutdown/reboot -# -sed -i -e '/^halt .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt - -sed -i -e '/^reboot .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot - # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index bab1b21..e57a1de 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -34,14 +34,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# enable CDROM autoeject on shutdown/reboot -# -sed -i -e '/^halt .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt - -sed -i -e '/^reboot .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot - # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 18b7e65..a7a9bae 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -41,14 +41,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# enable CDROM autoeject on shutdown/reboot -# -sed -i -e '/^halt .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt - -sed -i -e '/^reboot .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot - # 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 diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 1a6b496..8fad3d2 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -41,14 +41,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# enable CDROM autoeject on shutdown/reboot -# -sed -i -e '/^halt .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt - -sed -i -e '/^reboot .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot - # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop \ /opt/kde/share/applications/kaffeine.desktop /opt/kde/share/applications/amarok.desktop; do diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index 7d27432..d6b8793 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -41,14 +41,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# enable CDROM autoeject on shutdown/reboot -# -sed -i -e '/^halt .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt - -sed -i -e '/^reboot .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot - # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f diff --git a/platforms/livestudio-root/post.inc.sh b/platforms/livestudio-root/post.inc.sh index 2df90d6..5cc23c0 100644 --- a/platforms/livestudio-root/post.inc.sh +++ b/platforms/livestudio-root/post.inc.sh @@ -45,14 +45,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# enable CDROM autoeject on shutdown/reboot -# -sed -i -e '/^halt .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt - -sed -i -e '/^reboot .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot - # prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 18b7e65..a7a9bae 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -41,14 +41,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# enable CDROM autoeject on shutdown/reboot -# -sed -i -e '/^halt .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/halt - -sed -i -e '/^reboot .*/i \ -/sbin/eject_cd.sh 2>&1 >/dev/null' $MOUNTDIR/etc/init.d/reboot - # 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 From e755717377f13248aec94a3f770c0111657f4a28 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 30 Oct 2011 21:53:24 +0100 Subject: [PATCH 053/186] Don't call create_fstab so that initial file is provided by setup package --- makedist.inc.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index 30b24a1..d3f7f35 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -13,7 +13,6 @@ create_rpm_database create_devices -create_fstab "$ROOTDEV" "$ROOTFS" install_rpms "filesystem gzip texinfo ldconfig bash libreadline glibc libncurses initscripts setup coreutils chkconfig libattr libstdc++6" "--nodeps --noorder --noscripts" From 65ed94aa2727f9da8e30ae5e6c3de4e722b4a0fe Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 2 Nov 2011 13:02:15 +0100 Subject: [PATCH 054/186] Added preferences for firewallgui --- Makefile.defs | 1 + platforms/livecd-gnome-root/Makefile.defs | 1 + platforms/livecd-light-root/Makefile.defs | 1 + 3 files changed, 3 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 03fa4f4..3cec9fb 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -140,6 +140,7 @@ networkmanagervpnplugin = NetworkManager-vpnc NetworkManager-pptp knetworkmanagervpnplugin = plasma-applet-networkmanagement-vpnc plasma-applet-networkmanagement-pptp packagekitgui = kpackagekit +firewallgui = kcm_ufw ifdef PLATFORM include $(TARGETSDIR)/$(TARGET)/platforms/$(PLATFORM)/Makefile.defs diff --git a/platforms/livecd-gnome-root/Makefile.defs b/platforms/livecd-gnome-root/Makefile.defs index d6baaba..a9dd47d 100644 --- a/platforms/livecd-gnome-root/Makefile.defs +++ b/platforms/livecd-gnome-root/Makefile.defs @@ -1 +1,2 @@ packagekitgui = gnome-packagekit +firewallgui = gui-ufw diff --git a/platforms/livecd-light-root/Makefile.defs b/platforms/livecd-light-root/Makefile.defs index d6baaba..a9dd47d 100644 --- a/platforms/livecd-light-root/Makefile.defs +++ b/platforms/livecd-light-root/Makefile.defs @@ -1 +1,2 @@ packagekitgui = gnome-packagekit +firewallgui = gui-ufw From c5ad73f81dfd99571d873070e1e882addd040193 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 2 Nov 2011 14:24:07 +0100 Subject: [PATCH 055/186] makedist.sh: fix removal of unused locales (fixes espanol release); some obsolete comments cleanup --- makedist.inc.sh | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index d3f7f35..7a12e9c 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -111,28 +111,17 @@ ONBOOT=yes _EOF fi -# erase_rpm_database +#erase_rpm_database clean_rpm_database -echo "Deleting unneeded files..." # delete unused localizations # -find $MOUNTDIR/usr/share/locale \ - -maxdepth 1 -mindepth 1 -type d \ -! -name it* ! -name en* ! -name C ! -name l10n -exec rm -rf {} \; - -#$CHROOTCMD chkconfig --add acpid || -# { echo "$mkcd_me: fatal error, aborting installation" >&2 -# { (exit 1); exit 1; }; } - -# configure extlinux boot loader -#cat > $MOUNTDIR/boot/extlinux.conf << _EOF -#DEFAULT $PLATFORM -#LABEL $PLATFORM -#KERNEL /boot/vmlinuz-${KERNEL_VER}${KERNEL_EXTRAVER} -#APPEND video=vesafb:1280x1024-32 root=$ROOTDEV console=tty1 -#resume2=swap:$SWAPDEV -#_EOF +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 if [ "$U_BOOT" ]; then echo "Copying u-boot Image for Kernel" @@ -148,10 +137,6 @@ if [ ${MULTITHREAD:-0} -gt 0 ]; then sed -i "s|multithread=1|multithread=0|" $MOUNTDIR/etc/sysconfig/rc fi -# blacklist buggy ehci_hcd -#echo "blacklist ehci_hcd" > $MOUNTDIR/etc/modprobe.conf.d/ehci_hcd - - # set rootdev on extlinux [ -e $MOUNTDIR/boot/extlinux.conf ] && sed -i "s|\([^::alpha]root=\)[^ ]*|\1$ROOTDEV|" $MOUNTDIR/boot/extlinux.conf From 675515ee808559ce74b7c402a6262d1a10250b96 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 4 Nov 2011 19:59:34 +0100 Subject: [PATCH 056/186] Makefile: add lsof --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0b1f3e4..a4cd104 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-commontools: sysvinit util-linux module-init-tools \ wireless_tools wpa_supplicant openmamba-release refit-tools openssh-clients \ dosfstools man mbr iptables cups vim iputils sudo postplug xinetd less \ reiserfsprogs reiser4progs ppp b43-tools mdadm usb-modeswitch \ - ndiswrapper slmodem usbutils ftp telnet eject bluez \ + ndiswrapper slmodem usbutils ftp telnet eject bluez lsof fuser \ tcpdump pcmcia-utils xdg-utils unionfs_utils iproute $(MAKEDIST_TARGET)-firmwares \ $(MAKEDIST_TARGET)-devel $(MAKEDIST_TARGET)-debug: strace valgrind gdb minicom openssh-server dhcpclient rpm iputils \ From 133a38e417c0cbf553525845fd8dd9781d6c6980 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 5 Nov 2011 13:35:11 +0100 Subject: [PATCH 057/186] Makefile: the previous commit also added fuser which is not a package as it is in psmisc --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a4cd104..675331e 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-commontools: sysvinit util-linux module-init-tools \ wireless_tools wpa_supplicant openmamba-release refit-tools openssh-clients \ dosfstools man mbr iptables cups vim iputils sudo postplug xinetd less \ reiserfsprogs reiser4progs ppp b43-tools mdadm usb-modeswitch \ - ndiswrapper slmodem usbutils ftp telnet eject bluez lsof fuser \ + ndiswrapper slmodem usbutils ftp telnet eject bluez lsof \ tcpdump pcmcia-utils xdg-utils unionfs_utils iproute $(MAKEDIST_TARGET)-firmwares \ $(MAKEDIST_TARGET)-devel $(MAKEDIST_TARGET)-debug: strace valgrind gdb minicom openssh-server dhcpclient rpm iputils \ From 64eb9bf559c4d3514f25483f1e280c0cf330c583 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 7 Nov 2011 01:28:37 +0100 Subject: [PATCH 058/186] Remove creation of SOUNDCARD_DB obsoleted since postplug 1.2.11 --- platforms/flash-1GB/post.inc.sh | 7 ------- platforms/livecd-gnome-root/post.inc.sh | 7 ------- platforms/livecd-light-root/post.inc.sh | 7 ------- platforms/livecd-root/post.inc.sh | 7 ------- platforms/livedvd-root/post.inc.sh | 9 +-------- platforms/livegames-root/post.inc.sh | 7 ------- platforms/livestudio-root/post.inc.sh | 7 ------- platforms/testcd-root/post.inc.sh | 7 ------- 8 files changed, 1 insertion(+), 57 deletions(-) diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 8e01a4c..2c62ed2 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -93,11 +93,4 @@ if [ -e $MOUNTDIR/opt/kde/share/config/kdm/kdmrc ]; then sed -i 's|[#]AutoLoginUser=.*|AutoLoginUser=liveuser|' \ $MOUNTDIR/opt/kde/share/config/kdm/kdmrc -# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) -[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` -echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh -chroot $MOUNTDIR sh /tmp/sounddb.sh -rm -f $MOUNTDIR/tmp/sounddb.sh -[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` - prelink diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index d0bf1f2..b8c8ca2 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -45,13 +45,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) -[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` -echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh -chroot $MOUNTDIR sh /tmp/sounddb.sh -rm -f $MOUNTDIR/tmp/sounddb.sh -[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` - # remove unused initramfs generated by kernel rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index e57a1de..714961c 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -34,13 +34,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) -[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` -echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh -chroot $MOUNTDIR sh /tmp/sounddb.sh -rm -f $MOUNTDIR/tmp/sounddb.sh -[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` - # remove unused initramfs generated by kernel rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index a7a9bae..d218d06 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -46,13 +46,6 @@ for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applicati chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done -# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) -[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` -echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh -chroot $MOUNTDIR sh /tmp/sounddb.sh -rm -f $MOUNTDIR/tmp/sounddb.sh -[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` - # remove unused initramfs generated by kernel rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 8fad3d2..f1716b8 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -47,15 +47,8 @@ for f in /usr/share/applications/chromium-devel.desktop \ chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done -# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) +# remove unused initramfs generated by kernel for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do - [ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${K} $MOUNTDIR/lib/modules/`uname -r` - echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh - chroot $MOUNTDIR sh /tmp/sounddb.sh - rm -f $MOUNTDIR/tmp/sounddb.sh - [ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` - - # remove unused initramfs generated by kernel rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${K}.img* done diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index d6b8793..fb2daca 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -46,13 +46,6 @@ for f in /usr/share/applications/chromium-devel.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done -# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) -[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` -echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh -chroot $MOUNTDIR sh /tmp/sounddb.sh -rm -f $MOUNTDIR/tmp/sounddb.sh -[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` - # remove unused initramfs generated by kernel rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* diff --git a/platforms/livestudio-root/post.inc.sh b/platforms/livestudio-root/post.inc.sh index 5cc23c0..ac4e911 100644 --- a/platforms/livestudio-root/post.inc.sh +++ b/platforms/livestudio-root/post.inc.sh @@ -45,11 +45,4 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) -[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` -echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh -chroot $MOUNTDIR sh /tmp/sounddb.sh -rm -f $MOUNTDIR/tmp/sounddb.sh -[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` - prelink diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index a7a9bae..d218d06 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -46,13 +46,6 @@ for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applicati chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done -# prebuild postplug sound CARDID_DB (with some ugly trick to make it work from chroot) -[ -e $MOUNTDIR/lib/modules/`uname -r` ] || ln -s ${KERNEL_MAJVER}${KERNEL_EXTRAVER} $MOUNTDIR/lib/modules/`uname -r` -echo "SOUND_BUILD_CARDID_DB_ONLY=1 /etc/postplug/postplug.d/sound" >> $MOUNTDIR/tmp/sounddb.sh -chroot $MOUNTDIR sh /tmp/sounddb.sh -rm -f $MOUNTDIR/tmp/sounddb.sh -[ -L $MOUNTDIR/lib/modules/`uname -r` ] && rm $MOUNTDIR/lib/modules/`uname -r` - # remove unused initramfs generated by kernel rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* From dfa2e1cb1303af1c6875ebca1ec56f6e6e8041e9 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 7 Nov 2011 01:34:59 +0100 Subject: [PATCH 059/186] Support initramfs removal for all installed kernels --- platforms/livecd-gnome-root/post.inc.sh | 11 ++++++----- platforms/livecd-light-root/post.inc.sh | 11 ++++++----- platforms/livecd-root/post.inc.sh | 11 ++++++----- platforms/livedvd-root/post.inc.sh | 4 +++- platforms/livegames-root/post.inc.sh | 8 ++++++-- platforms/testcd-root/post.inc.sh | 11 ++++++----- 6 files changed, 33 insertions(+), 23 deletions(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index b8c8ca2..2634261 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -45,11 +45,12 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# remove unused initramfs generated by kernel -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* - -# remove failsafe image to save space for livecd -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +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 # install all GConf rules cat > $MOUNTDIR/tmp/gconftool.sh << _EOF diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index 714961c..b19c4bc 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -34,11 +34,12 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -# remove unused initramfs generated by kernel -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* - -# remove failsafe image to save space for livecd -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +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 # remove some documentation to save space on CD for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index d218d06..8bc4b68 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -46,11 +46,12 @@ for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applicati chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done -# remove unused initramfs generated by kernel -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* - -# remove failsafe image to save space for livecd -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +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 # remove some documentation to save space on CD for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index f1716b8..aedeb39 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -47,9 +47,11 @@ for f in /usr/share/applications/chromium-devel.desktop \ chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done -# remove unused initramfs generated by kernel 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/post.inc.sh b/platforms/livegames-root/post.inc.sh index fb2daca..f70fb97 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -46,8 +46,12 @@ for f in /usr/share/applications/chromium-devel.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done -# remove unused initramfs generated by kernel -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* +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 # disable compiz for games sed -i "/windowManager=compiz-custom/d" $MOUNTDIR/opt/kde/share/config/ksmserverrc diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index d218d06..8bc4b68 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -46,11 +46,12 @@ for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applicati chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done -# remove unused initramfs generated by kernel -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img* - -# remove failsafe image to save space for livecd -rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* +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 # remove some documentation to save space on CD for f in ChangeLog Changelog CHANGES TODO NEWS README README.txt; do From ef3cfd5b4a889ac2589848fc5f18ac62438b9abb Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 20 Nov 2011 16:08:46 +0100 Subject: [PATCH 060/186] Makefile.defs: add a def for perl --- Makefile.defs | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.defs b/Makefile.defs index 3cec9fb..e800ff3 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -99,6 +99,7 @@ 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 From 31fd80dc41c9fe1f46f943d75cc2d3b765f0995a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 9 Dec 2011 18:16:02 +0100 Subject: [PATCH 061/186] networkmanagergui: remove obsoleted cnetworkmanager; set to plasma-applet-networkmanagement for kde targets --- Makefile.defs | 2 +- platforms/livecd-root/Makefile.defs | 1 + platforms/livedvd-root/Makefile.defs | 1 + platforms/livegames-root/Makefile.defs | 1 + platforms/livestudio-root/Makefile.defs | 1 + platforms/testcd-root/Makefile.defs | 1 + 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index e800ff3..bea79bf 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -87,7 +87,7 @@ libpython = libpython python = python sopranobackend = soprano-backend-virtuoso dhcpclient = dhcp-client -networkmanagergui = network-manager-applet cnetworkmanager +networkmanagergui = network-manager-applet phonon_backend = phonon-backend-gstreamer liblapack.so.3 = liblapack mono[Mono.Cecil] = mono-core diff --git a/platforms/livecd-root/Makefile.defs b/platforms/livecd-root/Makefile.defs index e69de29..103e646 100644 --- a/platforms/livecd-root/Makefile.defs +++ b/platforms/livecd-root/Makefile.defs @@ -0,0 +1 @@ +networkmanagergui = plasma-applet-networkmanagement diff --git a/platforms/livedvd-root/Makefile.defs b/platforms/livedvd-root/Makefile.defs index e69de29..103e646 100644 --- a/platforms/livedvd-root/Makefile.defs +++ b/platforms/livedvd-root/Makefile.defs @@ -0,0 +1 @@ +networkmanagergui = plasma-applet-networkmanagement diff --git a/platforms/livegames-root/Makefile.defs b/platforms/livegames-root/Makefile.defs index e69de29..103e646 100644 --- a/platforms/livegames-root/Makefile.defs +++ b/platforms/livegames-root/Makefile.defs @@ -0,0 +1 @@ +networkmanagergui = plasma-applet-networkmanagement diff --git a/platforms/livestudio-root/Makefile.defs b/platforms/livestudio-root/Makefile.defs index e69de29..103e646 100644 --- a/platforms/livestudio-root/Makefile.defs +++ b/platforms/livestudio-root/Makefile.defs @@ -0,0 +1 @@ +networkmanagergui = plasma-applet-networkmanagement diff --git a/platforms/testcd-root/Makefile.defs b/platforms/testcd-root/Makefile.defs index 786c640..3ff64b8 100644 --- a/platforms/testcd-root/Makefile.defs +++ b/platforms/testcd-root/Makefile.defs @@ -1 +1,2 @@ +networkmanagergui = plasma-applet-networkmanagement #xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau From 30669358608b1b34e8e0689e304bc3d1c354bf0f Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 14 Dec 2011 10:57:47 +0100 Subject: [PATCH 062/186] Set sysvinit preference for /sbin/shutdown --- Makefile.defs | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.defs b/Makefile.defs index bea79bf..5edcc0b 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -110,6 +110,7 @@ perl[Automake__XFile] = automake /usr/bin/expectk = expect85-tk /usr/bin/test = coreutils /sbin/nologin= util-linux +/sbin/shutdown = sysvinit /usr/bin/chfn= pwdutils /usr/bin/chsh= pwdutils /usr/bin/newgrp= pwdutils From 0d1cf68a8166bece461b60d7dfd83de3cb0a77b6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 18 Dec 2011 19:34:45 +0100 Subject: [PATCH 063/186] Remove 'cnetworkmanager' as it is not longer supported for NM >= 0.9 --- platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-light-root/Makefile | 2 +- platforms/sdk-root/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 8e7ea71..a637b43 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -4,7 +4,7 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ 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 cnetworkmanager network-manager-applet Mesa-tools \ + 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 \ diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index bb1a4c6..68441b9 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -3,7 +3,7 @@ $(MAKEDIST_TARGET)-livecd-light: openssh-server usbutils wireless_tools parted i 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 cnetworkmanager \ + 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 \ diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile index 82d55cc..0bf66ac 100644 --- a/platforms/sdk-root/Makefile +++ b/platforms/sdk-root/Makefile @@ -5,7 +5,7 @@ $(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ sysvinit util-linux module-init-tools \ procps sed grep net-tools tar bzip2 unzip zip pciutils \ pam shadow-common pwdutils mingetty \ - NetworkManager cnetworkmanager ModemManager net-tools mc \ + NetworkManager ModemManager net-tools mc \ timezone wireless_tools openmamba-release openssh-clients \ man iptables iputils xinetd less mtd-utils bluez \ reiserfsprogs reiser4progs ppp usbutils ftp telnet eject \ From 5a3b1b73f9106c44a51016fd9b79c6885bd4e0f8 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 26 Dec 2011 14:10:25 +0100 Subject: [PATCH 064/186] Set UNICODE=1 in initial /etc/vconsole.conf --- makedist.inc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/makedist.inc.sh b/makedist.inc.sh index 7a12e9c..b2b5469 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -26,6 +26,7 @@ KEYMAP=$KEYMAP FONT=lat9w-16 FONT_MAP=8859-1_to_uni FONT_UNIMAP= +UNICODE=1 _EOF # legacy From ef2d4b4987e3d215def1dec3c62ab45803076bfd Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 21 Jan 2012 17:44:25 +0100 Subject: [PATCH 065/186] inittab: disable tty1 login in runlevel 5 in most targets --- platforms/flash-1GB/post.inc.sh | 3 ++- platforms/flash-512MB/post.inc.sh | 3 ++- platforms/livecd-gnome-root/post.inc.sh | 3 ++- platforms/livecd-light-root/post.inc.sh | 3 ++- platforms/livecd-root/post.inc.sh | 3 ++- platforms/livedvd-root/post.inc.sh | 3 ++- platforms/livegames-root/post.inc.sh | 3 ++- platforms/livestudio-root/post.inc.sh | 3 ++- 8 files changed, 16 insertions(+), 8 deletions(-) diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 2c62ed2..0fef475 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # make initramfs diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh index 6f02d55..466ba6c 100644 --- a/platforms/flash-512MB/post.inc.sh +++ b/platforms/flash-512MB/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # make initramfs diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 2634261..066e728 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index b19c4bc..4d0c12d 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 8bc4b68..1d9a608 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index aedeb39..0413984 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index f70fb97..4e38dd9 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livestudio-root/post.inc.sh b/platforms/livestudio-root/post.inc.sh index ac4e911..63ae7f2 100644 --- a/platforms/livestudio-root/post.inc.sh +++ b/platforms/livestudio-root/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot From 4e9ecf9d2581fcfb926d8d27d13ce59b05603b9d Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 21 Jan 2012 18:26:35 +0100 Subject: [PATCH 066/186] Remove compiz --- platforms/livecd-gnome-root/Makefile | 4 +--- platforms/livecd-light-root/Makefile | 5 ++--- platforms/livecd-root/Makefile | 5 ++--- platforms/livedvd-root/Makefile | 5 ++--- platforms/livegames-root/Makefile | 3 +-- platforms/livestudio-root/Makefile | 5 ++--- platforms/testcd-root/Makefile | 5 ++--- 7 files changed, 12 insertions(+), 20 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index a637b43..fc773d9 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -23,11 +23,9 @@ $(MAKEDIST_TARGET)-livecd-gnome-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - compiz \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ - compizconfig-settings-manager compiz-fusion-plugins-main \ - compiz-fusion-plugins-extra samba-server \ + samba-server \ ndisgtk smart-gui laptop-mode-tools mambatray \ $(MAKEDIST_TARGET)-livecd-gnome diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index 68441b9..9fe5a43 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -18,11 +18,10 @@ $(MAKEDIST_TARGET)-livecd-light-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - chromium compiz \ + chromium \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ - compizconfig-settings-manager compiz-fusion-plugins-main \ - compiz-fusion-plugins-extra samba-server \ + samba-server \ ndisgtk smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livecd-light diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index e4b670e..849c8df 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -16,11 +16,10 @@ $(MAKEDIST_TARGET)-livecd-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - chromium compiz \ + chromium \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ - compizconfig-settings-manager compiz-fusion-plugins-main \ - compiz-fusion-plugins-extra samba-server \ + samba-server \ ndisgtk smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livecd-kde4 # gnome-device-manager diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 12f9a9a..46f2388 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -17,12 +17,11 @@ $(MAKEDIST_TARGET)-livedvd-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - chromium compiz \ + chromium \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ gnome-device-manager \ - compizconfig-settings-manager compiz-fusion-plugins-main \ - compiz-fusion-plugins-extra samba-server \ + samba-server \ ndisgtk smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livedvd-kde4 toptray testdisk photorec # libopensync-plugin-syncml libopensync-plugin-google-calendar \ diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 7fe8aaa..9a2a6ef 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -15,8 +15,7 @@ $(MAKEDIST_TARGET)-livegames-root: \ xorg-drv-input-synaptics \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g samba-server \ - chromium compiz compiz-fusion-plugins-main \ - compiz-fusion-plugins-extra compizconfig-settings-manager \ + chromium \ macbook-tools livecd-tools \ kdebluetooth Mesa-tools driconf \ gnome-device-manager desktop-base-openmamba \ diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile index f142382..cc9ff60 100644 --- a/platforms/livestudio-root/Makefile +++ b/platforms/livestudio-root/Makefile @@ -17,7 +17,7 @@ $(MAKEDIST_TARGET)-livestudio-root: \ ttf-freefont liberation-fonts-ttf \ gag gparted ntfs-3g samba-server libdvdcss \ kaffeine wine gimp cinepaint \ - audacity compiz \ + audacity \ macbook-tools livecd-tools \ Mesa-tools driconf \ gnome-device-manager blender inkscape ardour \ @@ -25,8 +25,7 @@ $(MAKEDIST_TARGET)-livestudio-root: \ qtractor rosegarden ZynAddSubFX timidity \ qsynth qjackctl kino hydrogen vlc digikam \ cheese kpdf ndisgtk cinelerra \ - compizconfig-settings-manager compiz-fusion-plugins-main \ - compiz-fusion-plugins-extra smart-gui cpufreqd mambatray \ + smart-gui cpufreqd mambatray \ desktop-base-openmamba gtick lingot mandvd denemo miro \ $(MAKEDIST_TARGET)-livestudio-kde4 diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 8fff076..06013fc 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -17,11 +17,10 @@ $(MAKEDIST_TARGET)-testcd-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - chromium compiz \ + chromium \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ - compizconfig-settings-manager compiz-fusion-plugins-main \ - compiz-fusion-plugins-extra samba-server \ + samba-server \ ndisgtk smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-testcd-kde4 openssh-server # gnome-device-manager From 83643e01fc1fc37c44a223068f1fa126d3efc5ef Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 21 Jan 2012 19:28:19 +0100 Subject: [PATCH 067/186] Added totem-mozilla-plugin to all targets except livecd and testcd to save space --- platforms/livecd-gnome-root/Makefile | 1 + platforms/livecd-light-root/Makefile | 2 +- platforms/livedvd-root/Makefile | 2 +- platforms/livegames-root/Makefile | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index fc773d9..27288ba 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -23,6 +23,7 @@ $(MAKEDIST_TARGET)-livecd-gnome-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ + chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ samba-server \ diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index 9fe5a43..c02c864 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -18,7 +18,7 @@ $(MAKEDIST_TARGET)-livecd-light-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - chromium \ + chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ samba-server \ diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 46f2388..c983ef7 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -17,7 +17,7 @@ $(MAKEDIST_TARGET)-livedvd-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ - chromium \ + chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ gnome-device-manager \ diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 9a2a6ef..58996eb 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-livegames-root: \ xorg-drv-input-synaptics \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g samba-server \ - chromium \ + chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ kdebluetooth Mesa-tools driconf \ gnome-device-manager desktop-base-openmamba \ From 6cefc4ae7b46e2c409894b9b6bea90643b9c29d5 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 26 Jan 2012 13:50:03 +0100 Subject: [PATCH 068/186] Added definitions for installing udev by default after adding alternative udev173 package --- Makefile.defs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index 5edcc0b..f79e343 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -126,8 +126,10 @@ perl[Automake__XFile] = automake /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 # ffmpeg / libav libpostproc.so.51 = libpostproc-ffmpeg From 9d26db4a25c6a176ae6f1f85afc9c1edd735b433 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 27 Jan 2012 14:37:06 +0100 Subject: [PATCH 069/186] Main Makefile.deps: don't install kernel rtl8192se extra package as it is provided upstream since 3.0 --- Makefile.defs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index f79e343..57f6ba9 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -7,8 +7,8 @@ libpthread.so.0 = glibc kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia # kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx kernelsound = kernel-$(KERNEL_EXTRAVER)-sound-backport -kernelwireless = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl kernel-$(KERNEL_EXTRAVER)-rtl8192se -# kernel-$(KERNEL_EXTRAVER)-atl1e +kernelwireless = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl +# 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 From 666422bb2599dfb7d886002213fadd8484908ca5 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 27 Jan 2012 14:38:11 +0100 Subject: [PATCH 070/186] testcd-root: disable tty1 login console in runlevel 5 also for this platform --- platforms/testcd-root/post.inc.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 8bc4b68..1d9a608 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -6,7 +6,8 @@ # 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot From 38ac119b5fd1714366d152b3f7cb370124ddb9d1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 6 Feb 2012 01:13:45 +0100 Subject: [PATCH 071/186] Remove kernel module rtl8192se also for alternative kernel --- Makefile.defs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 57f6ba9..cd506f9 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -26,8 +26,8 @@ ifdef KERNEL_MORE_EXTRAVER 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-backport -kernelwireless += kernel-$(KERNEL_MORE_EXTRAVER)-wireless kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-wl kernel-$(KERNEL_MORE_EXTRAVER)-rtl8192se -# kernel-$(KERNEL_MORE_EXTRAVER)-atl1e +kernelwireless += kernel-$(KERNEL_MORE_EXTRAVER)-wireless kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-wl +# 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 From e7a9ee665841889957fc89ca6e4e9226698400e2 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 7 Mar 2012 01:46:24 +0100 Subject: [PATCH 072/186] New multiarch 'rootfs' target with i586 and arm support Make general Makefile and Makefile.defs multi-arch for kernel and X drivers selection Some minor change to platform to support KDE 4.7 --- Makefile | 4 +- Makefile.defs | 17 ++- platforms/bootusb-test/Makefile | 2 +- platforms/bootusb/Makefile | 2 +- platforms/livecd-root/Makefile | 4 +- platforms/livecd/Makefile | 2 +- platforms/livedvd/Makefile | 2 +- platforms/rootfs/Makefile | 43 +++++++ platforms/rootfs/Makefile.defs | 24 ++++ platforms/rootfs/post.inc.sh | 131 ++++++++++++++++++++++ platforms/rootfs/root/etc/dhcpd.conf | 30 +++++ platforms/rootfs/root/etc/sysconfig/dhcpd | 3 + platforms/rootfs/settings.inc | 22 ++++ platforms/testcd/Makefile | 2 +- 14 files changed, 278 insertions(+), 10 deletions(-) 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 diff --git a/Makefile b/Makefile index 675331e..7699928 100644 --- a/Makefile +++ b/Makefile @@ -32,12 +32,12 @@ ifdef PLATFORM include $(TARGETSDIR)/$(TARGET)/platforms/$(PLATFORM)/Makefile endif -kdelibs: +kdelibs3: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-i18n-$(LANGUAGE) "; } || \ : -kdelibs4: +kdelibs: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-l10n-$(LANGUAGE) "; } || \ diff --git a/Makefile.defs b/Makefile.defs index cd506f9..ed894fa 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -3,6 +3,7 @@ # libc libpthread.so.0 = glibc +ifeq ($(ARCH),i586) # kernel kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia # kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx @@ -40,7 +41,16 @@ 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 xorg-drv-video-tegra +endif + +ifeq ($(ARCH),i586) # xorg xorglibGL = libGL-Mesa-dri libGL-fglrx-X11 libGL-nvidia-X11 # libGL-nvidia_71xx-X11 libGL-nvidia_96xx-X11 libGL-nvidia_173xx-X11 @@ -49,9 +59,10 @@ 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 -# xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nouveau # xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-vboxvideo +endif + 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 libGL.so.1 = libGL-Mesa-dri @@ -59,7 +70,11 @@ libGLU.so.1 = libGL-Mesa-dri splashtheme = splash-theme-openmamba + +ifeq ($(ARCH),i586) bootloader = syslinux +endif + alsaplayer_output = alsaplayer-output-alsa #libscanpci.so = xorg-server libgtkpeer.so = libgcj4 diff --git a/platforms/bootusb-test/Makefile b/platforms/bootusb-test/Makefile index cdaef74..32f28fc 100644 --- a/platforms/bootusb-test/Makefile +++ b/platforms/bootusb-test/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-bootusb-test: openmamba-release syslinux memtest86+ $(MAKEDIST_TARGET)-firmwares +$(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: diff --git a/platforms/bootusb/Makefile b/platforms/bootusb/Makefile index 57faa7f..b3728b5 100644 --- a/platforms/bootusb/Makefile +++ b/platforms/bootusb/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-bootusb: openmamba-release syslinux memtest86+ $(MAKEDIST_TARGET)-firmwares +$(MAKEDIST_TARGET)-bootusb: openmamba-release syslinux memtest86+ $(MAKEDIST_TARGET)-firmwares macbook-tools # Localization targets $(MAKEDIST_TARGET)-bootusb-en: $(MAKEDIST_TARGET)-bootusb-it: diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 849c8df..6268e4f 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -1,8 +1,8 @@ $(MAKEDIST_TARGET)-livecd-kde3: kdebase kmix \ - kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ + kppp krfb ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ amarok kaffeine -$(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ +$(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ kaffeine libqt4-sqlite kate diff --git a/platforms/livecd/Makefile b/platforms/livecd/Makefile index 3abea4d..f96b596 100644 --- a/platforms/livecd/Makefile +++ b/platforms/livecd/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-livecd: openmamba-release memtest86+ syslinux +$(MAKEDIST_TARGET)-livecd: openmamba-release memtest86+ syslinux macbook-tools # Localized targets $(MAKEDIST_TARGET)-livecd-en: $(MAKEDIST_TARGET)-livecd-it: diff --git a/platforms/livedvd/Makefile b/platforms/livedvd/Makefile index 8146048..041eca2 100644 --- a/platforms/livedvd/Makefile +++ b/platforms/livedvd/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-livedvd: openmamba-release memtest86+ syslinux +$(MAKEDIST_TARGET)-livedvd: openmamba-release memtest86+ syslinux macbook-tools # Localized targets $(MAKEDIST_TARGET)-livedvd-en: $(MAKEDIST_TARGET)-livedvd-it: diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile new file mode 100644 index 0000000..0597346 --- /dev/null +++ b/platforms/rootfs/Makefile @@ -0,0 +1,43 @@ +$(MAKEDIST_TARGET)-$(PLATFORM)-kde4: \ + kppp4 desktop-base-kde4 \ + ksnapshot okular desktop-base-kde4 kmix4 \ + kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ + libqt4-sqlite kate ark4 kcalc4 kdf4 kfloppy4 kgpg4 \ + kaffeine kamoso + +$(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ + kernel-iconia kernel-iconia-modules kernel-hannspad kernel-hannspad-modules \ + brcm_patchram + +$(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ + kernel-mamba kernel-mamba-sound kernel-mamba-wireless \ + kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-wireless + +$(MAKEDIST_TARGET)-$(PLATFORM): \ + $(MAKEDIST_TARGET)-$(PLATFORM)-kde4 openssh-server usbutils wireless_tools \ + parted iputils file rootfiles ppp minicom xinetd 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 syslog-ng sysvinit kmod \ + liblame expect prelink NetworkManager ModemManager procps \ + xorg-server x11vnc xkeyboard-config \ + xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ + dhcp-server rfkill plymouth livecd-tools chromium \ + 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..c3d6dda --- /dev/null +++ b/platforms/rootfs/post.inc.sh @@ -0,0 +1,131 @@ +## disable tty virtual consoles +#sed -i "s|\(.:2345:respawn.*\)|#\1|" $MOUNTDIR/etc/inittab + +# configure for serial console login +#echo "s0:2345:respawn:/sbin/agetty -L -f /etc/issue 115200 tcc-uart0 vt100" >> $MOUNTDIR/etc/inittab + +# configure default root password +echo "openmamba" | chroot $MOUNTDIR passwd root --stdin + +# 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 + +if [ ! "$KERNEL_IGNORE" ]; then + # run depmod + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}-${KERNEL_EXTRAVER} +fi + +# 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:2345:respawn:/sbin/mingetty --autologin root --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/agetty tty1 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^2:.*,2:2345:respawn:/sbin/agetty tty2 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^3:.*,3:2345:respawn:/sbin/agetty ttyS0 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyAMA0 9600,' $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 + +# 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 + +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..fdd2332 --- /dev/null +++ b/platforms/rootfs/settings.inc @@ -0,0 +1,22 @@ +if [ "$ARCH" = "arm" ]; then + KERNEL_EXTRAVER= + #KERNEL_PLATFORM="" + KERNEL_ADDITIONAL="" + KERNEL_IGNORE=true +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/Makefile b/platforms/testcd/Makefile index 299d20f..26e27f2 100644 --- a/platforms/testcd/Makefile +++ b/platforms/testcd/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-testcd: openmamba-release memtest86+ syslinux $(MAKEDIST_TARGET)-firmwares +$(MAKEDIST_TARGET)-testcd: openmamba-release memtest86+ syslinux $(MAKEDIST_TARGET)-firmwares macbook-tools # Localized targets $(MAKEDIST_TARGET)-testcd-en: $(MAKEDIST_TARGET)-testcd-it: From 9a506b2b358a0d014d018657b21efd43ed15741a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 7 Mar 2012 02:01:00 +0100 Subject: [PATCH 073/186] livegames-root: replace kdegames with list of single game packages for KDE 4.7 --- platforms/livegames-root/Makefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 58996eb..f8b423b 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -6,7 +6,12 @@ $(MAKEDIST_TARGET)-livegames-kde3: kdebase kmix \ $(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k kate \ - kruler4 gwenview4 kamera kcolorchooser4 lisa4 kwalletmanager4 libqt4-sqlite + kruler4 gwenview4 kamera kcolorchooser4 lisa4 kwalletmanager4 libqt4-sqlite \ + 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 ksudoku4 ktron ktuberling kfourinline \ + kubrick lskat palapeli $(MAKEDIST_TARGET)-livegames-root: \ postplug-xorg postplug-sound \ @@ -21,7 +26,7 @@ $(MAKEDIST_TARGET)-livegames-root: \ gnome-device-manager desktop-base-openmamba \ extremetuxracer ksudoku4 okular cpufreqd mambatray \ pingus gnuchess powermanga FlightGear frozen-bubble \ - kdegames monkey-bubble pathological neverball \ + monkey-bubble pathological neverball \ tuxkart gtans ksirk moagg knights \ torcs xmame openarena ndisgtk smart-gui \ enemy-territory-client enemy-territory-etpro \ From 989fafaadc97638a3a72b1539ff2f66130c1189f Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 12 Mar 2012 13:52:02 +0100 Subject: [PATCH 074/186] livegames-root, livestudio-root: update some kde4 package name and small fixes --- platforms/livegames-root/Makefile | 7 +------ platforms/livegames-root/post.inc.sh | 3 --- platforms/livestudio-root/Makefile | 7 +------ 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index f8b423b..9f5e61e 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -1,12 +1,7 @@ -$(MAKEDIST_TARGET)-livegames-kde3: kdebase kmix \ - kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ - kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ - kruler kuickshow kview kcolorchooser amarok - $(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k kate \ - kruler4 gwenview4 kamera kcolorchooser4 lisa4 kwalletmanager4 libqt4-sqlite \ + kruler gwenview4 kamera kcolorchooser lisa4 kwalletmanager4 libqt4-sqlite \ 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 \ diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index 4e38dd9..5edf037 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -54,7 +54,4 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do rm -f $MOUNTDIR/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}-failsafe.img* done -# disable compiz for games -sed -i "/windowManager=compiz-custom/d" $MOUNTDIR/opt/kde/share/config/ksmserverrc - prelink diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile index cc9ff60..9ca1cf2 100644 --- a/platforms/livestudio-root/Makefile +++ b/platforms/livestudio-root/Makefile @@ -1,12 +1,7 @@ -$(MAKEDIST_TARGET)-livestudio-kde3: kdebase kmix \ - kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ - kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ - kruler kuickshow kview kcolorchooser amarok - $(MAKEDIST_TARGET)-livestudio-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k kate \ - kruler4 gwenview4 kamera kcolorchooser4 amarok lisa4 kwalletmanager4 libqt4-sqlite + kruler gwenview4 kamera kcolorchooser amarok lisa4 kwalletmanager4 libqt4-sqlite #kitchensync4 $(MAKEDIST_TARGET)-livestudio-root: \ From e29bd233c229909b68aef9bf83c0a27513c5a1fe Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 17 Mar 2012 17:52:01 +0100 Subject: [PATCH 075/186] Minor cleanups in platform Makefiles --- platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-root/Makefile | 5 ----- platforms/livedvd-root/Makefile | 10 ++-------- platforms/livegames-root/Makefile | 6 +++--- platforms/livestudio-root/Makefile | 4 ++-- platforms/testcd-root/Makefile | 7 +------ 6 files changed, 9 insertions(+), 25 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 27288ba..75d9641 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -7,7 +7,7 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ 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 \ + 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-panel gnome-settings-daemon \ gnome-sharp gnome-terminal nautilus gnome-themes evolution gnome-utils gnome-system-log \ diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 6268e4f..4d783da 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -1,7 +1,3 @@ -$(MAKEDIST_TARGET)-livecd-kde3: kdebase kmix \ - kppp krfb ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ - kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ - amarok kaffeine $(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ @@ -22,7 +18,6 @@ $(MAKEDIST_TARGET)-livecd-root: \ samba-server \ ndisgtk smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livecd-kde4 -# gnome-device-manager # libopensync-plugin-syncml libopensync-plugin-google-calendar \ # libopensync-plugin-gnokii libopensync-plugin-synce \ # libopensync-plugin-moto libopensync-plugin-palm \ diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index c983ef7..5fd254a 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -1,8 +1,4 @@ -$(MAKEDIST_TARGET)-livedvd-kde3: kdebase kmix \ - kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ - kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ - amarok kaffeine -$(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ +$(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k amarok lisa4 kwalletmanager4 \ kaffeine libqt4-sqlite kate @@ -19,9 +15,7 @@ $(MAKEDIST_TARGET)-livedvd-root: \ gparted gag ntfs-3g libdvdcss \ chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ - Mesa-tools driconf parted testdisk \ - gnome-device-manager \ - samba-server \ + Mesa-tools driconf parted testdisk samba-server \ ndisgtk smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livedvd-kde4 toptray testdisk photorec # libopensync-plugin-syncml libopensync-plugin-google-calendar \ diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 9f5e61e..6776368 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ +$(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k kate \ kruler gwenview4 kamera kcolorchooser lisa4 kwalletmanager4 libqt4-sqlite \ @@ -18,11 +18,11 @@ $(MAKEDIST_TARGET)-livegames-root: \ chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ kdebluetooth Mesa-tools driconf \ - gnome-device-manager desktop-base-openmamba \ + desktop-base-openmamba \ extremetuxracer ksudoku4 okular cpufreqd mambatray \ pingus gnuchess powermanga FlightGear frozen-bubble \ monkey-bubble pathological neverball \ - tuxkart gtans ksirk moagg knights \ + tuxkart gtans moagg knights \ torcs xmame openarena ndisgtk smart-gui \ enemy-territory-client enemy-territory-etpro \ enemy-territory-server enemy-territory-server-etpro \ diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile index 9ca1cf2..8b7b7fd 100644 --- a/platforms/livestudio-root/Makefile +++ b/platforms/livestudio-root/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-livestudio-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ +$(MAKEDIST_TARGET)-livestudio-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k kate \ kruler gwenview4 kamera kcolorchooser amarok lisa4 kwalletmanager4 libqt4-sqlite @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-livestudio-root: \ audacity \ macbook-tools livecd-tools \ Mesa-tools driconf \ - gnome-device-manager blender inkscape ardour \ + blender inkscape ardour \ mixxx lives muse puredata \ qtractor rosegarden ZynAddSubFX timidity \ qsynth qjackctl kino hydrogen vlc digikam \ diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 06013fc..7ac74a2 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -1,8 +1,4 @@ -$(MAKEDIST_TARGET)-testcd-kde3: kdebase kmix \ - kppp krfb ksirc ark kcalc kdf kfloppy kgpg klaptop ksnapshot desktop-base-openmamba \ - kpdf kontact kmail akregator kitchensync knetworkconf kopete kdebluetooth smb4k knemo \ - amarok kaffeine -$(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ksirk ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ +$(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ kaffeine libqt4-sqlite kate @@ -23,7 +19,6 @@ $(MAKEDIST_TARGET)-testcd-root: \ samba-server \ ndisgtk smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-testcd-kde4 openssh-server -# gnome-device-manager # libopensync-plugin-syncml libopensync-plugin-google-calendar \ # libopensync-plugin-gnokii libopensync-plugin-synce \ # libopensync-plugin-moto libopensync-plugin-palm \ From 74bdfbc3a5dc7be44951c44c22feb109b9bc0a50 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 17 Mar 2012 18:03:13 +0100 Subject: [PATCH 076/186] Add --no-preserve=ownership to cp -a commands to avoid passing non-root ownership from build system to target --- makedist.inc.sh | 6 +++--- platforms/bootcd/post.inc.sh | 2 +- platforms/bootusb-test/post.inc.sh | 6 +++--- platforms/bootusb/post.inc.sh | 6 +++--- platforms/installdvd/post.inc.sh | 4 ++-- platforms/livecd/post.inc.sh | 4 ++-- platforms/livedvd/post.inc.sh | 4 ++-- platforms/packages-dvd/pre.inc.sh | 2 +- platforms/testcd/post.inc.sh | 4 ++-- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index b2b5469..233b048 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -154,14 +154,14 @@ rm -rf $MOUNTDIR/tmp/kde-root # copy static files for target [ -e $TARGETDIR/root ] && - cp -a $TARGETDIR/root/* $MOUNTDIR/ + 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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ # copy localized static files for specific platform [ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && - cp -a $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR/ produce_media diff --git a/platforms/bootcd/post.inc.sh b/platforms/bootcd/post.inc.sh index 767702d..5b6ddc8 100644 --- a/platforms/bootcd/post.inc.sh +++ b/platforms/bootcd/post.inc.sh @@ -61,7 +61,7 @@ _EOF # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && - cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ MOUNTDIR=$MOUNTDIR2 produce_media diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh index 071e989..3f462ae 100644 --- a/platforms/bootusb-test/post.inc.sh +++ b/platforms/bootusb-test/post.inc.sh @@ -52,18 +52,18 @@ _EOF mv $MOUNTDIR/boot/memtest.bin $MOUNTDIR/boot/memtest # copy /boot directory to final root -cp -a $MOUNTDIR/boot $MOUNTDIR2 +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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + 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 $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ ## add buildinfo #buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index 0b1c286..de06574 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -76,18 +76,18 @@ _EOF mv $MOUNTDIR/boot/memtest.bin $MOUNTDIR/boot/memtest # copy /boot directory to final root -cp -a $MOUNTDIR/boot $MOUNTDIR2 +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 $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + 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 $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ ## add buildinfo #buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index 57e734e..ac1594c 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -73,11 +73,11 @@ cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && - cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + 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 $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ # add buildinfo buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index cb8ba54..a1d749f 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -112,11 +112,11 @@ cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && - cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + 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 $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ # add buildinfo buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index cb8ba54..a1d749f 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -112,11 +112,11 @@ cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && - cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + 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 $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ # add buildinfo buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" diff --git a/platforms/packages-dvd/pre.inc.sh b/platforms/packages-dvd/pre.inc.sh index e27531d..a6fc501 100644 --- a/platforms/packages-dvd/pre.inc.sh +++ b/platforms/packages-dvd/pre.inc.sh @@ -42,7 +42,7 @@ echo "Creating packages DVD..." # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && - cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ produce_media diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index cb8ba54..a1d749f 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -112,11 +112,11 @@ cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && - cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR2/ + 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 $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ + cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR2/ # add buildinfo buildinfo="`cat $MOUNTDIR/etc/openmamba-release` [$PRODUCT_NAME build:`date +%c`]" From 4601476c19fd64707560825cae2d702976a5591c Mon Sep 17 00:00:00 2001 From: root Date: Thu, 10 May 2012 14:48:53 +0200 Subject: [PATCH 077/186] rootfs: (arm) disable postplug filesystem check to prevent a crash seen in Hannspad sdk-root: add icecc --- platforms/rootfs/post.inc.sh | 6 ++++++ platforms/sdk-root/Makefile | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/platforms/rootfs/post.inc.sh b/platforms/rootfs/post.inc.sh index c3d6dda..8ab0479 100644 --- a/platforms/rootfs/post.inc.sh +++ b/platforms/rootfs/post.inc.sh @@ -121,6 +121,12 @@ 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 diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile index 0bf66ac..21c31be 100644 --- a/platforms/sdk-root/Makefile +++ b/platforms/sdk-root/Makefile @@ -12,7 +12,7 @@ $(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ tcpdump pcmcia-utils xdg-utils iproute syslog-ng \ rpm autospec autodist nfs-utils patch sudo smart \ pkgconfig diffutils autoconf automake libtool gettext xorg-server \ - tightvnc-server lxde midori $(MAKEDIST_TARGET)-devel + tightvnc-server lxde midori $(MAKEDIST_TARGET)-devel icecc $(MAKEDIST_TARGET)-sdk-root-missing: wpa_supplicant dosfstools cups vim postplug ipw2100-firmware ipw2200-firmware zd1211-firmware \ rt2501-firmware rt2870-firmware b43-tools r5u87x-firmware mdadm \ ndiswrapper slmodem unionfs_utils nfs-utils mbr From 49f2bdc3ed3dc16f042abb173673d4d0969fc583 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 31 May 2012 12:35:31 +0200 Subject: [PATCH 078/186] Add openssh-server to missing targets --- platforms/livecd-root/Makefile | 2 +- platforms/livedvd-root/Makefile | 2 +- platforms/livegames-root/Makefile | 2 +- platforms/livestudio-root/Makefile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 4d783da..3173d47 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -6,7 +6,7 @@ $(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desk $(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-Calc libreoffice-writer libreofice-impress $(MAKEDIST_TARGET)-livecd-root: \ - postplug-xorg postplug-sound \ + postplug-xorg postplug-sound openssh-server \ $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 5fd254a..b4fc52d 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -7,7 +7,7 @@ $(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 des $(MAKEDIST_TARGET)-livedvd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress $(MAKEDIST_TARGET)-livedvd-root: \ - postplug-xorg postplug-sound \ + postplug-xorg postplug-sound openssh-server \ $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 6776368..ecd6db5 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -9,7 +9,7 @@ $(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 d kubrick lskat palapeli $(MAKEDIST_TARGET)-livegames-root: \ - postplug-xorg postplug-sound \ + postplug-xorg postplug-sound openssh-server \ $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics \ diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile index 8b7b7fd..1106a2f 100644 --- a/platforms/livestudio-root/Makefile +++ b/platforms/livestudio-root/Makefile @@ -5,7 +5,7 @@ $(MAKEDIST_TARGET)-livestudio-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 #kitchensync4 $(MAKEDIST_TARGET)-livestudio-root: \ - postplug-xorg postplug-sound \ + postplug-xorg postplug-sound openssh-server \ $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ From ba0cad39b5c2b99ed41702737933968c5eca7bf1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 31 May 2012 13:11:01 +0200 Subject: [PATCH 079/186] livedvd-root: add gdb --- platforms/livedvd-root/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index b4fc52d..4850438 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -14,7 +14,7 @@ $(MAKEDIST_TARGET)-livedvd-root: \ ttf-freefont liberation-fonts-ttf \ gparted gag ntfs-3g libdvdcss \ chromium totem-mozilla-plugin \ - macbook-tools livecd-tools \ + macbook-tools livecd-tools gdb \ Mesa-tools driconf parted testdisk samba-server \ ndisgtk smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livedvd-kde4 toptray testdisk photorec From 34b5dd4f24b0c2d2e26345f7503060c278590d74 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 1 Jul 2012 14:27:18 +0200 Subject: [PATCH 080/186] rootfs: add support for kernel-mamba-arm kernel --- platforms/bootusb-test/settings.inc | 2 +- platforms/rootfs/Makefile | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/platforms/bootusb-test/settings.inc b/platforms/bootusb-test/settings.inc index 256e01c..281748c 100644 --- a/platforms/bootusb-test/settings.inc +++ b/platforms/bootusb-test/settings.inc @@ -1,6 +1,6 @@ MEDIA=cpio MULTITHREAD=1 -DISTROMATIC=off +#DISTROMATIC=off KERNEL_EXTRAVER=mamba KERNEL_PLATFORM="" diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 0597346..6fce1eb 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -7,7 +7,8 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-kde4: \ $(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ kernel-iconia kernel-iconia-modules kernel-hannspad kernel-hannspad-modules \ - brcm_patchram + kernel-mamba-arm kernel-mamba-arm-sound kernel-mamba-arm-wireless \ + kernel-mamba-arm-firmware brcm_patchram $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba kernel-mamba-sound kernel-mamba-wireless \ From 61036bea8978d2c6643d9793e904235b1462eb90 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 2 Jul 2012 10:37:10 +0200 Subject: [PATCH 081/186] Makefile.defs: set preferences for glibc vs. glibc-multilib in x86_64 --- Makefile.defs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index ed894fa..fb43f37 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -161,6 +161,18 @@ knetworkmanagervpnplugin = plasma-applet-networkmanagement-vpnc plasma-applet-ne packagekitgui = kpackagekit firewallgui = kcm_ufw +ifeq ($(ARCH),x86_64) +# 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 +endif + ifdef PLATFORM include $(TARGETSDIR)/$(TARGET)/platforms/$(PLATFORM)/Makefile.defs endif From 997739d3d87d456757ceff964a110cfc3d5fe923 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 2 Jul 2012 10:39:52 +0200 Subject: [PATCH 082/186] Switch to kernel-*-sound instead of kernel-*-sound-backport --- Makefile.defs | 4 ++-- settings.inc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index fb43f37..957bdb4 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -7,7 +7,7 @@ ifeq ($(ARCH),i586) # kernel kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia # kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx -kernelsound = kernel-$(KERNEL_EXTRAVER)-sound-backport +kernelsound = kernel-$(KERNEL_EXTRAVER)-sound kernelwireless = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl # kernel-$(KERNEL_EXTRAVER)-atl1e kernel-$(KERNEL_EXTRAVER)-rtl8192se kernelfglrx = kernel-$(KERNEL_EXTRAVER)-nongpl-fglrx @@ -26,7 +26,7 @@ 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-backport +kernelsound += kernel-$(KERNEL_MORE_EXTRAVER)-sound kernelwireless += kernel-$(KERNEL_MORE_EXTRAVER)-wireless kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-wl # kernel-$(KERNEL_MORE_EXTRAVER)-rtl8192se kernel-$(KERNEL_MORE_EXTRAVER)-atl1e kernelfglrx += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-fglrx diff --git a/settings.inc b/settings.inc index 9951a00..544bbcc 100644 --- a/settings.inc +++ b/settings.inc @@ -1,6 +1,6 @@ RELEASE=devel MAKEFILE_TARGET=${MAKEDIST_TARGET} -KERNEL_ADDITIONAL="sound-backport vboxvideo" +KERNEL_ADDITIONAL="sound vboxvideo" #COMPRESSEDFSSIZE=400000 #COMPRESSEDFSBLOCKSIZE=1k From ce9a173ef3199a5ea8fc37ee89a44eb91fb5b869 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 2 Jul 2012 15:07:04 +0200 Subject: [PATCH 083/186] Makefile.defs: add preferences for libOpenCL.so.1 --- Makefile.defs | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.defs b/Makefile.defs index 957bdb4..5f9b586 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -63,6 +63,7 @@ xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xo # xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-vboxvideo 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 libGL.so.1 = libGL-Mesa-dri From ad6560f2999593053d3aae8bf2f25562c8bcb3a7 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 2 Jul 2012 15:11:39 +0200 Subject: [PATCH 084/186] Drop reiser4 support (patch is missing since kernel 3.2) --- Makefile | 2 +- platforms/bootcd/post.inc.sh | 2 +- platforms/bootusb-test/post.inc.sh | 2 +- platforms/bootusb/post.inc.sh | 2 +- platforms/flash-1GB/post.inc.sh | 2 +- platforms/flash-512MB/post.inc.sh | 2 +- platforms/flash-server/post.inc.sh | 2 +- platforms/installdvd/post.inc.sh | 2 +- platforms/livecd/post.inc.sh | 2 +- platforms/livedvd/post.inc.sh | 2 +- platforms/sdk-root/Makefile | 2 +- platforms/sdk-root/post.inc.sh | 2 +- platforms/testcd/post.inc.sh | 2 +- platforms/virtualserver/post.inc.sh | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 7699928..f2a0c9b 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-commontools: sysvinit util-linux module-init-tools \ 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 xinetd less \ - reiserfsprogs reiser4progs ppp b43-tools mdadm usb-modeswitch \ + reiserfsprogs ppp b43-tools mdadm usb-modeswitch \ ndiswrapper slmodem usbutils ftp telnet eject bluez lsof \ tcpdump pcmcia-utils xdg-utils unionfs_utils iproute $(MAKEDIST_TARGET)-firmwares \ $(MAKEDIST_TARGET)-devel diff --git a/platforms/bootcd/post.inc.sh b/platforms/bootcd/post.inc.sh index 5b6ddc8..6c1df01 100644 --- a/platforms/bootcd/post.inc.sh +++ b/platforms/bootcd/post.inc.sh @@ -10,7 +10,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh index 3f462ae..b502943 100644 --- a/platforms/bootusb-test/post.inc.sh +++ b/platforms/bootusb-test/post.inc.sh @@ -3,7 +3,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index de06574..5c692b5 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -2,7 +2,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 0fef475..8098ce7 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -14,7 +14,7 @@ sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab chroot $MOUNTDIR depmod -a LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh index 466ba6c..50b083e 100644 --- a/platforms/flash-512MB/post.inc.sh +++ b/platforms/flash-512MB/post.inc.sh @@ -13,7 +13,7 @@ sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/flash-server/post.inc.sh b/platforms/flash-server/post.inc.sh index dea0fd2..00096c0 100644 --- a/platforms/flash-server/post.inc.sh +++ b/platforms/flash-server/post.inc.sh @@ -6,7 +6,7 @@ # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index ac1594c..9cf0e56 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -10,7 +10,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index a1d749f..ee88ffe 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index a1d749f..ee88ffe 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile index 21c31be..a34c5d8 100644 --- a/platforms/sdk-root/Makefile +++ b/platforms/sdk-root/Makefile @@ -8,7 +8,7 @@ $(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ NetworkManager ModemManager net-tools mc \ timezone wireless_tools openmamba-release openssh-clients \ man iptables iputils xinetd less mtd-utils bluez \ - reiserfsprogs reiser4progs ppp usbutils ftp telnet eject \ + reiserfsprogs ppp usbutils ftp telnet eject \ tcpdump pcmcia-utils xdg-utils iproute syslog-ng \ rpm autospec autodist nfs-utils patch sudo smart \ pkgconfig diffutils autoconf automake libtool gettext xorg-server \ diff --git a/platforms/sdk-root/post.inc.sh b/platforms/sdk-root/post.inc.sh index 777d93c..c870d66 100644 --- a/platforms/sdk-root/post.inc.sh +++ b/platforms/sdk-root/post.inc.sh @@ -88,7 +88,7 @@ if [ ! "$KERNEL_IGNORE" ]; then # create universal initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 reiserfs reiser4" \ + --filesystems "ext3 ext4 reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index a1d749f..ee88ffe 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/virtualserver/post.inc.sh b/platforms/virtualserver/post.inc.sh index b50e507..2177e05 100644 --- a/platforms/virtualserver/post.inc.sh +++ b/platforms/virtualserver/post.inc.sh @@ -6,7 +6,7 @@ # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs reiser4" \ + --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} From eb3aa62dbde702e74aa288b810537db8a7f15598 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 19 Aug 2012 14:03:32 +0200 Subject: [PATCH 085/186] livecd-gnome: added gimp, vlc and gconf-editor --- platforms/livecd-gnome-root/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 75d9641..9a6f587 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -11,7 +11,7 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ gdm gnome-session gnome-common gnome-control-center gnome-desktop gnome-desktop-sharp \ gnome-keyring gnome-menus gnome-mime-data gnome-packagekit gnome-panel gnome-settings-daemon \ gnome-sharp gnome-terminal nautilus gnome-themes evolution gnome-utils gnome-system-log \ - desktop-base-gnome + desktop-base-gnome gimp vlc gconf-editor #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok $(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress From 1afa4d43ca4d54cbbbc8e0e3573d2a048349a81f Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 19 Aug 2012 20:02:24 +0200 Subject: [PATCH 086/186] rootfs-light: new LXDE based target for x86, x86_64 and arm --- Makefile.defs | 2 + platforms/rootfs-light/Makefile | 36 +++++ platforms/rootfs-light/Makefile.defs | 2 + platforms/rootfs-light/post.inc.sh | 125 ++++++++++++++++++ platforms/rootfs-light/root/etc/dhcpd.conf | 30 +++++ .../rootfs-light/root/etc/sysconfig/dhcpd | 3 + platforms/rootfs-light/settings.inc | 27 ++++ 7 files changed, 225 insertions(+) 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 diff --git a/Makefile.defs b/Makefile.defs index 5f9b586..286c0ec 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -68,6 +68,8 @@ 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 libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri +libGL.so.1[][64bit] = libGL-Mesa-dri +libGLU.so.1[][64bit] = libGL-Mesa-dri splashtheme = splash-theme-openmamba diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile new file mode 100644 index 0000000..d3f1e63 --- /dev/null +++ b/platforms/rootfs-light/Makefile @@ -0,0 +1,36 @@ +$(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 midori + +$(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 \ + parted iputils file rootfiles ppp minicom xinetd 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 syslog-ng sysvinit kmod \ + liblame expect prelink NetworkManager ModemManager 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 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: 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..7b89e15 --- /dev/null +++ b/platforms/rootfs-light/post.inc.sh @@ -0,0 +1,125 @@ +## disable tty virtual consoles +#sed -i "s|\(.:2345:respawn.*\)|#\1|" $MOUNTDIR/etc/inittab + +# configure for serial console login +#echo "s0:2345:respawn:/sbin/agetty -L -f /etc/issue 115200 tcc-uart0 vt100" >> $MOUNTDIR/etc/inittab + +# configure default root password +echo "openmamba" | chroot $MOUNTDIR passwd root --stdin + +# 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 + +if [ ! "$KERNEL_IGNORE" ]; then + # run depmod + chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}-${KERNEL_EXTRAVER} +fi + +# 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:2345:respawn:/sbin/mingetty --autologin root --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/agetty tty1 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^2:.*,2:2345:respawn:/sbin/agetty tty2 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^3:.*,3:2345:respawn:/sbin/agetty ttyS0 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyAMA0 9600,' $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 + +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..698968a --- /dev/null +++ b/platforms/rootfs-light/settings.inc @@ -0,0 +1,27 @@ +if [ "$ARCH" = "arm" ]; then + KERNEL_EXTRAVER= + #KERNEL_PLATFORM="" + KERNEL_ADDITIONAL="" + KERNEL_IGNORE=true +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 From ab8c4a5489eed7737d41efebb25c727027c34d5e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 5 Sep 2012 16:08:43 +0200 Subject: [PATCH 087/186] rootfs/rootfs-light: some fixes for arm target --- platforms/rootfs-light/Makefile | 2 +- platforms/rootfs-light/post.inc.sh | 28 ++++++++++++---------------- platforms/rootfs/Makefile | 2 +- platforms/rootfs/post.inc.sh | 25 +++++++++---------------- 4 files changed, 23 insertions(+), 34 deletions(-) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index d3f1e63..ba2a7ef 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ liblame expect prelink NetworkManager ModemManager procps \ xorg-server x11vnc xkeyboard-config \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ - dhcp-server rfkill plymouth livecd-tools rdesktop \ + dhcp-server rfkill plymouth livecd-tools rdesktop mingetty \ postplug-xorg postplug-sound gparted tar net-tools chrony mambatray kvkbd # startactive diff --git a/platforms/rootfs-light/post.inc.sh b/platforms/rootfs-light/post.inc.sh index 7b89e15..1bd7dfd 100644 --- a/platforms/rootfs-light/post.inc.sh +++ b/platforms/rootfs-light/post.inc.sh @@ -1,12 +1,3 @@ -## disable tty virtual consoles -#sed -i "s|\(.:2345:respawn.*\)|#\1|" $MOUNTDIR/etc/inittab - -# configure for serial console login -#echo "s0:2345:respawn:/sbin/agetty -L -f /etc/issue 115200 tcc-uart0 vt100" >> $MOUNTDIR/etc/inittab - -# configure default root password -echo "openmamba" | chroot $MOUNTDIR passwd root --stdin - # add fstab entries #cat >> $MOUNTDIR/etc/fstab << _EOF #/dev/mmcblk0p1 /mnt/sd0 auto defaults,noauto 0 0 @@ -76,16 +67,18 @@ 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:2345:respawn:/sbin/mingetty --autologin root --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^1:.*,1:234:respawn:/sbin/agetty tty1 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^2:.*,2:2345:respawn:/sbin/agetty tty2 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^3:.*,3:2345:respawn:/sbin/agetty ttyS0 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyAMA0 9600,' $MOUNTDIR/etc/inittab -sed -i '/^[5-6]:.*/d' $MOUNTDIR/etc/inittab +# 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyS0 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 9600,' $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 @@ -122,4 +115,7 @@ cat > $MOUNTDIR/home/liveuser/.icons/default/index.theme << _EOF Inherits=xcursor-transparent _EOF +# configure default liveuser password +echo "openmamba" | chroot $MOUNTDIR passwd liveuser --stdin + prelink diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 6fce1eb..7bbb897 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -23,7 +23,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ liblame expect prelink NetworkManager ModemManager procps \ xorg-server x11vnc xkeyboard-config \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ - dhcp-server rfkill plymouth livecd-tools chromium \ + dhcp-server rfkill plymouth livecd-tools chromium rdesktop mingetty \ postplug-xorg postplug-sound gparted tar net-tools chrony mambatray kvkbd # startactive diff --git a/platforms/rootfs/post.inc.sh b/platforms/rootfs/post.inc.sh index 8ab0479..826f975 100644 --- a/platforms/rootfs/post.inc.sh +++ b/platforms/rootfs/post.inc.sh @@ -1,12 +1,3 @@ -## disable tty virtual consoles -#sed -i "s|\(.:2345:respawn.*\)|#\1|" $MOUNTDIR/etc/inittab - -# configure for serial console login -#echo "s0:2345:respawn:/sbin/agetty -L -f /etc/issue 115200 tcc-uart0 vt100" >> $MOUNTDIR/etc/inittab - -# configure default root password -echo "openmamba" | chroot $MOUNTDIR passwd root --stdin - # add fstab entries #cat >> $MOUNTDIR/etc/fstab << _EOF #/dev/mmcblk0p1 /mnt/sd0 auto defaults,noauto 0 0 @@ -79,13 +70,12 @@ _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:2345:respawn:/sbin/mingetty --autologin root --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^1:.*,1:234:respawn:/sbin/agetty tty1 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^2:.*,2:2345:respawn:/sbin/agetty tty2 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^3:.*,3:2345:respawn:/sbin/agetty ttyS0 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyAMA0 9600,' $MOUNTDIR/etc/inittab -sed -i '/^[5-6]:.*/d' $MOUNTDIR/etc/inittab +sed -i 's,^1:.*,1:234:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab +sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $MOUNTDIR/etc/inittab +sed -i 's,^4:.*,4:2345:respawn:/sbin/agetty ttyS0 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab +sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 9600,' $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 @@ -134,4 +124,7 @@ cat > $MOUNTDIR/home/liveuser/.icons/default/index.theme << _EOF Inherits=xcursor-transparent _EOF +# configure default liveuser password +echo "openmamba" | chroot $MOUNTDIR passwd liveuser --stdin + prelink From 05bc38b08865d35e0b4afab4ef5c3e587fa72912 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 8 Sep 2012 19:15:30 +0200 Subject: [PATCH 088/186] Makefile.defs (global): added r8101 ethernet driver --- Makefile.defs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index 286c0ec..680fe1f 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -8,7 +8,8 @@ ifeq ($(ARCH),i586) kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia # kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx kernelsound = kernel-$(KERNEL_EXTRAVER)-sound -kernelwireless = kernel-$(KERNEL_EXTRAVER)-wireless kernel-$(KERNEL_EXTRAVER)-nongpl-wl +# 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 # kernel-$(KERNEL_EXTRAVER)-atl1e kernel-$(KERNEL_EXTRAVER)-rtl8192se kernelfglrx = kernel-$(KERNEL_EXTRAVER)-nongpl-fglrx kernelslmodem = kernel-$(KERNEL_EXTRAVER)-nongpl-softmodems From 94cd0568c3c6e6183e16a06ad50819997c34a8d1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 15 Sep 2012 19:10:08 +0200 Subject: [PATCH 089/186] All platforms: use --loginpause instead of --loginprog .. which doesn't work since login switch to util-linux 2.22; requires mingetty 1.08 --- platforms/flash-1GB/post.inc.sh | 2 +- platforms/flash-512MB/post.inc.sh | 2 +- platforms/livecd-gnome-root/post.inc.sh | 4 ++-- platforms/livecd-light-root/post.inc.sh | 4 ++-- platforms/livecd-root/post.inc.sh | 4 ++-- platforms/livedvd-root/post.inc.sh | 4 ++-- platforms/livegames-root/post.inc.sh | 4 ++-- platforms/livestudio-root/post.inc.sh | 4 ++-- platforms/rootfs-light/post.inc.sh | 4 ++-- platforms/rootfs/post.inc.sh | 4 ++-- platforms/testcd-root/post.inc.sh | 4 ++-- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 8098ce7..5d6620d 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -6,7 +6,7 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $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 --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh index 50b083e..76fefb3 100644 --- a/platforms/flash-512MB/post.inc.sh +++ b/platforms/flash-512MB/post.inc.sh @@ -6,7 +6,7 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $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 --noclear tty\1,' $MOUNTDIR/etc/inittab sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 066e728..5851121 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -6,8 +6,8 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index 4d0c12d..a681b8d 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -6,8 +6,8 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 1d9a608..cf9d30d 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -6,8 +6,8 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 0413984..6e830d1 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -6,8 +6,8 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index 5edf037..631c908 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -6,8 +6,8 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/livestudio-root/post.inc.sh b/platforms/livestudio-root/post.inc.sh index 63ae7f2..4fdeccd 100644 --- a/platforms/livestudio-root/post.inc.sh +++ b/platforms/livestudio-root/post.inc.sh @@ -6,8 +6,8 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot diff --git a/platforms/rootfs-light/post.inc.sh b/platforms/rootfs-light/post.inc.sh index 1bd7dfd..42f7727 100644 --- a/platforms/rootfs-light/post.inc.sh +++ b/platforms/rootfs-light/post.inc.sh @@ -73,8 +73,8 @@ _EOF 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 9600,' $MOUNTDIR/etc/inittab sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 9600,' $MOUNTDIR/etc/inittab diff --git a/platforms/rootfs/post.inc.sh b/platforms/rootfs/post.inc.sh index 826f975..f97142c 100644 --- a/platforms/rootfs/post.inc.sh +++ b/platforms/rootfs/post.inc.sh @@ -70,8 +70,8 @@ _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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 9600,' $MOUNTDIR/etc/inittab sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 9600,' $MOUNTDIR/etc/inittab diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 1d9a608..cf9d30d 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -6,8 +6,8 @@ # 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 --loginprog /sbin/login.live --noclear tty1,' $MOUNTDIR/etc/inittab -sed -i 's,^\([2-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --loginprog /sbin/login.live --noclear tty\1,' $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 '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # configure for runlevel 5 boot From 06c9b5dde44a3266ded64242c311eded5e3e80c1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 20 Sep 2012 11:42:50 +0200 Subject: [PATCH 090/186] Makefile.defs: add global preference for util-linux for /bin/login --- Makefile.defs | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.defs b/Makefile.defs index 680fe1f..a9d95cf 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -129,6 +129,7 @@ perl[Automake__XFile] = automake /usr/bin/expectk = expect85-tk /usr/bin/test = coreutils /sbin/nologin= util-linux +/sbin/login= util-linux /sbin/shutdown = sysvinit /usr/bin/chfn= pwdutils /usr/bin/chsh= pwdutils From 1bf0c0e64d4eb74034e38e3fd10ed06c6151780d Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 18 Oct 2012 16:43:40 +0200 Subject: [PATCH 091/186] Makefile.defs: util-linux path change for login program --- Makefile.defs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index a9d95cf..debebf4 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -129,7 +129,7 @@ perl[Automake__XFile] = automake /usr/bin/expectk = expect85-tk /usr/bin/test = coreutils /sbin/nologin= util-linux -/sbin/login= util-linux +/bin/login= util-linux /sbin/shutdown = sysvinit /usr/bin/chfn= pwdutils /usr/bin/chsh= pwdutils From 102f509b27fc0feb48f9cd586b4b3760334aa520 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 18 Oct 2012 16:45:47 +0200 Subject: [PATCH 092/186] rootfs, rootfs-light: added screen --- platforms/rootfs-light/Makefile | 2 +- platforms/rootfs/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index ba2a7ef..395640a 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -8,7 +8,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-wireless $(MAKEDIST_TARGET)-$(PLATFORM): \ - lxde openssh-server usbutils wireless_tools \ + lxde openssh-server usbutils wireless_tools screen \ parted iputils file rootfiles ppp minicom xinetd 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 \ diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 7bbb897..39a5ab5 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -21,7 +21,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ openssh-clients binutils telnet ftp debianutils diffutils bluez traceroute \ openmamba-devel timezone sudo syslog-ng sysvinit kmod \ liblame expect prelink NetworkManager ModemManager procps \ - xorg-server x11vnc xkeyboard-config \ + xorg-server x11vnc xkeyboard-config screen \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ dhcp-server rfkill plymouth livecd-tools chromium rdesktop mingetty \ postplug-xorg postplug-sound gparted tar net-tools chrony mambatray kvkbd From ca257f835095cceba84915ac8590d51c23664f1c Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 21 Nov 2012 18:45:11 +0100 Subject: [PATCH 093/186] Makefile.defs: x86_64 support --- Makefile.defs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index debebf4..465e4be 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -64,6 +64,17 @@ xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xo # xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-vboxvideo 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 +xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-intel xorg-drv-video-nvidia xorg-drv-video-nouveau xorg-drv-video-ati +# xorg-drv-video-fglrx +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 @@ -99,7 +110,11 @@ libjawt.so[SUNWprivate_1.1] = sun-java-runtime libmawt.so[SUNWprivate_1.1] = sun-java-runtime libnet.so[SUNWprivate_1.1] = sun-java-runtime libverify.so[SUNWprivate_1.1] = sun-java-runtime +ifeq ($(ARCH),x86_64) +libphonon.so.4[][64bit] = libphonon +else libphonon.so.4 = libphonon +endif /usr/bin/python = python python[abi] = python libpython = libpython From d60957e0eeb89d8cb07d80a78b2afc5fb80eb941 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 22 Nov 2012 11:19:42 +0100 Subject: [PATCH 094/186] rootfs-light: use florence as virtual keyboard insted of kvkbd which requires kdelibs --- platforms/rootfs-light/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 395640a..7154a2a 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -17,7 +17,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ xorg-server x11vnc xkeyboard-config \ 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 + postplug-xorg postplug-sound gparted tar net-tools chrony mambatray florence # startactive # tightvnc-server lxde network-manager-applet matchbox-keyboard midori Mesa-tools alsa-utils From 5a3da834283ec514dd4bb3d715bb076fc25e6402 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 30 Nov 2012 13:36:58 +0100 Subject: [PATCH 095/186] Makefile.defs: support for [kernelwireless|kernelsound]-%(KERNEL_PLATFORM} virtual requirements introduced since 3.6.7 --- Makefile.defs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 465e4be..38d1888 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -6,10 +6,11 @@ libpthread.so.0 = glibc ifeq ($(ARCH),i586) # kernel kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia -# kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_71xx kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia_96xx kernelsound = kernel-$(KERNEL_EXTRAVER)-sound # 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 # kernel-$(KERNEL_EXTRAVER)-atl1e kernel-$(KERNEL_EXTRAVER)-rtl8192se kernelfglrx = kernel-$(KERNEL_EXTRAVER)-nongpl-fglrx kernelslmodem = kernel-$(KERNEL_EXTRAVER)-nongpl-softmodems @@ -28,7 +29,9 @@ ifdef KERNEL_MORE_EXTRAVER 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 -kernelwireless += kernel-$(KERNEL_MORE_EXTRAVER)-wireless kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-wl +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 # kernel-$(KERNEL_MORE_EXTRAVER)-rtl8192se kernel-$(KERNEL_MORE_EXTRAVER)-atl1e kernelfglrx += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-fglrx kernelslmodem += kernel-$(KERNEL_MORE_EXTRAVER)-nongpl-softmodems From 1f6cabfc94d9d164f6ddacc7139bc9462d75aab9 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 30 Nov 2012 13:38:47 +0100 Subject: [PATCH 096/186] rootfs, rootfs-light: set tty*S0 default console speed to 115200 instead of 9600 --- platforms/rootfs-light/post.inc.sh | 6 +++--- platforms/rootfs/post.inc.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/platforms/rootfs-light/post.inc.sh b/platforms/rootfs-light/post.inc.sh index 42f7727..749750c 100644 --- a/platforms/rootfs-light/post.inc.sh +++ b/platforms/rootfs-light/post.inc.sh @@ -75,9 +75,9 @@ echo "Forcing \`inittab' to open tty root shells with no 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 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 9600,' $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 diff --git a/platforms/rootfs/post.inc.sh b/platforms/rootfs/post.inc.sh index f97142c..a80a083 100644 --- a/platforms/rootfs/post.inc.sh +++ b/platforms/rootfs/post.inc.sh @@ -72,9 +72,9 @@ _EOF 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 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^5:.*,5:2345:respawn:/sbin/agetty ttyGS0 9600,' $MOUNTDIR/etc/inittab -sed -i 's,^6:.*,6:2345:respawn:/sbin/agetty ttyAMA0 9600,' $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 From 14d91caa9a809a22e523e629217c7d3f3140a3ae Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 6 Dec 2012 13:50:35 +0100 Subject: [PATCH 097/186] rootfs, rootfs-light: add i2c-tools --- platforms/rootfs-light/Makefile | 2 +- platforms/rootfs/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 7154a2a..90d82c5 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -8,7 +8,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-wireless $(MAKEDIST_TARGET)-$(PLATFORM): \ - lxde openssh-server usbutils wireless_tools screen \ + lxde openssh-server usbutils wireless_tools screen i2c-tools \ parted iputils file rootfiles ppp minicom xinetd 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 \ diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 39a5ab5..dbb224f 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-wireless $(MAKEDIST_TARGET)-$(PLATFORM): \ - $(MAKEDIST_TARGET)-$(PLATFORM)-kde4 openssh-server usbutils wireless_tools \ + $(MAKEDIST_TARGET)-$(PLATFORM)-kde4 openssh-server usbutils wireless_tools i2c-tools \ parted iputils file rootfiles ppp minicom xinetd 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 \ From aff6c840d0ca8cf6e8b10aaf9eb6ff315203a9bc Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 6 Dec 2012 16:44:52 +0100 Subject: [PATCH 098/186] makedist.inc.sh: support for enabling additional smart repositories (ported from openmamba-milestone2) --- makedist.inc.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/makedist.inc.sh b/makedist.inc.sh index 233b048..b8c63fd 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -164,4 +164,12 @@ rm -rf $MOUNTDIR/tmp/kde-root [ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR/ +# 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 + produce_media From 72b3d1782cf78b8fd8dbdc7bc8e9d650d274617c Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 6 Dec 2012 16:55:48 +0100 Subject: [PATCH 099/186] livecd-root: post.inc.sh: exit on error if adding kde favorites fails --- platforms/livecd-root/post.inc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index cf9d30d..e2fbb9c 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -44,7 +44,7 @@ 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 + chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f || exit 1 done for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do From 5e36e68ee50f78fddc9040f3067980f8ec4070b1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 23 Dec 2012 14:55:37 +0100 Subject: [PATCH 100/186] Makefile.defs: configure libatlas as preference between libatlas* multiple providers --- Makefile.defs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index 38d1888..fcb658d 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -86,7 +86,6 @@ libGLU.so.1 = libGL-Mesa-dri libGL.so.1[][64bit] = libGL-Mesa-dri libGLU.so.1[][64bit] = libGL-Mesa-dri - splashtheme = splash-theme-openmamba ifeq ($(ARCH),i586) @@ -168,6 +167,11 @@ libgs.so.9 = ghostscript udev = udev libudev.so.0 = udev libgudev-1.0.so.0 = udev +libatlas.so.3 = libatlas +libcblas.so.3 = libatlas +libf77blas.so.3 = libatlas +libptcblas.so.3 = libatlas +libptf77blas.so.3 = libatlas # ffmpeg / libav libpostproc.so.51 = libpostproc-ffmpeg From ee724130cd41c058aec194ab0629631e00c2f31f Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 23 Dec 2012 15:59:55 +0100 Subject: [PATCH 101/186] livecd-light-root: x86_64 support --- platforms/livecd-light-root/settings.inc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/platforms/livecd-light-root/settings.inc b/platforms/livecd-light-root/settings.inc index 13f939a..8cb87a8 100644 --- a/platforms/livecd-light-root/settings.inc +++ b/platforms/livecd-light-root/settings.inc @@ -1,13 +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 -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules" - -KERNEL_MORE_EXTRAVER=mamba-64GB - TARGET_HOSTNAME=openmamba-light ROOTDEV= ROOTFS= From cf3b38130583f18c87dd39b2fd570d55be2e69a0 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 23 Dec 2012 18:56:42 +0100 Subject: [PATCH 102/186] Makefile: remove ndiswrapper and slmodem from -commontools target Makefile.defs: x86_64: add requirement default for ghostscript --- Makefile | 2 +- Makefile.defs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f2a0c9b..c65bafb 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-commontools: sysvinit util-linux module-init-tools \ wireless_tools wpa_supplicant openmamba-release refit-tools openssh-clients \ dosfstools man mbr iptables cups vim iputils sudo postplug xinetd less \ reiserfsprogs ppp b43-tools mdadm usb-modeswitch \ - ndiswrapper slmodem usbutils ftp telnet eject bluez lsof \ + usbutils ftp telnet eject bluez lsof \ tcpdump pcmcia-utils xdg-utils unionfs_utils iproute $(MAKEDIST_TARGET)-firmwares \ $(MAKEDIST_TARGET)-devel $(MAKEDIST_TARGET)-debug: strace valgrind gdb minicom openssh-server dhcpclient rpm iputils \ diff --git a/Makefile.defs b/Makefile.defs index fcb658d..f860119 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -198,6 +198,7 @@ ifeq ($(ARCH),x86_64) /usr/bin/localedef = glibc rtld[GNU_HASH] = ldconfig rtld[GNU_UNIQUE] = ldconfig +libgs.so.9[][64bit] = ghostscript endif ifdef PLATFORM From fdbda9e5d5ee9a41ec949f48e7831117b44e6e2d Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 3 Jan 2013 13:35:07 +0100 Subject: [PATCH 103/186] gag removed from various targets --- platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-light-root/Makefile | 2 +- platforms/livecd-root/Makefile | 2 +- platforms/livedvd-root/Makefile | 2 +- platforms/livegames-root/Makefile | 2 +- platforms/livestudio-root/Makefile | 2 +- platforms/testcd-root/Makefile | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 9a6f587..177c5df 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -22,7 +22,7 @@ $(MAKEDIST_TARGET)-livecd-gnome-root: \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ - gparted gag ntfs-3g libdvdcss \ + gparted ntfs-3g libdvdcss \ chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index c02c864..6b4907a 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -17,7 +17,7 @@ $(MAKEDIST_TARGET)-livecd-light-root: \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ - gparted gag ntfs-3g libdvdcss \ + gparted ntfs-3g libdvdcss \ chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 3173d47..dea8be0 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -11,7 +11,7 @@ $(MAKEDIST_TARGET)-livecd-root: \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ - gparted gag ntfs-3g libdvdcss \ + gparted ntfs-3g libdvdcss \ chromium \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 4850438..a35d7bd 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -12,7 +12,7 @@ $(MAKEDIST_TARGET)-livedvd-root: \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ - gparted gag ntfs-3g libdvdcss \ + gparted ntfs-3g libdvdcss \ chromium totem-mozilla-plugin \ macbook-tools livecd-tools gdb \ Mesa-tools driconf parted testdisk samba-server \ diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index ecd6db5..efeb6c5 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -14,7 +14,7 @@ $(MAKEDIST_TARGET)-livegames-root: \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics \ ttf-freefont liberation-fonts-ttf \ - gparted gag ntfs-3g samba-server \ + gparted ntfs-3g samba-server \ chromium totem-mozilla-plugin \ macbook-tools livecd-tools \ kdebluetooth Mesa-tools driconf \ diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile index 1106a2f..e60f9dc 100644 --- a/platforms/livestudio-root/Makefile +++ b/platforms/livestudio-root/Makefile @@ -10,7 +10,7 @@ $(MAKEDIST_TARGET)-livestudio-root: \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ - gag gparted ntfs-3g samba-server libdvdcss \ + gparted ntfs-3g samba-server libdvdcss \ kaffeine wine gimp cinepaint \ audacity \ macbook-tools livecd-tools \ diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 7ac74a2..b752c31 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -12,7 +12,7 @@ $(MAKEDIST_TARGET)-testcd-root: \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ - gparted gag ntfs-3g libdvdcss \ + gparted ntfs-3g libdvdcss \ chromium \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ From 801e5a961984973077af03e8c38257cf8f2f3977 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 18 Jan 2013 16:06:52 +0100 Subject: [PATCH 104/186] Makefile.defs: support kernel version in kernelsound-* and kernelwireless-* virtual requirements --- Makefile.defs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index f860119..84c5ebd 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -11,6 +11,8 @@ kernelsound = kernel-$(KERNEL_EXTRAVER)-sound 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 @@ -32,6 +34,8 @@ kernelsound += kernel-$(KERNEL_MORE_EXTRAVER)-sound 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 From b1d96a461cc64b8c93b31d60ca8c1908a524c701 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 24 Jan 2013 01:37:25 +0100 Subject: [PATCH 105/186] Remove ndisgtk from all platforms --- platforms/flash-1GB/Makefile | 2 +- platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-light-root/Makefile | 2 +- platforms/livecd-root/Makefile | 2 +- platforms/livedvd-root/Makefile | 2 +- platforms/livegames-root/Makefile | 2 +- platforms/livestudio-root/Makefile | 2 +- platforms/testcd-root/Makefile | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/platforms/flash-1GB/Makefile b/platforms/flash-1GB/Makefile index c0e52a7..164c8ab 100644 --- a/platforms/flash-1GB/Makefile +++ b/platforms/flash-1GB/Makefile @@ -6,7 +6,7 @@ $(MAKEDIST_TARGET)-flash-1GB: \ kppp4 \ smart-gui gparted kmix msysklogd ntfs-3g \ xorg-drv-input-synaptics \ - macbook-tools kdebluetooth4 livecd-tools ndisgtk \ + macbook-tools kdebluetooth4 livecd-tools \ mambatray syslinux memtest86+ # knemo # Localization targets diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 177c5df..1b8701d 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -27,7 +27,7 @@ $(MAKEDIST_TARGET)-livecd-gnome-root: \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ samba-server \ - ndisgtk smart-gui laptop-mode-tools mambatray \ + smart-gui laptop-mode-tools mambatray \ $(MAKEDIST_TARGET)-livecd-gnome # Localization targets diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index 6b4907a..c7666c4 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -22,7 +22,7 @@ $(MAKEDIST_TARGET)-livecd-light-root: \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ samba-server \ - ndisgtk smart-gui cpufreqd mambatray \ + smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livecd-light # Localization targets diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index dea8be0..60d10b1 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-livecd-root: \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ samba-server \ - ndisgtk smart-gui cpufreqd mambatray \ + smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livecd-kde4 # libopensync-plugin-syncml libopensync-plugin-google-calendar \ # libopensync-plugin-gnokii libopensync-plugin-synce \ diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index a35d7bd..e7ae271 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-livedvd-root: \ chromium totem-mozilla-plugin \ macbook-tools livecd-tools gdb \ Mesa-tools driconf parted testdisk samba-server \ - ndisgtk smart-gui cpufreqd mambatray \ + smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livedvd-kde4 toptray testdisk photorec # libopensync-plugin-syncml libopensync-plugin-google-calendar \ # libopensync-plugin-gnokii libopensync-plugin-synce \ diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index efeb6c5..fe23a95 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -23,7 +23,7 @@ $(MAKEDIST_TARGET)-livegames-root: \ pingus gnuchess powermanga FlightGear frozen-bubble \ monkey-bubble pathological neverball \ tuxkart gtans moagg knights \ - torcs xmame openarena ndisgtk smart-gui \ + torcs xmame openarena smart-gui \ enemy-territory-client enemy-territory-etpro \ enemy-territory-server enemy-territory-server-etpro \ scorched3d gngeo supertux freeciv xmoto \ diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile index e60f9dc..91552c0 100644 --- a/platforms/livestudio-root/Makefile +++ b/platforms/livestudio-root/Makefile @@ -19,7 +19,7 @@ $(MAKEDIST_TARGET)-livestudio-root: \ mixxx lives muse puredata \ qtractor rosegarden ZynAddSubFX timidity \ qsynth qjackctl kino hydrogen vlc digikam \ - cheese kpdf ndisgtk cinelerra \ + cheese kpdf cinelerra \ smart-gui cpufreqd mambatray \ desktop-base-openmamba gtick lingot mandvd denemo miro \ $(MAKEDIST_TARGET)-livestudio-kde4 diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index b752c31..74cb574 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -17,7 +17,7 @@ $(MAKEDIST_TARGET)-testcd-root: \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ samba-server \ - ndisgtk smart-gui cpufreqd mambatray \ + smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-testcd-kde4 openssh-server # libopensync-plugin-syncml libopensync-plugin-google-calendar \ # libopensync-plugin-gnokii libopensync-plugin-synce \ From 37ea9ba35e652be71368ee18247f019d39e0c262 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 24 Jan 2013 02:08:35 +0100 Subject: [PATCH 106/186] livecd, livecd-root: x86_64 support --- platforms/livecd-root/settings.inc | 13 ++++++++++--- platforms/livecd/settings.inc | 12 +++++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/platforms/livecd-root/settings.inc b/platforms/livecd-root/settings.inc index ec396d9..8fb7c28 100644 --- a/platforms/livecd-root/settings.inc +++ b/platforms/livecd-root/settings.inc @@ -2,9 +2,16 @@ PRODUCT_NAME=livecd MEDIA=squash_xz MULTITHREAD=1 -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules" +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= diff --git a/platforms/livecd/settings.inc b/platforms/livecd/settings.inc index dfb9289..71439e7 100644 --- a/platforms/livecd/settings.inc +++ b/platforms/livecd/settings.inc @@ -1,9 +1,15 @@ MEDIA=iso MULTITHREAD=1 DISTROMATIC=off -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="vboxvideo" +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" From 24ed994bc1441fb1c754290e53674cd131bc4484 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 24 Jan 2013 03:02:31 +0100 Subject: [PATCH 107/186] bootusb, bootcd: x86_64 support --- platforms/bootcd/settings.inc | 15 ++++++++++++--- platforms/bootusb/settings.inc | 16 +++++++++++----- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/platforms/bootcd/settings.inc b/platforms/bootcd/settings.inc index d260f2d..cbef2a7 100644 --- a/platforms/bootcd/settings.inc +++ b/platforms/bootcd/settings.inc @@ -2,9 +2,18 @@ MEDIA=iso MULTITHREAD=1 DISTROMATIC=off -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules" +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 diff --git a/platforms/bootusb/settings.inc b/platforms/bootusb/settings.inc index 9834c2c..63a6f2a 100644 --- a/platforms/bootusb/settings.inc +++ b/platforms/bootusb/settings.inc @@ -2,11 +2,17 @@ MEDIA=cpio MULTITHREAD=1 DISTROMATIC=on -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules wireless sound" - -KERNEL_MORE_EXTRAVER=mamba-64GB +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" From 0c615d20edaaa46353212b52dd4ecb60d7c1a285 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 26 Jan 2013 14:35:43 +0100 Subject: [PATCH 108/186] Makefile.defs: set syslinux bootloader for x86_64 also --- Makefile.defs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 84c5ebd..1e97eec 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -69,6 +69,7 @@ libGLcore.so.1 = xorg-drv-video-nvidia libnvidia-tls.so.1 = xorg-drv-video-nvidia xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nouveau # 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) @@ -80,6 +81,7 @@ libGLcore.so.1 = xorg-drv-video-nvidia libnvidia-tls.so.1 = xorg-drv-video-nvidia xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-intel xorg-drv-video-nvidia xorg-drv-video-nouveau xorg-drv-video-ati # xorg-drv-video-fglrx +bootloader = syslinux endif libOpenCL.so.1 = xorg-drv-video-fglrx xorg-drv-video-nvidia @@ -92,10 +94,6 @@ libGLU.so.1[][64bit] = libGL-Mesa-dri splashtheme = splash-theme-openmamba -ifeq ($(ARCH),i586) -bootloader = syslinux -endif - alsaplayer_output = alsaplayer-output-alsa #libscanpci.so = xorg-server libgtkpeer.so = libgcj4 From 9dfb02c297a8fdf43277ba6cafc2a673d4f995bb Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 26 Jan 2013 14:59:27 +0100 Subject: [PATCH 109/186] Makefile.defs: x86_64: add more xorg video drivers --- Makefile.defs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index 1e97eec..0d2441a 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -79,7 +79,9 @@ xorglibGL = libGL-Mesa-dri libGL-nvidia-X11 xorglibglx = xorg-ext-libglx xorg-ext-libglx-nvidia libGLcore.so.1 = xorg-drv-video-nvidia libnvidia-tls.so.1 = xorg-drv-video-nvidia -xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-intel xorg-drv-video-nvidia xorg-drv-video-nouveau xorg-drv-video-ati +xorgdrvvideo = xorg-drv-video-ati xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-i128 xorg-drv-video-intel \ + xorg-drv-video-mga xorg-drv-video-nvidia xorg-drv-video-nouveau xorg-drv-video-openchrome \ + xorg-drv-video-r128 xorg-drv-video-vesa xorg-drv-video-v4l xorg-drv-video-vmware # xorg-drv-video-fglrx bootloader = syslinux endif From dc8b0920bed8c7723ea5d2d58545686e11782105 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 30 Jan 2013 17:59:45 +0100 Subject: [PATCH 110/186] bootusb: add absolute paths to all entries to allow conf file to work when installed elsewhere (unetbootin) --- platforms/bootusb/post.inc.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index 5c692b5..a246896 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -15,9 +15,9 @@ buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" cat > $MOUNTDIR/boot/extlinux.conf << _EOF PROMPT 0 TIMEOUT 20 -DEFAULT vesamenu.c32 +DEFAULT /boot/vesamenu.c32 MENU TITLE ${buildinfo} (${KERNEL_MAJVER} kernel) -MENU BACKGROUND openmamba.png +MENU BACKGROUND /boot/openmamba.png MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std _EOF @@ -63,7 +63,7 @@ cat >> $MOUNTDIR/boot/extlinux.conf << _EOF MENU SEPARATOR LABEL memtest MENU LABEL Memory test - kernel memtest + kernel /boot/memtest MENU SEPARATOR MENU SEPARATOR LABEL - From f466a095548d30d44102330c14cc6a13722b01e9 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 2 Feb 2013 14:00:48 +0100 Subject: [PATCH 111/186] Makefile.defs: added preferences for libvdpau and postfix --- Makefile.defs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 0d2441a..8fcaaaf 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -67,6 +67,8 @@ 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-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nouveau # xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-vboxvideo bootloader = syslinux @@ -79,6 +81,8 @@ xorglibGL = libGL-Mesa-dri libGL-nvidia-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-ati xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-i128 xorg-drv-video-intel \ xorg-drv-video-mga xorg-drv-video-nvidia xorg-drv-video-nouveau xorg-drv-video-openchrome \ xorg-drv-video-r128 xorg-drv-video-vesa xorg-drv-video-v4l xorg-drv-video-vmware @@ -164,6 +168,7 @@ perl[Automake__XFile] = automake /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 From f9ecdfdd026c8645760332844783e28c6b4419af Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 5 Feb 2013 20:53:29 +0100 Subject: [PATCH 112/186] livecd-root,livedvd-root,testcd-root: rework kde default installed packages; drop kaffeine --- platforms/livecd-root/Makefile | 14 ++++---------- platforms/livecd-root/post.inc.sh | 2 +- platforms/livedvd-root/Makefile | 14 +++----------- platforms/livedvd-root/post.inc.sh | 3 +-- platforms/testcd-root/Makefile | 14 +++----------- platforms/testcd-root/post.inc.sh | 2 +- 6 files changed, 13 insertions(+), 36 deletions(-) diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 60d10b1..34b9df8 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -1,8 +1,7 @@ -$(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot okular desktop-base-kde4 kmix4 \ - kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ - kaffeine libqt4-sqlite kate -#kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok +$(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ark kcalc kdf kgpg desktop-base-kde4 \ + ksnapshot okular desktop-base-kde4 kmix \ + bluedevil smb4k juk kwallet dragon kate +# kopete4 $(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-Calc libreoffice-writer libreofice-impress $(MAKEDIST_TARGET)-livecd-root: \ @@ -18,11 +17,6 @@ $(MAKEDIST_TARGET)-livecd-root: \ samba-server \ smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livecd-kde4 -# libopensync-plugin-syncml libopensync-plugin-google-calendar \ -# libopensync-plugin-gnokii libopensync-plugin-synce \ -# libopensync-plugin-moto libopensync-plugin-palm \ -# foomatic guarddog kpackage -# frozen-bubble tuxracer # Localization targets $(MAKEDIST_TARGET)-livecd-root-en: \ kde-l10n-en_GB diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index e2fbb9c..95f951d 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -43,7 +43,7 @@ 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 +for f in /usr/share/applications/chromium-devel.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f || exit 1 done diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index e7ae271..28ad5d2 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -1,9 +1,6 @@ -$(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ - kopete4 kdebluetooth4 smb4k amarok lisa4 kwalletmanager4 \ - kaffeine libqt4-sqlite kate -# knemo -#kitchensync4 +$(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ark kcalc kdf kgpg desktop-base-kde4 \ + ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ + kopete4 bluedevil smb4k amarok kwallet dragon kate $(MAKEDIST_TARGET)-livedvd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress $(MAKEDIST_TARGET)-livedvd-root: \ @@ -18,11 +15,6 @@ $(MAKEDIST_TARGET)-livedvd-root: \ Mesa-tools driconf parted testdisk samba-server \ smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-livedvd-kde4 toptray testdisk photorec -# libopensync-plugin-syncml libopensync-plugin-google-calendar \ -# libopensync-plugin-gnokii libopensync-plugin-synce \ -# libopensync-plugin-moto libopensync-plugin-palm \ -# foomatic guarddog kpackage -# frozen-bubble tuxracer # Localization targets $(MAKEDIST_TARGET)-livedvd-root-en: \ kde-l10n-en_GB diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 6e830d1..cbc0c81 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -43,8 +43,7 @@ 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 /opt/kde/share/applications/amarok.desktop; do +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 diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 74cb574..9f3e550 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -1,9 +1,6 @@ -$(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ - kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ - kaffeine libqt4-sqlite kate -# knemo kdeplasma-addons -#kitchensync4 +$(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ark kcalc kdf kgpg desktop-base-kde4 \ + ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ + kopete bluedevil smb4k juk kwallet dragon kate $(MAKEDIST_TARGET)-testcd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress $(MAKEDIST_TARGET)-testcd-root: \ @@ -19,11 +16,6 @@ $(MAKEDIST_TARGET)-testcd-root: \ samba-server \ smart-gui cpufreqd mambatray \ $(MAKEDIST_TARGET)-testcd-kde4 openssh-server -# libopensync-plugin-syncml libopensync-plugin-google-calendar \ -# libopensync-plugin-gnokii libopensync-plugin-synce \ -# libopensync-plugin-moto libopensync-plugin-palm \ -# foomatic guarddog kpackage -# frozen-bubble tuxracer # Localization targets $(MAKEDIST_TARGET)-testcd-root-en: \ kde-l10n-en_GB diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index cf9d30d..ac865d7 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -43,7 +43,7 @@ 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 +for f in /usr/share/applications/chromium-devel.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done From 688b574aff2b4d5d1df04cfde89f6d9be0dc38f9 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 4 Mar 2013 11:19:07 +0100 Subject: [PATCH 113/186] Makefile.defs: (arm) provide alternatives for libEGL.so and libGLESv2.so installing both tegra and raspberrypi libraries --- Makefile.defs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 8fcaaaf..ba2a399 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -56,6 +56,8 @@ ifeq ($(ARCH),arm) xorglibGL = libGL-Mesa-dri xorglibglx = xorg-ext-libglx xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-tegra +libEGL.so = xorg-drv-video-tegra libraspberrypi +libGLESv2.so = xorg-drv-video-tegra libraspberrypi endif ifeq ($(ARCH),i586) From 08dde5e39718021a6de3bc04202360e696ebf35e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 4 Mar 2013 11:25:58 +0100 Subject: [PATCH 114/186] Cleanup unionfs code and replace with overlayfs where appropriate --- Makefile | 2 +- platforms/bootcd/post.inc.sh | 2 +- platforms/bootusb-test/initramfs-include.sh | 96 --------------------- platforms/bootusb-test/post.inc.sh | 2 +- platforms/bootusb/post.inc.sh | 2 +- platforms/flash-1GB/post.inc.sh | 2 +- platforms/flash-512MB/post.inc.sh | 2 +- platforms/flash-server/post.inc.sh | 2 +- platforms/installdvd/post.inc.sh | 2 +- platforms/livecd/post.inc.sh | 2 +- platforms/livedvd/post.inc.sh | 2 +- platforms/sdk-root/Makefile | 2 +- platforms/testcd/post.inc.sh | 2 +- platforms/virtualserver/post.inc.sh | 2 +- 14 files changed, 13 insertions(+), 109 deletions(-) delete mode 100644 platforms/bootusb-test/initramfs-include.sh diff --git a/Makefile b/Makefile index c65bafb..2e95193 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ $(MAKEDIST_TARGET)-commontools: sysvinit util-linux module-init-tools \ dosfstools man mbr iptables cups vim iputils sudo postplug xinetd less \ reiserfsprogs ppp b43-tools mdadm usb-modeswitch \ usbutils ftp telnet eject bluez lsof \ - tcpdump pcmcia-utils xdg-utils unionfs_utils iproute $(MAKEDIST_TARGET)-firmwares \ + tcpdump pcmcia-utils xdg-utils iproute $(MAKEDIST_TARGET)-firmwares \ $(MAKEDIST_TARGET)-devel $(MAKEDIST_TARGET)-debug: strace valgrind gdb minicom openssh-server dhcpclient rpm iputils \ openssh-clients diffutils Mesa-tools kbd mc openmamba-release diff --git a/platforms/bootcd/post.inc.sh b/platforms/bootcd/post.inc.sh index 6c1df01..63ac3ee 100644 --- a/platforms/bootcd/post.inc.sh +++ b/platforms/bootcd/post.inc.sh @@ -10,7 +10,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/bootusb-test/initramfs-include.sh b/platforms/bootusb-test/initramfs-include.sh deleted file mode 100644 index e21c324..0000000 --- a/platforms/bootusb-test/initramfs-include.sh +++ /dev/null @@ -1,96 +0,0 @@ -FOUND_ISO= -#RAMSIZE=100000 -o "size=${RAMSIZE}k" - -msg ":: Creating new root ramdisk (dinamic size=${RAMSIZE}k) on /dev/shm..." -mkdir -p /flash /cdrom /squashfs ${NEWROOT} - -# -# findiso(): looks for ISO9660 images stored in flash root -# -findiso(){ - msg ":: Looking for openmamba ISO cdrom images" - - # try removable devices only - for i in /flash/openmamba-*.iso; do - /bin/losetup /dev/loop0 $i - if mount -r -t iso9660 /dev/loop0 /cdrom >/dev/null 2>&1; then - if test -r /cdrom/rootfs.compressed; then - msg ":: Valid ISO image $i found..." - FOUND_ISO="$i" - return 0 - fi - umount /cdrom - fi - /bin/losetup /dev/loop0 - done - return 1 -} - -#/sbin/splash_util -c repaint ${splash_add} -t default --mesg="Looking for cdrom device" --progress="4444" - -while true; do - msg ":: root device is ${root}" - if ! mount -t ext3 ${root} /flash >/dev/null 2>&1; then - if ! mount -t ext2 ${root} /flash >/dev/null 2>&1; then - err ":: Unable to mount USB rootfs. Supported filesystems are ext2 and ext3." - fi - fi - findiso - if [ "$FOUND_ISO" ]; then -# /sbin/splash_util -c repaint ${splash_add} -t default --mesg="Mounting compressed filesystem" --progress="5555" - msg ":: Mounting compressed filesystem" - /bin/losetup /dev/loop1 /cdrom/rootfs.compressed - mount -r -t squashfs /dev/loop1 /squashfs - - if [ "${unionfs}" != "off" -a "${unionfs}" != "OFF" ]; then - - [ "${unionfs}" = "reset" ] && { - msg ":: Resetting unionfs data in rwroot" - mkdir -p /flash/old - mv /flash/rwroot /flash/old/ - } - msg ":: Mounting unionfs" - mkdir -p /flash/rwroot - mount -t unionfs -o dirs=/flash/rwroot=rw:/squashfs=ro unionfs ${NEWROOT} - mkdir -p ${NEWROOT}/squashfs ${NEWROOT}/flash ${NEWROOT}/cdrom - mount -n -o move /squashfs ${NEWROOT}/squashfs - mount -n -o move /flash ${NEWROOT}/flash - mount -n -o move /cdrom ${NEWROOT}/cdrom - else - msg ":: Creating directories and symlinks on ramdisk..." - /bin/mount -t tmpfs /dev/shm ${NEWROOT} - mkdir -p \ - ${NEWROOT}/tmp ${NEWROOT}/proc ${NEWROOT}/sys \ - ${NEWROOT}/initrd ${NEWROOT}/mnt ${NEWROOT}/media \ - ${NEWROOT}/oldroot ${NEWROOT}/squashfs ${NEWROOT}/flash \ - ${NEWROOT}/cdrom - mount -n -o move /squashfs ${NEWROOT}/squashfs - mount -n -o move /flash ${NEWROOT}/flash - mount -n -o move /cdrom ${NEWROOT}/cdrom - 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 / - fi - - # 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} -# msg ":: Could not run init; opening a command prompt." -# /bin/sh.shared - else - msg ":: FATAL ERROR: could not find a valid ISO image." -# /bin/sh.shared - fi -done diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh index b502943..7241702 100644 --- a/platforms/bootusb-test/post.inc.sh +++ b/platforms/bootusb-test/post.inc.sh @@ -3,7 +3,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index a246896..4fbea36 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -2,7 +2,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 5d6620d..2a0ce51 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -14,7 +14,7 @@ sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab chroot $MOUNTDIR depmod -a LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh index 76fefb3..e5980ba 100644 --- a/platforms/flash-512MB/post.inc.sh +++ b/platforms/flash-512MB/post.inc.sh @@ -13,7 +13,7 @@ sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/flash-server/post.inc.sh b/platforms/flash-server/post.inc.sh index 00096c0..754fa94 100644 --- a/platforms/flash-server/post.inc.sh +++ b/platforms/flash-server/post.inc.sh @@ -6,7 +6,7 @@ # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index 9cf0e56..bde63cf 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -10,7 +10,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index ee88ffe..93d4393 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index ee88ffe..93d4393 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile index a34c5d8..779f0db 100644 --- a/platforms/sdk-root/Makefile +++ b/platforms/sdk-root/Makefile @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ tightvnc-server lxde midori $(MAKEDIST_TARGET)-devel icecc $(MAKEDIST_TARGET)-sdk-root-missing: wpa_supplicant dosfstools cups vim postplug ipw2100-firmware ipw2200-firmware zd1211-firmware \ rt2501-firmware rt2870-firmware b43-tools r5u87x-firmware mdadm \ - ndiswrapper slmodem unionfs_utils nfs-utils mbr + ndiswrapper slmodem nfs-utils mbr $(MAKEDIST_TARGET)-sdk-root-en: $(MAKEDIST_TARGET)-sdk-root-it: $(MAKEDIST_TARGET)-sdk-root-es: diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index ee88ffe..93d4393 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/virtualserver/post.inc.sh b/platforms/virtualserver/post.inc.sh index 2177e05..7e7aa4d 100644 --- a/platforms/virtualserver/post.inc.sh +++ b/platforms/virtualserver/post.inc.sh @@ -6,7 +6,7 @@ # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 unionfs squashfs isofs reiserfs" \ + --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} From a6a45366f1ce2c308ad8111b63b70e1a35722c73 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 5 Mar 2013 12:18:13 +0100 Subject: [PATCH 115/186] bootcd: don't disable distromatic now that build is multiarch --- platforms/bootcd/settings.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/bootcd/settings.inc b/platforms/bootcd/settings.inc index cbef2a7..5b82555 100644 --- a/platforms/bootcd/settings.inc +++ b/platforms/bootcd/settings.inc @@ -1,6 +1,6 @@ MEDIA=iso MULTITHREAD=1 -DISTROMATIC=off +#DISTROMATIC=off if [ "$ARCH" = "i586" ]; then KERNEL_EXTRAVER=mamba From 44041be3089f65f0c4292f91933ef21961152454 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 6 Mar 2013 10:36:28 +0100 Subject: [PATCH 116/186] livedvd, livedvd-root: x86_64 kernel support --- platforms/livedvd-root/settings.inc | 16 +++++++++++----- platforms/livedvd/settings.inc | 15 +++++++++++---- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/platforms/livedvd-root/settings.inc b/platforms/livedvd-root/settings.inc index 561ba4f..dcc84e5 100644 --- a/platforms/livedvd-root/settings.inc +++ b/platforms/livedvd-root/settings.inc @@ -2,11 +2,17 @@ PRODUCT_NAME=livedvd MEDIA=squash_xz MULTITHREAD=1 -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules sound" - -KERNEL_MORE_EXTRAVER=mamba-64GB +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= diff --git a/platforms/livedvd/settings.inc b/platforms/livedvd/settings.inc index 7912a70..c4feb19 100644 --- a/platforms/livedvd/settings.inc +++ b/platforms/livedvd/settings.inc @@ -1,11 +1,18 @@ MEDIA=iso MULTITHREAD=1 DISTROMATIC=off -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules" -KERNEL_MORE_EXTRAVER=mamba-64GB +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" From 0f06c030627aaefe1771fc6734229889caf2c4ff Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 6 Mar 2013 10:37:30 +0100 Subject: [PATCH 117/186] livedvd-root: remove toptray --- platforms/livedvd-root/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 28ad5d2..3ca2889 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -14,7 +14,7 @@ $(MAKEDIST_TARGET)-livedvd-root: \ macbook-tools livecd-tools gdb \ Mesa-tools driconf parted testdisk samba-server \ smart-gui cpufreqd mambatray \ - $(MAKEDIST_TARGET)-livedvd-kde4 toptray testdisk photorec + $(MAKEDIST_TARGET)-livedvd-kde4 testdisk photorec # Localization targets $(MAKEDIST_TARGET)-livedvd-root-en: \ kde-l10n-en_GB From 3c5aff4269944933396845ef6d156dfb5d6dd6b6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 7 Mar 2013 17:23:45 +0100 Subject: [PATCH 118/186] makedist.inc.sh: use new internal makedist function to use pkggroups.db from target chroot instead of makedist host --- makedist.inc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/makedist.inc.sh b/makedist.inc.sh index b8c63fd..2478de7 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -97,6 +97,7 @@ if [ ! "$KERNEL_IGNORE" ]; then fi 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 From 3dcf299aa42943b22c4313b7b6aed591b47c4cfe Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Apr 2013 20:43:25 +0200 Subject: [PATCH 119/186] Makefile*: preparation for systemd but keep using sysv5 for now --- Makefile | 2 +- Makefile.defs | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 2e95193..8a45bf0 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ $(MAKEDIST_TARGET)-base: filesystem gzip texinfo ldconfig bash libreadline glibc # splashutils $(MAKEDIST_TARGET)-firmwares: ipw2100-firmware ipw2200-firmware zd1211-firmware radeon-firmware \ rt2501-firmware rt2860-firmware rt2870-firmware r5u87x-firmware -$(MAKEDIST_TARGET)-commontools: sysvinit util-linux module-init-tools \ +$(MAKEDIST_TARGET)-commontools: $(_init_system) util-linux module-init-tools \ procps sed grep net-tools tar bzip2 unzip zip pciutils \ pam shadow-common pwdutils acpid mingetty screen \ net-tools prelink mc dhcpclient timezone nfs-utils \ diff --git a/Makefile.defs b/Makefile.defs index ba2a399..38c9efd 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -3,6 +3,16 @@ # libc libpthread.so.0 = glibc +# systemd/sysvinit +_initsystem = sysvinit +/sbin/halt = $(_initsystem) +/sbin/init = $(_initsystem) +/sbin/poweroff = $(_initsystem) +/sbin/reboot = $(_initsystem) +/sbin/runlevel = $(_initsystem) +/sbin/shutdown = $(_initsystem) +/sbin/telinit = $(_initsystem) + ifeq ($(ARCH),i586) # kernel kernelnvidia = kernel-$(KERNEL_EXTRAVER)-nongpl-nvidia @@ -157,7 +167,6 @@ perl[Automake__XFile] = automake /usr/bin/test = coreutils /sbin/nologin= util-linux /bin/login= util-linux -/sbin/shutdown = sysvinit /usr/bin/chfn= pwdutils /usr/bin/chsh= pwdutils /usr/bin/newgrp= pwdutils From a22d6c84f4fbf4aa11ecbabd51d3e1e7512e02e5 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 9 Apr 2013 16:06:33 +0200 Subject: [PATCH 120/186] Makefile: currently stop providing proprietary video drivers by default in all platforms --- Makefile.defs | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 38c9efd..164971c 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -13,10 +13,13 @@ _initsystem = sysvinit /sbin/shutdown = $(_initsystem) /sbin/telinit = $(_initsystem) +#xorgproprietary = xorg-drv-video-fglrx xorg-drv-video-nvidia + ifeq ($(ARCH),i586) # 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 @@ -41,6 +44,7 @@ ifdef KERNEL_MORE_EXTRAVER 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 @@ -72,33 +76,33 @@ endif ifeq ($(ARCH),i586) # 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 +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-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nouveau +xorgdrvvideo = xorg-drv-video-base xorg-drv-video-nouveau $(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 +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-ati xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-i128 xorg-drv-video-intel \ - xorg-drv-video-mga xorg-drv-video-nvidia xorg-drv-video-nouveau xorg-drv-video-openchrome \ - xorg-drv-video-r128 xorg-drv-video-vesa xorg-drv-video-v4l xorg-drv-video-vmware -# xorg-drv-video-fglrx + xorg-drv-video-mga xorg-drv-video-nouveau xorg-drv-video-openchrome \ + xorg-drv-video-r128 xorg-drv-video-vesa xorg-drv-video-v4l xorg-drv-video-vmware $(xorgproprietary) bootloader = syslinux endif From 94e42afb89784bb3718e2db997fb1048e56694e2 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 9 Apr 2013 18:16:39 +0200 Subject: [PATCH 121/186] Makefile.defs, settings.inc: changed for dkms based VirtalBox --- Makefile.defs | 4 ++-- settings.inc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 164971c..173a96b 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -37,7 +37,7 @@ 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 +#kernelvboxvideo = kernel-$(KERNEL_EXTRAVER)-vboxvideo ifdef KERNEL_MORE_EXTRAVER # extra kernel (FIXME: only supports single extra kernel) @@ -61,7 +61,7 @@ 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 +#kernelvboxvideo += kernel-$(KERNEL_MORE_EXTRAVER)-vboxvideo endif endif diff --git a/settings.inc b/settings.inc index 544bbcc..b56df76 100644 --- a/settings.inc +++ b/settings.inc @@ -1,6 +1,6 @@ RELEASE=devel MAKEFILE_TARGET=${MAKEDIST_TARGET} -KERNEL_ADDITIONAL="sound vboxvideo" +KERNEL_ADDITIONAL="sound" #COMPRESSEDFSSIZE=400000 #COMPRESSEDFSBLOCKSIZE=1k From e88e5f0d26072313e3a2fceb765e81a9881c323a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 14 Apr 2013 17:13:52 +0200 Subject: [PATCH 122/186] makedist.inc.sh: create /etc/hostname with appropriate hostname --- makedist.inc.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/makedist.inc.sh b/makedist.inc.sh index 2478de7..b11a001 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -80,6 +80,7 @@ fi [[ "$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 From 5ba878df2d98df1b7928bc4d0d72309a75e5ee21 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 14 Apr 2013 21:28:39 +0200 Subject: [PATCH 123/186] makedist.inc.sh: fix for modules dependencies not being created --- makedist.inc.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index b11a001..c8984d3 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -91,12 +91,6 @@ install_rpms_by_target "Installing ${PLATFORM} platform packages" ${MAKEDIST_TAR [ "$LANGUAGE" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for language $LANGUAGE" ${MAKEDIST_TARGET}-${PLATFORM}-${LANGUAGE} "${RPMEXTRAARGS}" [ "$ARCH" ] && install_rpms_by_target "Installing ${PLATFORM} platform packages for arch $ARCH" ${MAKEDIST_TARGET}-${PLATFORM}-${ARCH} "${RPMEXTRAARGS}" -if [ ! "$KERNEL_IGNORE" ]; then - for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do - update_modules_dependencies ${KERNEL_VER}${K} - done -fi - if [ "$APPLICATION_TARGET" ]; then add_additional_defs_file /usr/share/openmamba/pkggroups.db for t in $APPLICATION_TARGET; do @@ -174,4 +168,11 @@ if [ "$SMART_CHANNELS_ENABLE" != "" ]; then 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 + produce_media From 77c281540d7b2212a1837950788d60bb9e674d02 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 16 Apr 2013 13:45:39 +0200 Subject: [PATCH 124/186] Makefile.defs, rootfs, rootfs-light: time to enable systemd by default --- Makefile.defs | 2 +- platforms/rootfs-light/Makefile | 2 +- platforms/rootfs/Makefile | 2 +- platforms/sdk-root/Makefile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 173a96b..8976878 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -4,7 +4,7 @@ libpthread.so.0 = glibc # systemd/sysvinit -_initsystem = sysvinit +_initsystem = systemd /sbin/halt = $(_initsystem) /sbin/init = $(_initsystem) /sbin/poweroff = $(_initsystem) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 90d82c5..83ec7ea 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -12,7 +12,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ parted iputils file rootfiles ppp minicom xinetd 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 syslog-ng sysvinit kmod \ + openmamba-devel timezone sudo syslog-ng kmod \ liblame expect prelink NetworkManager ModemManager procps \ xorg-server x11vnc xkeyboard-config \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index dbb224f..4f41685 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -19,7 +19,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ parted iputils file rootfiles ppp minicom xinetd 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 syslog-ng sysvinit kmod \ + openmamba-devel timezone sudo syslog-ng kmod \ liblame expect prelink NetworkManager ModemManager procps \ xorg-server x11vnc xkeyboard-config screen \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile index 779f0db..da073b5 100644 --- a/platforms/sdk-root/Makefile +++ b/platforms/sdk-root/Makefile @@ -2,7 +2,7 @@ $(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ iputils file rootfiles file \ dhcpclient ppp minicom vsftpd rt2870-firmware ntp locales \ binutils gcc gcc-c++ gcc-cpp make man-db glibc-devel strace \ - sysvinit util-linux module-init-tools \ + util-linux module-init-tools \ procps sed grep net-tools tar bzip2 unzip zip pciutils \ pam shadow-common pwdutils mingetty \ NetworkManager ModemManager net-tools mc \ From b65e9ae6c662815183d45320a0fc75c7262adc0e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 16 Apr 2013 16:52:08 +0200 Subject: [PATCH 125/186] rootfs, rootfs-light: remove redundant and failing depmod; arm: configure for mamba-arm kernel --- platforms/rootfs-light/post.inc.sh | 5 ----- platforms/rootfs-light/settings.inc | 7 ++++--- platforms/rootfs/post.inc.sh | 5 ----- platforms/rootfs/settings.inc | 5 +++-- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/platforms/rootfs-light/post.inc.sh b/platforms/rootfs-light/post.inc.sh index 749750c..8770fdb 100644 --- a/platforms/rootfs-light/post.inc.sh +++ b/platforms/rootfs-light/post.inc.sh @@ -46,11 +46,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp /usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -if [ ! "$KERNEL_IGNORE" ]; then - # run depmod - chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}-${KERNEL_EXTRAVER} -fi - # disable automatic depmod and ldconfig execution on boot (also due to clock error) cat >> $MOUNTDIR/etc/sysconfig/rc << _EOF no_auto_depmod=1 diff --git a/platforms/rootfs-light/settings.inc b/platforms/rootfs-light/settings.inc index 698968a..20a59e6 100644 --- a/platforms/rootfs-light/settings.inc +++ b/platforms/rootfs-light/settings.inc @@ -1,8 +1,9 @@ if [ "$ARCH" = "arm" ]; then - KERNEL_EXTRAVER= - #KERNEL_PLATFORM="" + KERNEL_EXTRAVER=mamba-arm + KERNEL_PLATFORM="" KERNEL_ADDITIONAL="" - KERNEL_IGNORE=true + #KERNEL_IGNORE=true + KERNEL_MORE_EXTRAVER= elif [ "$ARCH" = "i586" ]; then KERNEL_EXTRAVER=mamba KERNEL_PLATFORM="" diff --git a/platforms/rootfs/post.inc.sh b/platforms/rootfs/post.inc.sh index a80a083..fb9c4b2 100644 --- a/platforms/rootfs/post.inc.sh +++ b/platforms/rootfs/post.inc.sh @@ -46,11 +46,6 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp /usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime -if [ ! "$KERNEL_IGNORE" ]; then - # run depmod - chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}-${KERNEL_EXTRAVER} -fi - # disable automatic depmod and ldconfig execution on boot (also due to clock error) cat >> $MOUNTDIR/etc/sysconfig/rc << _EOF no_auto_depmod=1 diff --git a/platforms/rootfs/settings.inc b/platforms/rootfs/settings.inc index fdd2332..a63e64a 100644 --- a/platforms/rootfs/settings.inc +++ b/platforms/rootfs/settings.inc @@ -1,8 +1,9 @@ if [ "$ARCH" = "arm" ]; then - KERNEL_EXTRAVER= + KERNEL_EXTRAVER=mamba-arm #KERNEL_PLATFORM="" KERNEL_ADDITIONAL="" - KERNEL_IGNORE=true + #KERNEL_IGNORE=true + KERNEL_MORE_EXTRAVER= elif [ "$ARCH" = "i586" ]; then KERNEL_EXTRAVER=mamba KERNEL_PLATFORM="" From 1056705b423e3361f0950ba8ba008e7abeda70c6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 16 Apr 2013 17:41:20 +0200 Subject: [PATCH 126/186] livecd-gnome-root: remove gnome-panel (obsoleted since 3.8), add ryhthmbox --- platforms/livecd-gnome-root/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 1b8701d..8b3f96a 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -9,9 +9,9 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ 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-panel gnome-settings-daemon \ + 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 + 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 From 885c06576aa20d3fc61c06dcfc1bbf2ee6ec8d8a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 30 Apr 2013 14:39:17 +0200 Subject: [PATCH 127/186] makedist.inc.sh: remove qemu later for later command execution to work (e.g. depmod) --- makedist.inc.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index c8984d3..7e61bb3 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -146,7 +146,6 @@ post_install_rpms rm -rf $MOUNTDIR/tmp/.ICE-unix rm -rf $MOUNTDIR/tmp/kde-root -[ "$QEMU_COPIED_FOR_INST" ] && post_qemu # copy static files for target [ -e $TARGETDIR/root ] && @@ -175,4 +174,6 @@ if [ ! "$KERNEL_IGNORE" ]; then done fi +[ "$QEMU_COPIED_FOR_INST" ] && post_qemu + produce_media From f64b1a430e86038c544abc78d51430c1100694ca Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 2 May 2013 12:26:19 +0200 Subject: [PATCH 128/186] livedvd-root, livegames-root: replace totem-mozilla-plugin with kpartsplugin --- platforms/livedvd-root/Makefile | 2 +- platforms/livegames-root/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 3ca2889..bbdc44a 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -10,7 +10,7 @@ $(MAKEDIST_TARGET)-livedvd-root: \ xorg-drv-input-synaptics xorg-apps-extra xterm \ ttf-freefont liberation-fonts-ttf \ gparted ntfs-3g libdvdcss \ - chromium totem-mozilla-plugin \ + chromium kpartsplugin \ macbook-tools livecd-tools gdb \ Mesa-tools driconf parted testdisk samba-server \ smart-gui cpufreqd mambatray \ diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index fe23a95..8885e8e 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -15,7 +15,7 @@ $(MAKEDIST_TARGET)-livegames-root: \ xorg-drv-input-synaptics \ ttf-freefont liberation-fonts-ttf \ gparted ntfs-3g samba-server \ - chromium totem-mozilla-plugin \ + chromium kpartsplugin \ macbook-tools livecd-tools \ kdebluetooth Mesa-tools driconf \ desktop-base-openmamba \ From aef1e3b039c756d451f992c3079844cb2c54206d Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 29 Jun 2013 18:08:21 +0200 Subject: [PATCH 129/186] Makefile.defs: x86_64 java deps support (still not working) --- Makefile.defs | 63 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 23 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 8976878..7e313c6 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -109,36 +109,53 @@ 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 -libGL.so.1 = libGL-Mesa-dri -libGLU.so.1 = libGL-Mesa-dri -libGL.so.1[][64bit] = libGL-Mesa-dri -libGLU.so.1[][64bit] = libGL-Mesa-dri - 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] = libgcj4 +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 +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 = sun-java-runtime -libjava_crw_demo.so = sun-java-runtime -libjli.so = sun-java-runtime -libjli.so[SUNWprivate_1.1] = sun-java-runtime -libmawt.so = sun-java-runtime -libnet.so = sun-java-runtime -libverify.so = sun-java-runtime -libjava.so[SUNWprivate_1.1] = sun-java-runtime -libjava_crw_demo.so[SUNWprivate_1.1] = sun-java-runtime -libjvm.so[SUNWprivate_1.1] = sun-java-runtime -libjawt.so[SUNWprivate_1.1] = sun-java-runtime -libmawt.so[SUNWprivate_1.1] = sun-java-runtime -libnet.so[SUNWprivate_1.1] = sun-java-runtime -libverify.so[SUNWprivate_1.1] = sun-java-runtime -ifeq ($(ARCH),x86_64) -libphonon.so.4[][64bit] = libphonon -else +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 endif /usr/bin/python = python From bee13b60b1a399022ec3c3c3062600e05e567fb1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 29 Jun 2013 18:08:50 +0200 Subject: [PATCH 130/186] platforms: syslinux 5 support --- platforms/bootusb-test/post.inc.sh | 2 +- platforms/bootusb/post.inc.sh | 2 +- platforms/flash-1GB/post.inc.sh | 2 +- platforms/flash-512MB/post.inc.sh | 2 +- platforms/installdvd/post.inc.sh | 2 +- platforms/livecd/post.inc.sh | 2 +- platforms/livedvd/post.inc.sh | 2 +- platforms/testcd/post.inc.sh | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh index 7241702..76c6d08 100644 --- a/platforms/bootusb-test/post.inc.sh +++ b/platforms/bootusb-test/post.inc.sh @@ -55,7 +55,7 @@ mv $MOUNTDIR/boot/memtest.bin $MOUNTDIR/boot/memtest 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/ +cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index 4fbea36..b3aab93 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -79,7 +79,7 @@ mv $MOUNTDIR/boot/memtest.bin $MOUNTDIR/boot/memtest 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/ +cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 2a0ce51..de7ff4a 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -62,7 +62,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh index e5980ba..d3c6f5a 100644 --- a/platforms/flash-512MB/post.inc.sh +++ b/platforms/flash-512MB/post.inc.sh @@ -60,7 +60,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index bde63cf..43a8531 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -64,7 +64,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index 93d4393..1004d8c 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -103,7 +103,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index 93d4393..1004d8c 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -103,7 +103,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index 93d4393..1004d8c 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -103,7 +103,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || From 305b60c6c93accbd94736eabdb4ba8b87e8162e8 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 1 Jul 2013 21:06:09 +0200 Subject: [PATCH 131/186] platforms: syslinux 5 also requires ldlinux.c32 --- platforms/flash-1GB/post.inc.sh | 2 +- platforms/flash-512MB/post.inc.sh | 2 +- platforms/installdvd/post.inc.sh | 2 +- platforms/livecd/post.inc.sh | 2 +- platforms/livedvd/post.inc.sh | 2 +- platforms/testcd/post.inc.sh | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index de7ff4a..46e149d 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -62,7 +62,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh index d3c6f5a..e44e919 100644 --- a/platforms/flash-512MB/post.inc.sh +++ b/platforms/flash-512MB/post.inc.sh @@ -60,7 +60,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index 43a8531..bfe8b3b 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -64,7 +64,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index 1004d8c..df8ac73 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -103,7 +103,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index 1004d8c..df8ac73 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -103,7 +103,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index 1004d8c..df8ac73 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -103,7 +103,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ # install memtest [ -e $MOUNTDIR/boot/memtest.bin ] && cp $MOUNTDIR/boot/memtest.bin $MOUNTDIR2/boot/isolinux/memtest || From 3ee62201d383d2a73e14fc5a0ada0d29bf6c9c00 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 1 Jul 2013 21:09:54 +0200 Subject: [PATCH 132/186] platforms: remove vga=xxx from command lines in modeset mode --- platforms/bootusb-test/post.inc.sh | 2 +- platforms/bootusb/post.inc.sh | 2 +- platforms/flash-1GB/post.inc.sh | 2 +- platforms/installdvd/post.inc.sh | 2 +- platforms/livecd/post.inc.sh | 2 +- platforms/livedvd/post.inc.sh | 2 +- platforms/testcd/post.inc.sh | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh index 76c6d08..1f00684 100644 --- a/platforms/bootusb-test/post.inc.sh +++ b/platforms/bootusb-test/post.inc.sh @@ -23,7 +23,7 @@ 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 + append initrd=/boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash LABEL vga1024 MENU LABEL VGA 1024x768 (no modeset) kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index b3aab93..62bbeaf 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -26,7 +26,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do 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 + append initrd=/boot/initramfs-${KERNEL_MAJVER}${K}.img.gz root=live:/openmamba_live/openmamba-live.iso ro selinux=0 quiet splash _EOF done diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 46e149d..0091221 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -32,7 +32,7 @@ MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std LABEL kms MENU LABEL default kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash LABEL vga1024 MENU LABEL VGA 1024x768 (no modeset) kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index bfe8b3b..e1a4119 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -34,7 +34,7 @@ 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 + append initrd=/boot/initrmfs.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash LABEL vga1024 MENU LABEL VGA 1024x768 (no modeset) kernel /boot/vmlinuz diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index df8ac73..5c3c7e4 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -45,7 +45,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do 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 + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash _EOF ISOID=$(($ISOID + 1)) done diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index df8ac73..5c3c7e4 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -45,7 +45,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do 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 + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash _EOF ISOID=$(($ISOID + 1)) done diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index df8ac73..5c3c7e4 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -45,7 +45,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do 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 + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash _EOF ISOID=$(($ISOID + 1)) done From e8dd9640716f3f9969dc53049238f2e6feb24ce0 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 4 Jul 2013 15:38:18 +0200 Subject: [PATCH 133/186] Makefile.defs: workaround java dependencies for x86_64 (it is indeed a distromatic bug in -deps file) --- Makefile.defs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index 7e313c6..6c1be8e 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -118,7 +118,7 @@ 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] = 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 From feb2f44a18f9612d2cef3fd079bb92e04f2a7c8e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 4 Jul 2013 16:57:59 +0200 Subject: [PATCH 134/186] Makefiles.defs: some changes after tcltk 8.6 + tcltk85 legacy package introduction --- Makefile.defs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 6c1be8e..72b1b72 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -183,8 +183,8 @@ perl[Automake__Struct] = automake perl[Automake__Struct__Tie_ISA] = automake perl[Automake__XFile] = automake -/usr/bin/expect = expect85 -/usr/bin/expectk = expect85-tk +/usr/bin/expect = expect +/usr/bin/expectk = expect-tk /usr/bin/test = coreutils /sbin/nologin= util-linux /bin/login= util-linux @@ -213,6 +213,7 @@ libcblas.so.3 = libatlas libf77blas.so.3 = libatlas libptcblas.so.3 = libatlas libptf77blas.so.3 = libatlas +libexpect5.44.1.15.so = expect # ffmpeg / libav libpostproc.so.51 = libpostproc-ffmpeg @@ -230,6 +231,7 @@ 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 From b609d58ad5b1cf547f4ebd9bd2ecd7e1a6ec8327 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jul 2013 15:43:21 +0200 Subject: [PATCH 135/186] Makefile.defs: choose libtk for wish --- Makefile.defs | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.defs b/Makefile.defs index 72b1b72..e0e35f5 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -186,6 +186,7 @@ perl[Automake__XFile] = automake /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 From 4e4b636dbb3a4e53ff790657337c5e3ad2151afe Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 15 Jul 2013 01:39:43 +0200 Subject: [PATCH 136/186] Makefile: preliminary multilanguage in a medium support --- Makefile | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index 8a45bf0..9288f0f 100644 --- a/Makefile +++ b/Makefile @@ -35,31 +35,29 @@ endif kdelibs3: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ - [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-i18n-$(LANGUAGE) "; } || \ - : + [ "$(MULTILANGUAGE)" != "" ] && for l in it es; do echo -n "kde-i18n-$$l "; done; \ + [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-i18n-$(LANGUAGE) "; } || : kdelibs: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ - [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-l10n-$(LANGUAGE) "; } || \ - : + [ "$(MULTILANGUAGE)" != "" ] && for l in it es; do echo -n "kde-l10n-$$l "; done; \ + [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "kde-l10n-$(LANGUAGE) "; } || : koffice: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ - [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "koffice-i18n-$(LANGUAGE) "; } || \ - : +# [ "$(MULTILANGUAGE)" != "" ] && for l in it es; 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) "; } || \ -# : +# [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && echo -n "k3b-i18n-$(LANGUAGE) " +# } || : aspell: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ - [ ! "$(LANGUAGE)" = "" ] && echo -n "aspell-$(LANGUAGE) "; } || \ - : + [ "$(MULTILANGUAGE)" != "" ] && for l in it en es; do echo -n "aspell-$$l "; done; \ + [ ! "$(LANGUAGE)" = "" ] && echo -n "aspell-$(LANGUAGE) "; } || : libreoffice: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ - [ ! "$(LANGUAGE)" = "" ] && [ ! "$(LANGUAGE)" = "en" ] && \ - echo -n "libreoffice-i18n-$(LANGUAGE) "; } || \ - echo -n "libreoffice-i18n-en " + [ ! "$(LANGUAGE)" = "" ] && echo -n "libreoffice-i18n-$(LANGUAGE) "; } || : From 08658128b3131285830ed1c02a2a482ea684b4b1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 15 Jul 2013 01:40:08 +0200 Subject: [PATCH 137/186] Revert "platforms: remove vga=xxx from command lines in modeset mode" It is actually needed for splash boot whit no KMS drivers (e.g. virtualbox) This reverts commit 3ee62201d383d2a73e14fc5a0ada0d29bf6c9c00. --- platforms/bootusb-test/post.inc.sh | 2 +- platforms/bootusb/post.inc.sh | 2 +- platforms/flash-1GB/post.inc.sh | 2 +- platforms/installdvd/post.inc.sh | 2 +- platforms/livecd/post.inc.sh | 2 +- platforms/livedvd/post.inc.sh | 2 +- platforms/testcd/post.inc.sh | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh index 1f00684..76c6d08 100644 --- a/platforms/bootusb-test/post.inc.sh +++ b/platforms/bootusb-test/post.inc.sh @@ -23,7 +23,7 @@ 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 + 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} diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index 62bbeaf..b3aab93 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -26,7 +26,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do 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 + 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 diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh index 0091221..46e149d 100644 --- a/platforms/flash-1GB/post.inc.sh +++ b/platforms/flash-1GB/post.inc.sh @@ -32,7 +32,7 @@ MENU COLOR TITLE 1;32;49 #ff00993d #00000000 std LABEL kms MENU LABEL default kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash + append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index e1a4119..bfe8b3b 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -34,7 +34,7 @@ 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 + 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 diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index 5c3c7e4..df8ac73 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -45,7 +45,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do 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 + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 _EOF ISOID=$(($ISOID + 1)) done diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index 5c3c7e4..df8ac73 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -45,7 +45,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do 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 + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 _EOF ISOID=$(($ISOID + 1)) done diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index 5c3c7e4..df8ac73 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -45,7 +45,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do 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 + append initrd=/boot/initrd${ISOID}.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=792 _EOF ISOID=$(($ISOID + 1)) done From 47f8745968d7175a73c7661bcd80c591142da1df Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 19 Aug 2013 14:56:49 +0200 Subject: [PATCH 138/186] Makefile.defs: set choice for liblapack (64bit) --- Makefile.defs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index e0e35f5..0cb439b 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -135,6 +135,7 @@ 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 else libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri @@ -157,6 +158,7 @@ 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 endif /usr/bin/python = python python[abi] = python @@ -166,7 +168,6 @@ sopranobackend = soprano-backend-virtuoso dhcpclient = dhcp-client networkmanagergui = network-manager-applet phonon_backend = phonon-backend-gstreamer -liblapack.so.3 = liblapack mono[Mono.Cecil] = mono-core mono[Mono.Cecil.Mdb] = mono-core From 7918751916a256896e09535c2e7e4ef3c0df5fdc Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 30 Aug 2013 15:14:42 +0200 Subject: [PATCH 139/186] Makefile.defs: definitions for ksplash-theme* --- Makefile.defs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 0cb439b..9b1307c 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -1,8 +1,5 @@ # def file for openmamba platforms -# libc -libpthread.so.0 = glibc - # systemd/sysvinit _initsystem = systemd /sbin/halt = $(_initsystem) @@ -16,6 +13,8 @@ _initsystem = systemd #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 @@ -246,6 +245,9 @@ 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 From ebd82e12730d074eadbf5efd2906366068f22d93 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 30 Aug 2013 15:19:19 +0200 Subject: [PATCH 140/186] All targets: add autofs4 required since dracut 032 --- platforms/bootcd/post.inc.sh | 2 +- platforms/bootusb-test/post.inc.sh | 2 +- platforms/bootusb/post.inc.sh | 2 +- platforms/flash-server/post.inc.sh | 2 +- platforms/installdvd/post.inc.sh | 2 +- platforms/livecd/post.inc.sh | 2 +- platforms/livedvd/post.inc.sh | 2 +- platforms/testcd/post.inc.sh | 2 +- platforms/virtualserver/post.inc.sh | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/platforms/bootcd/post.inc.sh b/platforms/bootcd/post.inc.sh index 63ac3ee..8208571 100644 --- a/platforms/bootcd/post.inc.sh +++ b/platforms/bootcd/post.inc.sh @@ -10,7 +10,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh index 76c6d08..ad7a2b0 100644 --- a/platforms/bootusb-test/post.inc.sh +++ b/platforms/bootusb-test/post.inc.sh @@ -3,7 +3,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index b3aab93..a0ac8bc 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -2,7 +2,7 @@ for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/flash-server/post.inc.sh b/platforms/flash-server/post.inc.sh index 754fa94..943a151 100644 --- a/platforms/flash-server/post.inc.sh +++ b/platforms/flash-server/post.inc.sh @@ -6,7 +6,7 @@ # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index bfe8b3b..5c0e941 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -10,7 +10,7 @@ chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index df8ac73..e7022b4 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index df8ac73..e7022b4 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index df8ac73..e7022b4 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -11,7 +11,7 @@ ISOID= for K in $KERNEL_EXTRAVER $KERNEL_MORE_EXTRAVER; do chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${K} LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${K}.img.gz \ ${KERNEL_MAJVER}${K} diff --git a/platforms/virtualserver/post.inc.sh b/platforms/virtualserver/post.inc.sh index 7e7aa4d..ab18cf6 100644 --- a/platforms/virtualserver/post.inc.sh +++ b/platforms/virtualserver/post.inc.sh @@ -6,7 +6,7 @@ # make initramfs LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ + --filesystems "autofs4 ext3 ext4 overlayfs squashfs isofs reiserfs" \ --nomdadmconf --nolvmconf \ /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ ${KERNEL_MAJVER}${KERNEL_EXTRAVER} From 22391f77556953931b8dda50d64b95e7926c95bc Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 30 Aug 2013 15:20:00 +0200 Subject: [PATCH 141/186] flash-1GB, flash-512MB: remove obsolete platforms --- platforms/flash-1GB/Makefile | 16 - platforms/flash-1GB/Makefile.defs | 0 platforms/flash-1GB/post.inc.sh | 97 --- .../root/openmamba-flash-1GB/CHANGES | 22 - .../root/openmamba-flash-1GB/COPYING | 674 ------------------ .../root/openmamba-flash-1GB/INSTALL | 50 -- .../flash-1GB/root/openmamba-flash-1GB/README | 57 -- .../flash-1GB/root/openmamba-flash-1GB/TODO | 8 - platforms/flash-1GB/settings.inc | 12 - platforms/flash-512MB/Makefile | 1 - platforms/flash-512MB/Makefile.defs | 0 platforms/flash-512MB/post.inc.sh | 73 -- platforms/flash-512MB/root/COPYING | 280 -------- platforms/flash-512MB/root/README | 53 -- platforms/flash-512MB/settings.inc | 10 - 15 files changed, 1353 deletions(-) delete mode 100644 platforms/flash-1GB/Makefile delete mode 100644 platforms/flash-1GB/Makefile.defs delete mode 100644 platforms/flash-1GB/post.inc.sh delete mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/CHANGES delete mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/COPYING delete mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/INSTALL delete mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/README delete mode 100644 platforms/flash-1GB/root/openmamba-flash-1GB/TODO delete mode 100644 platforms/flash-1GB/settings.inc delete mode 100644 platforms/flash-512MB/Makefile delete mode 100644 platforms/flash-512MB/Makefile.defs delete mode 100644 platforms/flash-512MB/post.inc.sh delete mode 100644 platforms/flash-512MB/root/COPYING delete mode 100644 platforms/flash-512MB/root/README delete mode 100644 platforms/flash-512MB/settings.inc diff --git a/platforms/flash-1GB/Makefile b/platforms/flash-1GB/Makefile deleted file mode 100644 index 164c8ab..0000000 --- a/platforms/flash-1GB/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -$(MAKEDIST_TARGET)-flash-1GB: \ - postplug-xorg postplug-sound \ - $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ - xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ - ttf-freefont kdebase4-workspace kdebase4-runtime dolphin konqueror \ - kppp4 \ - smart-gui gparted kmix msysklogd ntfs-3g \ - xorg-drv-input-synaptics \ - macbook-tools kdebluetooth4 livecd-tools \ - mambatray syslinux memtest86+ -# knemo -# Localization targets -$(MAKEDIST_TARGET)-flash-1GB-en: -$(MAKEDIST_TARGET)-flash-1GB-es: -$(MAKEDIST_TARGET)-flash-1GB-it: -# removed: kaffeine knemo diff --git a/platforms/flash-1GB/Makefile.defs b/platforms/flash-1GB/Makefile.defs deleted file mode 100644 index e69de29..0000000 diff --git a/platforms/flash-1GB/post.inc.sh b/platforms/flash-1GB/post.inc.sh deleted file mode 100644 index 46e149d..0000000 --- a/platforms/flash-1GB/post.inc.sh +++ /dev/null @@ -1,97 +0,0 @@ -## 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 --noclear tty\1,' $MOUNTDIR/etc/inittab -sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab - -# make initramfs -chroot $MOUNTDIR depmod -a - -LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ - --nomdadmconf --nolvmconf \ - /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ - ${KERNEL_MAJVER}${KERNEL_EXTRAVER} - -# configure isolinux boot loader -[ -e $MOUNTDIR2/boot/isolinux ] || mkdir -p $MOUNTDIR2/boot/isolinux -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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 nomodeset -LABEL debug -MENU LABEL Debug mode - kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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/{ldlinux,libcom32,libutil,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; } - -# configure for runlevel 5 boot -sed -i "s|id:3\(:initdefault.*\)|id:5\1|" $MOUNTDIR/etc/inittab - -# 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 ;; - *) timezone=UTC ;; -esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime - -# 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 - -prelink diff --git a/platforms/flash-1GB/root/openmamba-flash-1GB/CHANGES b/platforms/flash-1GB/root/openmamba-flash-1GB/CHANGES deleted file mode 100644 index 0cab7af..0000000 --- a/platforms/flash-1GB/root/openmamba-flash-1GB/CHANGES +++ /dev/null @@ -1,22 +0,0 @@ -openmamba flash-1GB changelog -============================= - -20081218 -* configure syslinux for VESA boot menu with debug startup choices - -20070908 -* don't install documentation files from RPMS to reduce occupation -* syncronize common packages with livecd -* nvidia legacy drivers removed - -20070811 -* added explicit postplug-xorg and postplug-sound installation - -20070605 -* removed amarok - -20070529 -* postplug: disabled modprobing of fglrx driver -* ntfs-3g, dosfstools,man: added -* kaffeine,knemo: removed (no free space) - diff --git a/platforms/flash-1GB/root/openmamba-flash-1GB/COPYING b/platforms/flash-1GB/root/openmamba-flash-1GB/COPYING deleted file mode 100644 index 94a9ed0..0000000 --- a/platforms/flash-1GB/root/openmamba-flash-1GB/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - 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/flash-1GB/root/openmamba-flash-1GB/INSTALL b/platforms/flash-1GB/root/openmamba-flash-1GB/INSTALL deleted file mode 100644 index 571abda..0000000 --- a/platforms/flash-1GB/root/openmamba-flash-1GB/INSTALL +++ /dev/null @@ -1,50 +0,0 @@ -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/flash-1GB/root/openmamba-flash-1GB/README b/platforms/flash-1GB/root/openmamba-flash-1GB/README deleted file mode 100644 index 4c76f5a..0000000 --- a/platforms/flash-1GB/root/openmamba-flash-1GB/README +++ /dev/null @@ -1,57 +0,0 @@ -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/flash-1GB/root/openmamba-flash-1GB/TODO b/platforms/flash-1GB/root/openmamba-flash-1GB/TODO deleted file mode 100644 index 4b4100c..0000000 --- a/platforms/flash-1GB/root/openmamba-flash-1GB/TODO +++ /dev/null @@ -1,8 +0,0 @@ -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/flash-1GB/settings.inc b/platforms/flash-1GB/settings.inc deleted file mode 100644 index 7a9a888..0000000 --- a/platforms/flash-1GB/settings.inc +++ /dev/null @@ -1,12 +0,0 @@ -MEDIA=cpio -MULTITHREAD=1 - -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules sound" - -RPMEXTRAARGS="--excludedocs" - -TARGET_HOSTNAME=openmamba-flash-1GB -ROOTDEV=/dev/sda1 -ROOTFS=ext3 diff --git a/platforms/flash-512MB/Makefile b/platforms/flash-512MB/Makefile deleted file mode 100644 index affcf33..0000000 --- a/platforms/flash-512MB/Makefile +++ /dev/null @@ -1 +0,0 @@ -openmamba-flash-512MB: $(MAKEDIST_TARGET)-commontools xorg-server rpm diff --git a/platforms/flash-512MB/Makefile.defs b/platforms/flash-512MB/Makefile.defs deleted file mode 100644 index e69de29..0000000 diff --git a/platforms/flash-512MB/post.inc.sh b/platforms/flash-512MB/post.inc.sh deleted file mode 100644 index e44e919..0000000 --- a/platforms/flash-512MB/post.inc.sh +++ /dev/null @@ -1,73 +0,0 @@ -## 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 --noclear tty\1,' $MOUNTDIR/etc/inittab -sed -i '/^[4-6]:.*/d' $MOUNTDIR/etc/inittab - -# make initramfs - -LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 overlayfs squashfs isofs reiserfs" \ - --nomdadmconf --nolvmconf \ - /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ - ${KERNEL_MAJVER}${KERNEL_EXTRAVER} - -# 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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz root=live:LABEL=${MAKEDIST_TARGET}_${PLATFORM} ro selinux=0 quiet splash vga=789 nomodeset -LABEL debug -MENU LABEL Debug mode - kernel /boot/vmlinuz-${KERNEL_MAJVER}${KERNEL_EXTRAVER} - append initrd=/boot/initrmfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.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/{ldlinux,libcom32,libutil,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; } - -prelink - -#echo "Performing binaries prelinking..." -#chroot $MOUNTDIR /bin/bash -c "PRELINK_NOINITCHECK=1 /etc/cron.daily/prelink" diff --git a/platforms/flash-512MB/root/COPYING b/platforms/flash-512MB/root/COPYING deleted file mode 100644 index 5a965fb..0000000 --- a/platforms/flash-512MB/root/COPYING +++ /dev/null @@ -1,280 +0,0 @@ - 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-512MB/root/README b/platforms/flash-512MB/root/README deleted file mode 100644 index 23fa9c6..0000000 --- a/platforms/flash-512MB/root/README +++ /dev/null @@ -1,53 +0,0 @@ -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-512MB/settings.inc b/platforms/flash-512MB/settings.inc deleted file mode 100644 index 4e15183..0000000 --- a/platforms/flash-512MB/settings.inc +++ /dev/null @@ -1,10 +0,0 @@ -MEDIA=cpio -MULTITHREAD=1 - -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules" - -TARGET_HOSTNAME=openmamba-flash-512MB -ROOTDEV=/dev/sda1 -ROOTFS=ext3 From 084eb07f6f9353854767232c936b0880ed311e88 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 8 Sep 2013 16:09:58 +0200 Subject: [PATCH 142/186] makedist.inc.sh: call initialize_root_dir to comply with makedist change --- makedist.inc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index 7e61bb3..bd11ff0 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -10,7 +10,7 @@ [ $MEDIA = "raw" ] && create_raw_filesystem $LOCALSTATEDIR/$MEDIA_NAME $MEDIA_SIZE 1024k $ROOTFS #create_livecd - +initialize_root_dir create_rpm_database create_devices From f6358f1d1cf7f7ed35a8fe804e6b4606a9d8c02f Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 12 Sep 2013 10:28:28 +0200 Subject: [PATCH 143/186] live platforms: support for precreating VirtualBox guest modules --- platforms/livecd-gnome-root/Makefile.defs | 1 + platforms/livecd-gnome-root/post.inc.sh | 10 ++++++++++ platforms/livecd-light-root/Makefile.defs | 1 + platforms/livecd-light-root/post.inc.sh | 10 ++++++++++ platforms/livecd-root/Makefile | 11 ++++++----- platforms/livecd-root/Makefile.defs | 1 + platforms/livecd-root/post.inc.sh | 10 ++++++++++ platforms/livedvd-root/Makefile | 2 +- platforms/livedvd-root/Makefile.defs | 1 + platforms/livedvd-root/post.inc.sh | 4 ++++ platforms/livedvd/Makefile.defs | 2 +- platforms/livegames-root/Makefile | 4 ++-- platforms/rootfs/Makefile | 5 +++-- platforms/testcd-root/Makefile | 11 ++++++----- platforms/testcd-root/Makefile.defs | 1 + platforms/testcd-root/post.inc.sh | 10 ++++++++++ 16 files changed, 68 insertions(+), 16 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile.defs b/platforms/livecd-gnome-root/Makefile.defs index a9dd47d..7bbc216 100644 --- a/platforms/livecd-gnome-root/Makefile.defs +++ b/platforms/livecd-gnome-root/Makefile.defs @@ -1,2 +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 index 5851121..9e5c69f 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -46,7 +46,17 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +# 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 diff --git a/platforms/livecd-light-root/Makefile.defs b/platforms/livecd-light-root/Makefile.defs index a9dd47d..7bbc216 100644 --- a/platforms/livecd-light-root/Makefile.defs +++ b/platforms/livecd-light-root/Makefile.defs @@ -1,2 +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 index a681b8d..66be490 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -35,7 +35,17 @@ esac echo $timezone > $MOUNTDIR/etc/timezone cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +# 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 diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 34b9df8..238e872 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -1,7 +1,6 @@ -$(MAKEDIST_TARGET)-livecd-kde4: kppp4 krfb4 ark kcalc kdf kgpg desktop-base-kde4 \ - ksnapshot okular desktop-base-kde4 kmix \ - bluedevil smb4k juk kwallet dragon kate -# kopete4 +$(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: \ @@ -15,8 +14,10 @@ $(MAKEDIST_TARGET)-livecd-root: \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ samba-server \ - smart-gui cpufreqd mambatray \ + cpufreqd mambatray smart \ $(MAKEDIST_TARGET)-livecd-kde4 +# smart-gui + # Localization targets $(MAKEDIST_TARGET)-livecd-root-en: \ kde-l10n-en_GB diff --git a/platforms/livecd-root/Makefile.defs b/platforms/livecd-root/Makefile.defs index 103e646..36c84ec 100644 --- a/platforms/livecd-root/Makefile.defs +++ b/platforms/livecd-root/Makefile.defs @@ -1 +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 index 95f951d..4446d65 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -47,7 +47,17 @@ for f in /usr/share/applications/chromium-devel.desktop; do chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f || exit 1 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 diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index bbdc44a..6c68d6b 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-livedvd-kde4: kppp4 krfb4 ark kcalc kdf kgpg desktop-base-kde4 \ +$(MAKEDIST_TARGET)-livedvd-kde4: kppp krfb ark kcalc kdf kgpg desktop-base-kde4 \ ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ kopete4 bluedevil smb4k amarok kwallet dragon kate $(MAKEDIST_TARGET)-livedvd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress diff --git a/platforms/livedvd-root/Makefile.defs b/platforms/livedvd-root/Makefile.defs index 103e646..36c84ec 100644 --- a/platforms/livedvd-root/Makefile.defs +++ b/platforms/livedvd-root/Makefile.defs @@ -1 +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 index cbc0c81..7811dbe 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -47,7 +47,11 @@ for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applicati chroot $MOUNTDIR /opt/kde/bin/kickoffcfg --add-favorite $f done +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 diff --git a/platforms/livedvd/Makefile.defs b/platforms/livedvd/Makefile.defs index f95e0ed..17d2cb2 100644 --- a/platforms/livedvd/Makefile.defs +++ b/platforms/livedvd/Makefile.defs @@ -4,7 +4,7 @@ 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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx xorg-drv-video-nvidia +xorgdrvvideo = xorg-drv-video-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-vboxvideo libkorganizer.so.1 = korganizer libkorganizer_calendar.so.1 = korganizer libkorganizer_eventviewer.so.1 = korganizer diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 8885e8e..c862f49 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -1,5 +1,5 @@ -$(MAKEDIST_TARGET)-livegames-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ +$(MAKEDIST_TARGET)-livegames-kde4: kppp krfb ark kcalc kdf kfloppy kgpg desktop-base-kde4 \ + ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ kopete4 kdebluetooth4 smb4k kate \ kruler gwenview4 kamera kcolorchooser lisa4 kwalletmanager4 libqt4-sqlite \ bomber bovo granatier kapman katomic kbattleship kblackbox kblocks kbounce \ diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 4f41685..d16cbed 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -12,7 +12,8 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba kernel-mamba-sound kernel-mamba-wireless \ - kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-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 \ @@ -23,7 +24,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ 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 chromium rdesktop mingetty \ + dhcp-server rfkill plymouth livecd-tools rdesktop mingetty \ postplug-xorg postplug-sound gparted tar net-tools chrony mambatray kvkbd # startactive diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 9f3e550..4b3af7e 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -1,6 +1,6 @@ -$(MAKEDIST_TARGET)-testcd-kde4: kppp4 krfb4 ark kcalc kdf kgpg desktop-base-kde4 \ - ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ - kopete bluedevil smb4k juk kwallet dragon kate +$(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: \ @@ -13,9 +13,10 @@ $(MAKEDIST_TARGET)-testcd-root: \ chromium \ macbook-tools livecd-tools \ Mesa-tools driconf parted testdisk \ - samba-server \ - smart-gui cpufreqd mambatray \ + samba-server cpufreqd mambatray smart \ $(MAKEDIST_TARGET)-testcd-kde4 openssh-server +# smart-gui + # Localization targets $(MAKEDIST_TARGET)-testcd-root-en: \ kde-l10n-en_GB diff --git a/platforms/testcd-root/Makefile.defs b/platforms/testcd-root/Makefile.defs index 3ff64b8..05e6cdc 100644 --- a/platforms/testcd-root/Makefile.defs +++ b/platforms/testcd-root/Makefile.defs @@ -1,2 +1,3 @@ networkmanagergui = plasma-applet-networkmanagement #xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau +xorgdrvvideo += xorg-drv-video-vboxvideo VirtualBox-vboxguest diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index ac865d7..6cdd366 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -47,7 +47,17 @@ 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 From ae1f300bbb35df438138f727da4befbcd8ab8cba Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 12 Sep 2013 10:31:52 +0200 Subject: [PATCH 144/186] rootfs: update kde4 target packages --- platforms/rootfs/Makefile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index d16cbed..6e1db9f 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -1,9 +1,8 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-kde4: \ - kppp4 desktop-base-kde4 \ - ksnapshot okular desktop-base-kde4 kmix4 \ - kopete4 kdebluetooth4 smb4k juk4 lisa4 kwalletmanager4 \ - libqt4-sqlite kate ark4 kcalc4 kdf4 kfloppy4 kgpg4 \ - kaffeine kamoso + kppp desktop-base-kde4 \ + ksnapshot okular desktop-base-kde4 kmix \ + kopete bluedevil smb4k juk lisa kwalletmanager \ + libqt4-sqlite kate ark kcalc kdf kgpg kaffeine kamoso $(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ kernel-iconia kernel-iconia-modules kernel-hannspad kernel-hannspad-modules \ From fc6b75f904b16ada6296535b9044b5b4485487dc Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 12 Sep 2013 10:34:15 +0200 Subject: [PATCH 145/186] rootfs-light: add kernel-rpi for arm architecture --- platforms/rootfs-light/Makefile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 83ec7ea..6f8d167 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -1,7 +1,10 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ - kernel-iconia kernel-iconia-modules kernel-hannspad kernel-hannspad-modules \ + kernel-iconia kernel-iconia-modules \ + kernel-hannspad kernel-hannspad-modules \ + kernel-rpi kernel-rpi-modules \ kernel-mamba-arm kernel-mamba-arm-sound kernel-mamba-arm-wireless \ - kernel-mamba-arm-firmware brcm_patchram midori + kernel-mamba-arm-firmware \ + brcm_patchram midori $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba kernel-mamba-sound kernel-mamba-wireless chromium \ From 80cfd4abf37b6e0314340f09ce2b67dc7c6c93be Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 13 Sep 2013 15:59:14 +0200 Subject: [PATCH 146/186] livedvd/livegames: more fixes to kde package names --- platforms/livedvd-root/Makefile | 2 +- platforms/livegames-root/Makefile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 6c68d6b..7723374 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -1,6 +1,6 @@ $(MAKEDIST_TARGET)-livedvd-kde4: kppp krfb ark kcalc kdf kgpg desktop-base-kde4 \ ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ - kopete4 bluedevil smb4k amarok kwallet dragon kate + kopete bluedevil smb4k amarok kwallet dragon kate $(MAKEDIST_TARGET)-livedvd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress $(MAKEDIST_TARGET)-livedvd-root: \ diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index c862f49..765befa 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -1,11 +1,11 @@ $(MAKEDIST_TARGET)-livegames-kde4: kppp krfb ark kcalc kdf kfloppy kgpg desktop-base-kde4 \ ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ - kopete4 kdebluetooth4 smb4k kate \ - kruler gwenview4 kamera kcolorchooser lisa4 kwalletmanager4 libqt4-sqlite \ + kopete bliedevil smb4k kate \ + kruler gwenview4 kamera kcolorchooser lisa 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 ksudoku4 ktron ktuberling kfourinline \ + ksame kshisen ksirk kspaceduel ksquares ksudoku ktron ktuberling kfourinline \ kubrick lskat palapeli $(MAKEDIST_TARGET)-livegames-root: \ From 1ed7109fb97cb4eaa2817b3b03be90bc7e3e5e96 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 13 Sep 2013 16:01:08 +0200 Subject: [PATCH 147/186] livestudio, sdk-root: obsolete platforms removed --- platforms/livestudio-root/Makefile | 33 --- platforms/livestudio-root/Makefile.defs | 1 - platforms/livestudio-root/post.inc.sh | 49 --- .../root/openmamba-livestudio/CHANGES | 5 - .../root/openmamba-livestudio/COPYING | 280 ------------------ .../root/openmamba-livestudio/INSTALL | 6 - .../root/openmamba-livestudio/README | 5 - .../root/openmamba-livestudio/TODO | 1 - platforms/livestudio-root/settings.inc | 12 - platforms/sdk-root/Makefile | 24 -- platforms/sdk-root/Makefile.defs | 16 - platforms/sdk-root/post.inc.sh | 100 ------- platforms/sdk-root/pre.inc.sh.bak | 20 -- platforms/sdk-root/settings.inc | 13 - 14 files changed, 565 deletions(-) delete mode 100644 platforms/livestudio-root/Makefile delete mode 100644 platforms/livestudio-root/Makefile.defs delete mode 100644 platforms/livestudio-root/post.inc.sh delete mode 100644 platforms/livestudio-root/root/openmamba-livestudio/CHANGES delete mode 100644 platforms/livestudio-root/root/openmamba-livestudio/COPYING delete mode 100644 platforms/livestudio-root/root/openmamba-livestudio/INSTALL delete mode 100644 platforms/livestudio-root/root/openmamba-livestudio/README delete mode 100644 platforms/livestudio-root/root/openmamba-livestudio/TODO delete mode 100644 platforms/livestudio-root/settings.inc delete mode 100644 platforms/sdk-root/Makefile delete mode 100644 platforms/sdk-root/Makefile.defs delete mode 100644 platforms/sdk-root/post.inc.sh delete mode 100644 platforms/sdk-root/pre.inc.sh.bak delete mode 100644 platforms/sdk-root/settings.inc diff --git a/platforms/livestudio-root/Makefile b/platforms/livestudio-root/Makefile deleted file mode 100644 index 91552c0..0000000 --- a/platforms/livestudio-root/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -$(MAKEDIST_TARGET)-livestudio-kde4: kppp4 krfb4 ark4 kcalc4 kdf4 kfloppy4 kgpg4 desktop-base-kde4 \ - ksnapshot okular kontact4 kmail4 akregator4 desktop-base-kde4 kmix4 \ - kopete4 kdebluetooth4 smb4k kate \ - kruler gwenview4 kamera kcolorchooser amarok lisa4 kwalletmanager4 libqt4-sqlite -#kitchensync4 - -$(MAKEDIST_TARGET)-livestudio-root: \ - postplug-xorg postplug-sound openssh-server \ - $(MAKEDIST_TARGET)-commontools msysklogd 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 samba-server libdvdcss \ - kaffeine wine gimp cinepaint \ - audacity \ - macbook-tools livecd-tools \ - Mesa-tools driconf \ - blender inkscape ardour \ - mixxx lives muse puredata \ - qtractor rosegarden ZynAddSubFX timidity \ - qsynth qjackctl kino hydrogen vlc digikam \ - cheese kpdf cinelerra \ - smart-gui cpufreqd mambatray \ - desktop-base-openmamba gtick lingot mandvd denemo miro \ - $(MAKEDIST_TARGET)-livestudio-kde4 - -#makehuman -# Localization targets -$(MAKEDIST_TARGET)-livestudio-root-en: \ - kde-l10n-en_GB -$(MAKEDIST_TARGET)-livestudio-root-it: \ - kde-l10n-it -# FIXME: add kdepim diff --git a/platforms/livestudio-root/Makefile.defs b/platforms/livestudio-root/Makefile.defs deleted file mode 100644 index 103e646..0000000 --- a/platforms/livestudio-root/Makefile.defs +++ /dev/null @@ -1 +0,0 @@ -networkmanagergui = plasma-applet-networkmanagement diff --git a/platforms/livestudio-root/post.inc.sh b/platforms/livestudio-root/post.inc.sh deleted file mode 100644 index 4fdeccd..0000000 --- a/platforms/livestudio-root/post.inc.sh +++ /dev/null @@ -1,49 +0,0 @@ -## 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 - - # FIXME: move to /etc some configuration files and make appropriate symlinks - mv $MOUNTDIR/opt/kde/share/config/* $MOUNTDIR/etc/opt/kde - rmdir $MOUNTDIR/opt/kde/share/config - ln -s ../../../../etc/opt/kde $MOUNTDIR/opt/kde/share/config -fi - -# FIXME: ensure alternatives are correclty set -chroot $MOUNTDIR update-alternatives-set-dri - -# don't stop msysklogd before halt/shutdown -# -rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd -rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd - -# 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 diff --git a/platforms/livestudio-root/root/openmamba-livestudio/CHANGES b/platforms/livestudio-root/root/openmamba-livestudio/CHANGES deleted file mode 100644 index e0fd745..0000000 --- a/platforms/livestudio-root/root/openmamba-livestudio/CHANGES +++ /dev/null @@ -1,5 +0,0 @@ -openmamba artstudio livecd changelog -==================================== - -20070922 - * new makedist target diff --git a/platforms/livestudio-root/root/openmamba-livestudio/COPYING b/platforms/livestudio-root/root/openmamba-livestudio/COPYING deleted file mode 100644 index 5a965fb..0000000 --- a/platforms/livestudio-root/root/openmamba-livestudio/COPYING +++ /dev/null @@ -1,280 +0,0 @@ - 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/livestudio-root/root/openmamba-livestudio/INSTALL b/platforms/livestudio-root/root/openmamba-livestudio/INSTALL deleted file mode 100644 index 10623d9..0000000 --- a/platforms/livestudio-root/root/openmamba-livestudio/INSTALL +++ /dev/null @@ -1,6 +0,0 @@ -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/livestudio-root/root/openmamba-livestudio/README b/platforms/livestudio-root/root/openmamba-livestudio/README deleted file mode 100644 index c3c8fd9..0000000 --- a/platforms/livestudio-root/root/openmamba-livestudio/README +++ /dev/null @@ -1,5 +0,0 @@ -openmamba artstudio livecd -========================== - -This artstudio livecd is at early development stage. - diff --git a/platforms/livestudio-root/root/openmamba-livestudio/TODO b/platforms/livestudio-root/root/openmamba-livestudio/TODO deleted file mode 100644 index 8b13789..0000000 --- a/platforms/livestudio-root/root/openmamba-livestudio/TODO +++ /dev/null @@ -1 +0,0 @@ - diff --git a/platforms/livestudio-root/settings.inc b/platforms/livestudio-root/settings.inc deleted file mode 100644 index e4e0b50..0000000 --- a/platforms/livestudio-root/settings.inc +++ /dev/null @@ -1,12 +0,0 @@ -MEDIA=squash -MULTITHREAD=1 - -PRODUCT_NAME=livestudio - -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules sound" - -TARGET_HOSTNAME=openmamba-livestudio -ROOTDEV= -ROOTFS= diff --git a/platforms/sdk-root/Makefile b/platforms/sdk-root/Makefile deleted file mode 100644 index da073b5..0000000 --- a/platforms/sdk-root/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -$(MAKEDIST_TARGET)-sdk-root: openssh-server usbutils wireless_tools parted \ - iputils file rootfiles file \ - dhcpclient ppp minicom vsftpd rt2870-firmware ntp locales \ - binutils gcc gcc-c++ gcc-cpp make man-db glibc-devel strace \ - util-linux module-init-tools \ - procps sed grep net-tools tar bzip2 unzip zip pciutils \ - pam shadow-common pwdutils mingetty \ - NetworkManager ModemManager net-tools mc \ - timezone wireless_tools openmamba-release openssh-clients \ - man iptables iputils xinetd less mtd-utils bluez \ - reiserfsprogs ppp usbutils ftp telnet eject \ - tcpdump pcmcia-utils xdg-utils iproute syslog-ng \ - rpm autospec autodist nfs-utils patch sudo smart \ - pkgconfig diffutils autoconf automake libtool gettext xorg-server \ - tightvnc-server lxde midori $(MAKEDIST_TARGET)-devel icecc -$(MAKEDIST_TARGET)-sdk-root-missing: wpa_supplicant dosfstools cups vim postplug ipw2100-firmware ipw2200-firmware zd1211-firmware \ - rt2501-firmware rt2870-firmware b43-tools r5u87x-firmware mdadm \ - ndiswrapper slmodem nfs-utils mbr -$(MAKEDIST_TARGET)-sdk-root-en: -$(MAKEDIST_TARGET)-sdk-root-it: -$(MAKEDIST_TARGET)-sdk-root-es: -$(MAKEDIST_TARGET)-sdk-root-i586: grub -$(MAKEDIST_TARGET)-sdk-root-arm: -$(MAKEDIST_TARGET)-sdk-root-ppc: yaboot diff --git a/platforms/sdk-root/Makefile.defs b/platforms/sdk-root/Makefile.defs deleted file mode 100644 index 99d3c52..0000000 --- a/platforms/sdk-root/Makefile.defs +++ /dev/null @@ -1,16 +0,0 @@ -# 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 -xorgdrvvideo = xorg-drv-video-fbdev -# xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau -xorgdrvinput = xorg-drv-input-keyboard xorg-drv-input-mouse xorg-drv-input-synaptics xorg-drv-input-void xorg-drv-input-evdev -libGL.so.1 = libGL-Mesa-dri -libGLU.so.1 = libGL-Mesa-dri -dhcpclient = dhcpcd diff --git a/platforms/sdk-root/post.inc.sh b/platforms/sdk-root/post.inc.sh deleted file mode 100644 index c870d66..0000000 --- a/platforms/sdk-root/post.inc.sh +++ /dev/null @@ -1,100 +0,0 @@ -# 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-3]\):.*,\1:2345:respawn:/sbin/mingetty --autologin root --noclear tty\1,' $MOUNTDIR/etc/inittab -sed -i '/^[1-6]:.*/d' $MOUNTDIR/etc/inittab - -if [ "$ARCH" == "arm" ]; then - INITTAB_TTY="ttyS0 ttyAMA0" -else - INITTAB_TTY="tty1 tty2 tty3" -fi -n=0 -for t in ${INITTAB_TTY}; do -n=`expr $n + 1` -echo "${n}:2345:respawn:/sbin/mingetty --autologin root --noclear ${t}" >> $MOUNTDIR/etc/inittab -done - -# add default sdk user -chroot $MOUNTDIR useradd sdk -G sysadmin,packager - -# configure default root password -echo "sdk" | chroot $MOUNTDIR passwd root --stdin - -# configure default sdk password -echo "sdk" | chroot $MOUNTDIR passwd sdk --stdin - -## add fstab entries -#cat >> $MOUNTDIR/etc/fstab << _EOF -##/dev/hda1 /mnt/cf0 auto defaults 1 1 -#/dev/mmcblk0p1 /mnt/sd0 auto defaults 1 1 -#_EOF -#mkdir $MOUNTDIR/mnt/cf0 $MOUNTDIR/mnt/sd0 - -# enable network manager -chroot $MOUNTDIR chkconfig --add NetworkManager - -# disable nfs -chroot $MOUNTDIR chkconfig --del nfslock -chroot $MOUNTDIR chkconfig --del portmap - -# remove some services -rm -f $MOUNTDIR/etc/rc?.d/???{iptables,acpid} - -# configure vncserver - cat >> $MOUNTDIR/etc/sysconfig/vncservers << _EOF -VNCSERVERS="1:root" -export USER=root -_EOF - - cat >> $MOUNTDIR/etc/tightvncserver.conf << _EOF -\$geometry = "800x480" -_EOF -chroot $MOUNTDIR chkconfig --add vncserver -chroot $MOUNTDIR chkconfig --level 345 vncserver on - -mkdir -p $MOUNTDIR/etc/X11/xinit/ -echo "startlxde" > $MOUNTDIR/etc/X11/xinit/xinitrc -chmod +x $MOUNTDIR/etc/X11/xinit/xinitrc - -cat > $MOUNTDIR/usr/bin/X-vncserver << _EOF -#!/bin/bash -vncserver -_EOF -chmod +x $MOUNTDIR/usr/bin/X-vncserver - -# copy qemu-static -cp /usr/bin/qemu-arm.static $MOUNTDIR/usr/bin/qemu-arm -cp /usr/bin/qemu-arm.static $MOUNTDIR/usr/bin/qemu-arm-suid -chmod 4755 $MOUNTDIR/usr/bin/qemu-arm-suid -cat > $MOUNTDIR/bin/sudo-qemu << _EOF -#!/bin/sh -/usr/bin/qemu-arm-suid /usr/bin/sudo \$@ -_EOF -chmod +x $MOUNTDIR/bin/sudo-qemu - -# 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 - -if [ ! "$KERNEL_IGNORE" ]; then - # update module dependencies - chroot $MOUNTDIR depmod -a ${KERNEL_MAJVER}${KERNEL_EXTRAVER} - - # create universal initramfs - LANG=${LANGUAGE}_${COUNTRY} chroot $MOUNTDIR dracut \ - --filesystems "ext3 ext4 reiserfs" \ - --nomdadmconf --nolvmconf \ - /boot/initramfs-${KERNEL_MAJVER}${KERNEL_EXTRAVER}.img.gz \ - ${KERNEL_MAJVER}${KERNEL_EXTRAVER} -fi - -# don't remove static qemu for this platform -QEMU_COPIED_FOR_INST=0 - -#prelink diff --git a/platforms/sdk-root/pre.inc.sh.bak b/platforms/sdk-root/pre.inc.sh.bak deleted file mode 100644 index f980d6f..0000000 --- a/platforms/sdk-root/pre.inc.sh.bak +++ /dev/null @@ -1,20 +0,0 @@ -# produce archive image for embedded root filesystem -# -MEDIA_NAME=`media_name` - -# embedded target -create_rpm_database -install_rpms "$INSTALL_PACKAGES" "--nodeps --noorder --noscripts" -INSTALLED=$INSTALL_PACKAGES - -[ "$MOUNTDIR" -a "$MOUNTDIR" != "/" ] && rm -rf $MOUNTDIR/var/lib/rpm -# copy static files for specific platform -[ -e $TARGETDIR/platforms/$PLATFORM/root ] && - cp -a $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/sdk-root/settings.inc b/platforms/sdk-root/settings.inc deleted file mode 100644 index af926b3..0000000 --- a/platforms/sdk-root/settings.inc +++ /dev/null @@ -1,13 +0,0 @@ -KERNEL_EXTRAVER=mamba-${ARCH} -KERNEL_ADDITIONAL= -KERNEL_IGNORE=true -#APPLICATION_TARGET="sdk-root" -#MEDIA=qemu -MEDIA=archive_gz -#ARCH=arm -#INSTALL_PACKAGES="bash" -BUILD_MISSING=true -TARGET_HOSTNAME=${ARCH}-sdk -#rpmextraargs="--noscripts" -DEBUG=1 -#RPM=rpm5 From 5dea51fd57518dcb10d2ce043aa09d080f6192d4 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 17 Sep 2013 13:05:45 +0200 Subject: [PATCH 148/186] Remove syslog-ng and msysklogd from various platforms; replaced by default by systemd journal --- platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-gnome-root/post.inc.sh | 5 ----- platforms/livecd-light-root/Makefile | 2 +- platforms/livecd-light-root/post.inc.sh | 5 ----- platforms/livecd-root/Makefile | 2 +- platforms/livecd-root/post.inc.sh | 5 ----- platforms/livedvd-root/Makefile | 2 +- platforms/livedvd-root/post.inc.sh | 5 ----- platforms/livegames-root/Makefile | 2 +- platforms/livegames-root/post.inc.sh | 5 ----- platforms/rootfs-light/Makefile | 4 ++-- platforms/rootfs/Makefile | 2 +- platforms/testcd-root/Makefile | 2 +- platforms/testcd-root/post.inc.sh | 5 ----- 14 files changed, 9 insertions(+), 39 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 8b3f96a..c5f5357 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -18,7 +18,7 @@ $(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-calc libreoffice-writer libre $(MAKEDIST_TARGET)-livecd-gnome-root: \ postplug-xorg postplug-sound \ - $(MAKEDIST_TARGET)-commontools msysklogd xorg-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 \ diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 9e5c69f..8dc7d38 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -31,11 +31,6 @@ chroot $MOUNTDIR gtk-update-icon-cache /usr/share/icons/hicolor # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri -# don't stop msysklogd before halt/shutdown -# -rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd -rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd - # set timezone according to LANGUAGE (default is UTC) # case $LANGUAGE in diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index c7666c4..1cd1313 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -13,7 +13,7 @@ $(MAKEDIST_TARGET)-livecd-light-libreoffice: libreoffice-calc libreoffice-writer $(MAKEDIST_TARGET)-livecd-light-root: \ postplug-xorg postplug-sound \ - $(MAKEDIST_TARGET)-commontools msysklogd xorg-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 \ diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index 66be490..9b99b70 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -20,11 +20,6 @@ sed -i "s|# autologin.*|autologin=liveuser|" $MOUNTDIR/etc/lxdm/lxdm.conf # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri -# don't stop msysklogd before halt/shutdown -# -rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd -rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd - # set timezone according to LANGUAGE (default is UTC) # case $LANGUAGE in diff --git a/platforms/livecd-root/Makefile b/platforms/livecd-root/Makefile index 238e872..7279071 100644 --- a/platforms/livecd-root/Makefile +++ b/platforms/livecd-root/Makefile @@ -5,7 +5,7 @@ $(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-Calc libreoffice-writer libre $(MAKEDIST_TARGET)-livecd-root: \ postplug-xorg postplug-sound openssh-server \ - $(MAKEDIST_TARGET)-commontools msysklogd xorg-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 \ diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 4446d65..2f3c70c 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -27,11 +27,6 @@ fi # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri -# don't stop msysklogd before halt/shutdown -# -rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd -rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd - # set timezone according to LANGUAGE (default is UTC) # case $LANGUAGE in diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 7723374..7771de0 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -5,7 +5,7 @@ $(MAKEDIST_TARGET)-livedvd-libreoffice: libreoffice-calc libreoffice-writer libr $(MAKEDIST_TARGET)-livedvd-root: \ postplug-xorg postplug-sound openssh-server \ - $(MAKEDIST_TARGET)-commontools msysklogd xorg-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 \ diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 7811dbe..258200e 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -27,11 +27,6 @@ fi # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri -# don't stop msysklogd before halt/shutdown -# -rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd -rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd - # set timezone according to LANGUAGE (default is UTC) # case $LANGUAGE in diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 765befa..47969eb 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -10,7 +10,7 @@ $(MAKEDIST_TARGET)-livegames-kde4: kppp krfb ark kcalc kdf kfloppy kgpg desktop- $(MAKEDIST_TARGET)-livegames-root: \ postplug-xorg postplug-sound openssh-server \ - $(MAKEDIST_TARGET)-commontools msysklogd xorg-server \ + $(MAKEDIST_TARGET)-commontools xorg-server \ xorg-fonts-100dpi xorg-fonts-Type1 xorg-fonts-TTF \ xorg-drv-input-synaptics \ ttf-freefont liberation-fonts-ttf \ diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index 631c908..ed23951 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -27,11 +27,6 @@ fi # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri -# don't stop msysklogd before halt/shutdown -# -rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd -rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd - # set timezone according to LANGUAGE (default is UTC) # case $LANGUAGE in diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 6f8d167..10838cd 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -15,11 +15,11 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ parted iputils file rootfiles ppp minicom xinetd 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 syslog-ng kmod \ + openmamba-devel timezone sudo kmod \ liblame expect prelink NetworkManager ModemManager procps \ xorg-server x11vnc xkeyboard-config \ xorg-drv-input-tslib xcursor-transparent-theme rpm smart xdg-utils \ - dhcp-server rfkill plymouth livecd-tools rdesktop mingetty \ + dhcp-server rfkill plymouth livecd-tools rdesktop \ postplug-xorg postplug-sound gparted tar net-tools chrony mambatray florence # startactive diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 6e1db9f..a691693 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -19,7 +19,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ parted iputils file rootfiles ppp minicom xinetd 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 syslog-ng kmod \ + 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 \ diff --git a/platforms/testcd-root/Makefile b/platforms/testcd-root/Makefile index 4b3af7e..50b970e 100644 --- a/platforms/testcd-root/Makefile +++ b/platforms/testcd-root/Makefile @@ -5,7 +5,7 @@ $(MAKEDIST_TARGET)-testcd-libreoffice: libreoffice-calc libreoffice-writer libre $(MAKEDIST_TARGET)-testcd-root: \ postplug-xorg postplug-sound \ - $(MAKEDIST_TARGET)-commontools msysklogd xorg-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 \ diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 6cdd366..98d9dfd 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -27,11 +27,6 @@ fi # FIXME: ensure alternatives are correclty set chroot $MOUNTDIR update-alternatives-set-dri -# don't stop msysklogd before halt/shutdown -# -rm -f $MOUNTDIR/etc/rc0.d/K93msysklogd -rm -f $MOUNTDIR/etc/rc6.d/K93msysklogd - # set timezone according to LANGUAGE (default is UTC) # case $LANGUAGE in From c99a3061255c7f1b8c0b2227687f8bf0f0bcc830 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 17 Sep 2013 23:46:48 +0200 Subject: [PATCH 149/186] Remove xinetd from various targets --- platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-light-root/Makefile | 2 +- platforms/rootfs-light/Makefile | 4 ++-- platforms/rootfs/Makefile | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index c5f5357..cff2b87 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -1,6 +1,6 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ openssh-server usbutils wireless_tools parted iputils file rootfiles \ - ppp minicom xinetd chrony locales mc alsa-utils \ + 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 \ diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index 1cd1313..6fc5466 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -1,5 +1,5 @@ $(MAKEDIST_TARGET)-livecd-light: openssh-server usbutils wireless_tools parted iputils file rootfiles \ - ppp minicom xinetd chrony locales mc alsa-utils \ + 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 \ diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 10838cd..66f7ea7 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -12,7 +12,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ $(MAKEDIST_TARGET)-$(PLATFORM): \ lxde openssh-server usbutils wireless_tools screen i2c-tools \ - parted iputils file rootfiles ppp minicom xinetd chrony locales mc \ + 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 \ @@ -20,7 +20,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ 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 chrony mambatray florence + postplug-xorg postplug-sound gparted tar net-tools mambatray florence # startactive # tightvnc-server lxde network-manager-applet matchbox-keyboard midori Mesa-tools alsa-utils diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index a691693..549836c 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ $(MAKEDIST_TARGET)-$(PLATFORM): \ $(MAKEDIST_TARGET)-$(PLATFORM)-kde4 openssh-server usbutils wireless_tools i2c-tools \ - parted iputils file rootfiles ppp minicom xinetd chrony locales mc \ + 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 \ From f4c2b82c2d44e657ee1dc161ba9eedac042cbada Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 26 Sep 2013 10:31:23 +0200 Subject: [PATCH 150/186] Makefile.defs: mono choiches for gtk-sharp2 vs gtk-sharp --- Makefile.defs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 9b1307c..afa91be 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -169,6 +169,10 @@ 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 From 48f9c405c743a40ff08c2e8041462bbf5b47854e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 26 Sep 2013 10:32:00 +0200 Subject: [PATCH 151/186] rootfs, livegames-root: remove lisa --- platforms/livegames-root/Makefile | 2 +- platforms/rootfs/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/livegames-root/Makefile b/platforms/livegames-root/Makefile index 47969eb..42c7b74 100644 --- a/platforms/livegames-root/Makefile +++ b/platforms/livegames-root/Makefile @@ -1,7 +1,7 @@ $(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 lisa kwalletmanager \ + 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 \ diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 549836c..5672705 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -1,7 +1,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-kde4: \ kppp desktop-base-kde4 \ ksnapshot okular desktop-base-kde4 kmix \ - kopete bluedevil smb4k juk lisa kwalletmanager \ + kopete bluedevil smb4k juk kwalletmanager \ libqt4-sqlite kate ark kcalc kdf kgpg kaffeine kamoso $(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ From 80eec3d3d504e2061008cec8092cfb37a0e69363 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 3 Nov 2013 17:48:17 +0100 Subject: [PATCH 152/186] Makefile.defs: definitions for libatlas (x86_64) --- Makefile.defs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index afa91be..656da3b 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -1,5 +1,7 @@ # def file for openmamba platforms +/bin/sh = bash + # systemd/sysvinit _initsystem = systemd /sbin/halt = $(_initsystem) @@ -135,6 +137,11 @@ 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 else libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri @@ -158,6 +165,11 @@ 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 endif /usr/bin/python = python python[abi] = python @@ -213,11 +225,6 @@ libgs.so.9 = ghostscript udev = udev libudev.so.0 = udev libgudev-1.0.so.0 = udev -libatlas.so.3 = libatlas -libcblas.so.3 = libatlas -libf77blas.so.3 = libatlas -libptcblas.so.3 = libatlas -libptf77blas.so.3 = libatlas libexpect5.44.1.15.so = expect # ffmpeg / libav From e5327f3a219ae9d784081bfc662489c74af0a1e1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 30 Dec 2013 16:50:47 +0100 Subject: [PATCH 153/186] rootfs-light: added cubox kernel and NetworkManager-openvpn --- platforms/rootfs-light/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 66f7ea7..2047f17 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -2,9 +2,9 @@ $(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 \ - kernel-mamba-arm-firmware \ - brcm_patchram midori + brcm_patchram midori u-boot-tools $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba kernel-mamba-sound kernel-mamba-wireless chromium \ @@ -16,8 +16,8 @@ $(MAKEDIST_TARGET)-$(PLATFORM): \ 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 \ + 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 From e13e90daaead3235d6c46c4811ae1bf798b7d5f5 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Mon, 30 Dec 2013 16:51:27 +0100 Subject: [PATCH 154/186] Fixes to pre/post rpm database installation --- makedist.inc.sh | 10 ++++------ platforms/rootfs/Makefile | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index bd11ff0..c44ef4d 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -108,9 +108,6 @@ ONBOOT=yes _EOF fi -#erase_rpm_database -clean_rpm_database - # delete unused localizations # echo "Deleting other languages l10n files..." @@ -140,13 +137,10 @@ fi # execute platform specific script [ -e $TARGETDIR/platforms/$PLATFORM/post.inc.sh ] && . $TARGETDIR/platforms/$PLATFORM/post.inc.sh -post_install_rpms - # 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/ @@ -174,6 +168,10 @@ if [ ! "$KERNEL_IGNORE" ]; then done fi +# rpm database +post_install_rpms +clean_rpm_database + [ "$QEMU_COPIED_FOR_INST" ] && post_qemu produce_media diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 5672705..098399e 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -7,7 +7,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-kde4: \ $(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 + kernel-mamba-arm-firmware brcm_patchram u-boot-tools $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba kernel-mamba-sound kernel-mamba-wireless \ From ffe669f7862ec15e29b9e84e76222ac3006cb4cf Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 9 Mar 2014 14:51:21 +0100 Subject: [PATCH 155/186] Makefile.defs: defines after ffmpeg 2.1 update --- Makefile.defs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 656da3b..f890ed6 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -142,6 +142,13 @@ 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.51[][64bit] = libpostproc-ffmpeg +libpostproc.so.51[LIBPOSTPROC_51][64bit] = libpostproc-ffmpeg else libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri @@ -170,6 +177,13 @@ 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.51 = libpostproc-ffmpeg +libpostproc.so.51[LIBPOSTPROC_51] = libpostproc-ffmpeg endif /usr/bin/python = python python[abi] = python @@ -227,9 +241,6 @@ libudev.so.0 = udev libgudev-1.0.so.0 = udev libexpect5.44.1.15.so = expect -# ffmpeg / libav -libpostproc.so.51 = libpostproc-ffmpeg -libpostproc.so.51[LIBPOSTPROC_51] = libpostproc-ffmpeg ffmpegpresets := ffmpeg-presets # libreoffice From cefc8f6149295d9c0d328db3452130890d87caf6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 9 Mar 2014 14:52:36 +0100 Subject: [PATCH 156/186] livedvd: staging changes for multilanguage support --- Makefile | 9 +++++---- makedist.inc.sh | 31 +++++++++++++++++++++-------- platforms/livedvd-root/Makefile | 8 ++++---- platforms/livedvd-root/settings.inc | 1 + platforms/livedvd/Makefile | 2 +- 5 files changed, 34 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 9288f0f..a6e4315 100644 --- a/Makefile +++ b/Makefile @@ -35,17 +35,17 @@ endif kdelibs3: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ - [ "$(MULTILANGUAGE)" != "" ] && for l in it es; do echo -n "kde-i18n-$$l "; done; \ + [ "$(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 it es; do echo -n "kde-l10n-$$l "; done; \ + [ "$(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 it es; do echo -n "koffice-i18n-$$l "; done; \ +# [ "$(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 ] && \ @@ -55,9 +55,10 @@ koffice: aspell: @[ `echo " $$INSTALLED " | grep -c " $@ "` -eq 0 ] && \ { echo -n "$@ "; \ - [ "$(MULTILANGUAGE)" != "" ] && for l in it en es; do echo -n "aspell-$$l "; done; \ + [ "$(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/makedist.inc.sh b/makedist.inc.sh index c44ef4d..cde39f0 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -88,7 +88,13 @@ sed -i "s|\(127\.0\.0\.1\W*\)\(.*\)|\1 $TARGET_HOSTNAME.$TARGET_DOMAIN $TARGET_H #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}" -[ "$LANGUAGE" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for language $LANGUAGE" ${MAKEDIST_TARGET}-${PLATFORM}-${LANGUAGE} "${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 @@ -110,12 +116,14 @@ fi # delete unused localizations # -echo "Deleting other languages l10n files..." -for d in /usr/share/locale /opt/kde/share/locale \ +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 + 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" @@ -150,8 +158,15 @@ rm -rf $MOUNTDIR/tmp/kde-root cp -a --no-preserve=ownership $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ # 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/* $MOUNTDIR/ +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 diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 7771de0..5504c05 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -1,5 +1,5 @@ -$(MAKEDIST_TARGET)-livedvd-kde4: kppp krfb ark kcalc kdf kgpg desktop-base-kde4 \ - ksnapshot okular kontact kmail akregator desktop-base-kde4 kmix \ +$(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 @@ -20,10 +20,10 @@ $(MAKEDIST_TARGET)-livedvd-root-en: \ kde-l10n-en_GB $(MAKEDIST_TARGET)-livedvd-root-es: \ kde-l10n-es -# firefox-i18n-es-ES +$(MAKEDIST_TARGET)-livedvd-root-fr: \ + kde-l10n-fr $(MAKEDIST_TARGET)-livedvd-root-it: \ kde-l10n-it -# firefox-i18n-it # FIXME: add kdepim syslog-ng: @echo diff --git a/platforms/livedvd-root/settings.inc b/platforms/livedvd-root/settings.inc index dcc84e5..bd06f27 100644 --- a/platforms/livedvd-root/settings.inc +++ b/platforms/livedvd-root/settings.inc @@ -12,6 +12,7 @@ elif [ "$ARCH" = "x86_64" ]; then KERNEL_PLATFORM="" #KERNEL_ADDITIONAL="vboxvideo" KERNEL_MORE_EXTRAVER= + MULTILANGUAGE="it en es fr" fi TARGET_HOSTNAME=openmamba-livedvd diff --git a/platforms/livedvd/Makefile b/platforms/livedvd/Makefile index 041eca2..b5d4a7c 100644 --- a/platforms/livedvd/Makefile +++ b/platforms/livedvd/Makefile @@ -2,5 +2,5 @@ $(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: - From 294ed90b99526f32a964a4ed322058098eb7f747 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 25 Mar 2014 12:40:17 +0100 Subject: [PATCH 157/186] Makefile.defs: specify other ffmpeg 2.2 vs ffmpeg1 preferences --- Makefile.defs | 12 ++++++++---- makedist.inc.sh | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index f890ed6..2ee4403 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -147,8 +147,10 @@ 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.51[][64bit] = libpostproc-ffmpeg -libpostproc.so.51[LIBPOSTPROC_51][64bit] = libpostproc-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] = libswresample-ffmpeg else libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri @@ -182,8 +184,10 @@ 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.51 = libpostproc-ffmpeg -libpostproc.so.51[LIBPOSTPROC_51] = libpostproc-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 diff --git a/makedist.inc.sh b/makedist.inc.sh index cde39f0..52c517c 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -14,6 +14,7 @@ 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" "--nodeps --noorder --noscripts" [ "$LANGUAGE" ] && { From e44be8db5967758ea7e9e088a0da3ee12010daf6 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 1 Apr 2014 10:20:39 +0200 Subject: [PATCH 158/186] Makefile.defs: fix preference for ffmpeg for x86_64 --- Makefile.defs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index 2ee4403..51ed428 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -150,7 +150,7 @@ 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] = libswresample-ffmpeg +libswresample.so.0[LIBSWRESAMPLE_0][64bit] = libswresample-ffmpeg else libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri From 4484bac95e031e9554bfd83f2e632296aff695a8 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 2 Apr 2014 00:58:33 +0200 Subject: [PATCH 159/186] Makefile.defs: by default only install NetworkManager-openvpn --- Makefile.defs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 51ed428..eb93037 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -251,8 +251,8 @@ ffmpegpresets := ffmpeg-presets libreofficei18n = libreoffice-i18n-$(LANGUAGE) # vpn -networkmanagervpnplugin = NetworkManager-vpnc NetworkManager-pptp -knetworkmanagervpnplugin = plasma-applet-networkmanagement-vpnc plasma-applet-networkmanagement-pptp +networkmanagervpnplugin = NetworkManager-openvpn +knetworkmanagervpnplugin = plasma-applet-networkmanagement-openvpn packagekitgui = kpackagekit firewallgui = kcm_ufw From 69bf3cc142af6981c4fddf9664d25356313bbf84 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 5 Apr 2014 18:46:20 +0200 Subject: [PATCH 160/186] livedvd: implemented syslinux multilanguage menu --- platforms/livedvd-root/settings.inc | 3 +- platforms/livedvd/post.inc.sh | 117 +++++++++++++++++----------- platforms/livedvd/settings.inc | 2 +- 3 files changed, 74 insertions(+), 48 deletions(-) diff --git a/platforms/livedvd-root/settings.inc b/platforms/livedvd-root/settings.inc index bd06f27..621119d 100644 --- a/platforms/livedvd-root/settings.inc +++ b/platforms/livedvd-root/settings.inc @@ -1,6 +1,6 @@ PRODUCT_NAME=livedvd MEDIA=squash_xz -MULTITHREAD=1 +MULTILANGUAGE="en it es fr" if [ "$ARCH" = "i586" ]; then KERNEL_EXTRAVER=mamba @@ -12,7 +12,6 @@ elif [ "$ARCH" = "x86_64" ]; then KERNEL_PLATFORM="" #KERNEL_ADDITIONAL="vboxvideo" KERNEL_MORE_EXTRAVER= - MULTILANGUAGE="it en es fr" fi TARGET_HOSTNAME=openmamba-livedvd diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index e7022b4..a3ba71c 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -30,62 +30,85 @@ done buildinfo="`cat $MOUNTDIR/etc/openmamba-release` ${PLATFORM}" # configure isolinux boot loader -cat > $MOUNTDIR2/boot/isolinux/isolinux.cfg << _EOF +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 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 +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" ;; + *) 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 - 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 +cat >> $MOUNTDIR2/boot/isolinux/isolinux.cfg.utf8 << _EOF MENU SEPARATOR LABEL memtest MENU LABEL Memory test @@ -97,13 +120,17 @@ LABEL - 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/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +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 || diff --git a/platforms/livedvd/settings.inc b/platforms/livedvd/settings.inc index c4feb19..2c8ef09 100644 --- a/platforms/livedvd/settings.inc +++ b/platforms/livedvd/settings.inc @@ -1,5 +1,5 @@ MEDIA=iso -MULTITHREAD=1 +MULTILANGUAGE="en it es fr" DISTROMATIC=off if [ "$ARCH" = "i586" ]; then From 407165fffbc5cf701de391b79567d4cee6edd6fd Mon Sep 17 00:00:00 2001 From: root Date: Sat, 12 Apr 2014 22:27:51 +0200 Subject: [PATCH 161/186] makedist.inc.sh: don't set a default locale in multilanguage mode --- makedist.inc.sh | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index 52c517c..8ad5ec8 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -22,31 +22,34 @@ install_rpms "filesystem gzip texinfo ldconfig bash libreadline glibc libncurses [ "$LANGUAGE" = "en" ] && KEYMAP=us || KEYMAP="$LANGUAGE" # configure localization - cat > $MOUNTDIR/etc/vconsole.conf << _EOF + 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 - - # legacy - cat > $MOUNTDIR/etc/sysconfig/keyboard << _EOF -KEYMAP=$KEYMAP.map -XKB_LAYOUT=$KEYMAP -XKB_MODEL=pc105 -XKB_OPTIONS= + else + cat > $MOUNTDIR/etc/vconsole.conf << _EOF +FONT=lat9w-16 +FONT_MAP=8859-1_to_uni +FONT_UNIMAP= +UNICODE=1 _EOF + fi [ "$COUNTRY" ] && { - cat > $MOUNTDIR/etc/locale.conf << _EOF + if [ ! "$MULTILANGUAGE" ]; then + cat > $MOUNTDIR/etc/locale.conf << _EOF LANG=${LANGUAGE}_${COUNTRY}.UTF-8 LC_COLLATE=C _EOF - # legacy - cat > $MOUNTDIR/etc/sysconfig/i18n << _EOF -LANG=${LANGUAGE}_${COUNTRY}.UTF-8 + else + cat > $MOUNTDIR/etc/locale.conf << _EOF +LC_COLLATE=C _EOF + fi } } From 5796d137c2df35b1db8adbe74809f17d8de070fd Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 25 Apr 2014 12:00:34 +0200 Subject: [PATCH 162/186] Fixes for rpm database problem when doing cross x86/x86_64 installations Fixes: error: db4 error(-30986) from dbcursor->get: DB_PAGE_NOTFOUND: Requested page not found --- platforms/livecd-gnome-root/post.inc.sh | 5 +++++ platforms/livecd-light-root/post.inc.sh | 5 +++++ platforms/livecd-root/post.inc.sh | 5 +++++ platforms/livecd/post.inc.sh | 2 +- platforms/livedvd-root/post.inc.sh | 5 +++++ 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 8dc7d38..efab007 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -41,6 +41,11 @@ 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 diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index 9b99b70..2fc0500 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -30,6 +30,11 @@ 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 diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 2f3c70c..4e10e8b 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -42,6 +42,11 @@ 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 diff --git a/platforms/livecd/post.inc.sh b/platforms/livecd/post.inc.sh index e7022b4..486ecf5 100644 --- a/platforms/livecd/post.inc.sh +++ b/platforms/livecd/post.inc.sh @@ -103,7 +103,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +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 || diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 258200e..f6816eb 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -42,6 +42,11 @@ for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applicati 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 From 3230b080e50253650895d758db1ffbf1e6c361e9 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 25 Apr 2014 12:04:32 +0200 Subject: [PATCH 163/186] Don't install modules no longer provided by currently used syslinux --- platforms/bootusb-test/post.inc.sh | 2 +- platforms/bootusb/post.inc.sh | 2 +- platforms/installdvd/post.inc.sh | 2 +- platforms/testcd/post.inc.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/platforms/bootusb-test/post.inc.sh b/platforms/bootusb-test/post.inc.sh index ad7a2b0..57bdacb 100644 --- a/platforms/bootusb-test/post.inc.sh +++ b/platforms/bootusb-test/post.inc.sh @@ -55,7 +55,7 @@ mv $MOUNTDIR/boot/memtest.bin $MOUNTDIR/boot/memtest cp -a --no-preserve=ownership $MOUNTDIR/boot $MOUNTDIR2 # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/ +cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && diff --git a/platforms/bootusb/post.inc.sh b/platforms/bootusb/post.inc.sh index a0ac8bc..b522600 100644 --- a/platforms/bootusb/post.inc.sh +++ b/platforms/bootusb/post.inc.sh @@ -79,7 +79,7 @@ mv $MOUNTDIR/boot/memtest.bin $MOUNTDIR/boot/memtest cp -a --no-preserve=ownership $MOUNTDIR/boot $MOUNTDIR2 # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/ +cp $MOUNTDIR/usr/share/syslinux/vesamenu.c32 $MOUNTDIR2/boot/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root ] && diff --git a/platforms/installdvd/post.inc.sh b/platforms/installdvd/post.inc.sh index 5c0e941..3e9f80f 100644 --- a/platforms/installdvd/post.inc.sh +++ b/platforms/installdvd/post.inc.sh @@ -64,7 +64,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +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 || diff --git a/platforms/testcd/post.inc.sh b/platforms/testcd/post.inc.sh index e7022b4..486ecf5 100644 --- a/platforms/testcd/post.inc.sh +++ b/platforms/testcd/post.inc.sh @@ -103,7 +103,7 @@ _EOF exit 1; } # copy syslinux addons to final root /boot dir -cp $MOUNTDIR/usr/share/syslinux/{ldlinux,libcom32,libutil,vesamenu}.c32 $MOUNTDIR2/boot/isolinux/ +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 || From dbccffb3e535c8ddb7d3978d1920099e6165c5fa Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 13 May 2014 12:13:26 +0200 Subject: [PATCH 164/186] Fixes after splitting some x86_64 packages from libs --- Makefile.defs | 2 ++ makedist.inc.sh | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile.defs b/Makefile.defs index eb93037..7b357f6 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -217,6 +217,8 @@ 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 diff --git a/makedist.inc.sh b/makedist.inc.sh index 8ad5ec8..0d244c8 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -15,7 +15,8 @@ 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" "--nodeps --noorder --noscripts" +install_rpms "filesystem gzip texinfo ldconfig bash libreadline glibc libncurses initscripts setup coreutils chkconfig \ +libattr libstdc++6 libpam pam" "--nodeps --noorder --noscripts" [ "$LANGUAGE" ] && { From 2102cdbe715cb2fdc78cc8632ef22fe0e8c64f89 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 20 May 2014 21:13:28 +0200 Subject: [PATCH 165/186] Remove xinetd and some other package from common packages --- Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index a6e4315..ddba8eb 100644 --- a/Makefile +++ b/Makefile @@ -9,15 +9,15 @@ $(MAKEDIST_TARGET)-base: filesystem gzip texinfo ldconfig bash libreadline glibc # 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 module-init-tools \ - procps sed grep net-tools tar bzip2 unzip zip pciutils \ +$(MAKEDIST_TARGET)-commontools: $(_init_system) util-linux kmod \ + procps sed grep tar bzip2 unzip zip pciutils \ 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 xinetd less \ + dosfstools man mbr iptables cups vim iputils sudo postplug less \ reiserfsprogs ppp b43-tools mdadm usb-modeswitch \ - usbutils ftp telnet eject bluez lsof \ - tcpdump pcmcia-utils xdg-utils iproute $(MAKEDIST_TARGET)-firmwares \ + usbutils ftp telnet whois eject bluez lsof \ + pcmcia-utils xdg-utils iproute $(MAKEDIST_TARGET)-firmwares \ $(MAKEDIST_TARGET)-devel $(MAKEDIST_TARGET)-debug: strace valgrind gdb minicom openssh-server dhcpclient rpm iputils \ openssh-clients diffutils Mesa-tools kbd mc openmamba-release From 6f856455df4a2adfb71eddc774999fe59b3a5d00 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 11 Jun 2014 21:29:32 +0200 Subject: [PATCH 166/186] Makefile: add lshw to default base packages --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ddba8eb..24cf42b 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ $(MAKEDIST_TARGET)-base: filesystem gzip texinfo ldconfig bash libreadline glibc $(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 \ + 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 \ From 4d0873e50b659ca7aa2767e619270ab8e31ec586 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 13 Jun 2014 15:35:50 +0200 Subject: [PATCH 167/186] Makefile: add rsync to commontools --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 24cf42b..22afbab 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-commontools: $(_init_system) util-linux kmod \ 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 \ + usbutils ftp telnet whois eject bluez lsof rsync \ pcmcia-utils xdg-utils iproute $(MAKEDIST_TARGET)-firmwares \ $(MAKEDIST_TARGET)-devel $(MAKEDIST_TARGET)-debug: strace valgrind gdb minicom openssh-server dhcpclient rpm iputils \ From 447c21a55db5c85e59fcb9d4d1a5721e5ad072d8 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 14 Jun 2014 14:04:16 +0200 Subject: [PATCH 168/186] Makefile: add xorg-drv-video-cirrus to x86_64 and revise other xorgdrvvideo definitions --- Makefile.defs | 14 ++++++++++---- platforms/bootcd/Makefile.defs | 1 - platforms/installdvd/Makefile.defs | 1 - platforms/livecd/Makefile.defs | 1 - platforms/livedvd/Makefile.defs | 2 +- platforms/testcd-root/Makefile.defs | 1 - platforms/testcd/Makefile.defs | 1 - 7 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 7b357f6..df0a031 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -86,7 +86,13 @@ libGLcore.so.1 = xorg-drv-video-nvidia libnvidia-tls.so.1 = xorg-drv-video-nvidia libvdpau.so.1 = libvdpau libvdpau_trace.so.1 = libvdpau -xorgdrvvideo = xorg-drv-video-base xorg-drv-video-nouveau $(xorgproprietary) +xorgdrvvideo = xorg-drv-video-apm xorg-drv-video-ark xorg-drv-video-ast xorg-drv-video-ati xorg-drv-video-chips \ + xorg-drv-video-cirrus xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-glint xorg-drv-video-i128 \ + xorg-drv-video-i740 xorg-drv-video-intel xorg-drv-video-mach64 xorg-drv-video-mga xorg-drv-video-neomagic \ + xorg-drv-video-newport xorg-drv-video-nouveau xorg-drv-video-openchrome xorg-drv-video-r128 xorg-drv-video-rendition \ + xorg-drv-video-s3 xorg-drv-video-s3virge xorg-drv-video-savage xorg-drv-video-siliconmotion xorg-drv-video-sis \ + xorg-drv-video-sisusb xorg-drv-video-trident xorg-drv-video-tseng 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 @@ -101,9 +107,9 @@ 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-ati xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-i128 xorg-drv-video-intel \ - xorg-drv-video-mga xorg-drv-video-nouveau xorg-drv-video-openchrome \ - xorg-drv-video-r128 xorg-drv-video-vesa xorg-drv-video-v4l xorg-drv-video-vmware $(xorgproprietary) +xorgdrvvideo = xorg-drv-video-ati xorg-drv-video-cirrus xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-i128 \ + xorg-drv-video-intel xorg-drv-video-mga xorg-drv-video-nouveau xorg-drv-video-openchrome xorg-drv-video-r128 \ + xorg-drv-video-vesa xorg-drv-video-v4l xorg-drv-video-vmware $(xorgproprietary) bootloader = syslinux endif diff --git a/platforms/bootcd/Makefile.defs b/platforms/bootcd/Makefile.defs index 1def362..c76bbe2 100644 --- a/platforms/bootcd/Makefile.defs +++ b/platforms/bootcd/Makefile.defs @@ -4,4 +4,3 @@ 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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx xorg-drv-video-nvidia diff --git a/platforms/installdvd/Makefile.defs b/platforms/installdvd/Makefile.defs index f95e0ed..1d3d39b 100644 --- a/platforms/installdvd/Makefile.defs +++ b/platforms/installdvd/Makefile.defs @@ -4,7 +4,6 @@ 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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx xorg-drv-video-nvidia libkorganizer.so.1 = korganizer libkorganizer_calendar.so.1 = korganizer libkorganizer_eventviewer.so.1 = korganizer diff --git a/platforms/livecd/Makefile.defs b/platforms/livecd/Makefile.defs index f4138c4..c76bbe2 100644 --- a/platforms/livecd/Makefile.defs +++ b/platforms/livecd/Makefile.defs @@ -4,4 +4,3 @@ 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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx xorg-drv-video-nvidia diff --git a/platforms/livedvd/Makefile.defs b/platforms/livedvd/Makefile.defs index 17d2cb2..bb48250 100644 --- a/platforms/livedvd/Makefile.defs +++ b/platforms/livedvd/Makefile.defs @@ -4,7 +4,7 @@ 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-base xorg-drv-video-amd xorg-drv-video-nsc xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-vboxvideo +xorgdrvvideo += xorg-drv-video-vboxvideo libkorganizer.so.1 = korganizer libkorganizer_calendar.so.1 = korganizer libkorganizer_eventviewer.so.1 = korganizer diff --git a/platforms/testcd-root/Makefile.defs b/platforms/testcd-root/Makefile.defs index 05e6cdc..36c84ec 100644 --- a/platforms/testcd-root/Makefile.defs +++ b/platforms/testcd-root/Makefile.defs @@ -1,3 +1,2 @@ networkmanagergui = plasma-applet-networkmanagement -#xorgdrvvideo = xorg-drv-video-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau xorgdrvvideo += xorg-drv-video-vboxvideo VirtualBox-vboxguest diff --git a/platforms/testcd/Makefile.defs b/platforms/testcd/Makefile.defs index 1777bea..c76bbe2 100644 --- a/platforms/testcd/Makefile.defs +++ b/platforms/testcd/Makefile.defs @@ -4,4 +4,3 @@ 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-base xorg-drv-video-fglrx xorg-drv-video-nvidia xorg-drv-video-nvidia_71xx xorg-drv-video-nvidia_96xx xorg-drv-video-nvidia_173xx xorg-drv-video-nouveau From 6ddd54c39a814a3fddaa00afb1898b7fc2c9cf5d Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 24 Jun 2014 13:08:44 +0200 Subject: [PATCH 169/186] Makefile.defs: X.org 1.15 support --- Makefile.defs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index df0a031..1c7fddb 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -86,13 +86,10 @@ libGLcore.so.1 = xorg-drv-video-nvidia libnvidia-tls.so.1 = xorg-drv-video-nvidia libvdpau.so.1 = libvdpau libvdpau_trace.so.1 = libvdpau -xorgdrvvideo = xorg-drv-video-apm xorg-drv-video-ark xorg-drv-video-ast xorg-drv-video-ati xorg-drv-video-chips \ - xorg-drv-video-cirrus xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-glint xorg-drv-video-i128 \ - xorg-drv-video-i740 xorg-drv-video-intel xorg-drv-video-mach64 xorg-drv-video-mga xorg-drv-video-neomagic \ - xorg-drv-video-newport xorg-drv-video-nouveau xorg-drv-video-openchrome xorg-drv-video-r128 xorg-drv-video-rendition \ - xorg-drv-video-s3 xorg-drv-video-s3virge xorg-drv-video-savage xorg-drv-video-siliconmotion xorg-drv-video-sis \ - xorg-drv-video-sisusb xorg-drv-video-trident xorg-drv-video-tseng xorg-drv-video-v4l xorg-drv-video-vesa \ - xorg-drv-video-vmware xorg-drv-video-voodoo $(xorgproprietary) +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 \ + 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 @@ -109,7 +106,7 @@ libvdpau.so.1[][64bit] = libvdpau libvdpau_trace.so.1[][64bit] = libvdpau xorgdrvvideo = xorg-drv-video-ati xorg-drv-video-cirrus xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-i128 \ xorg-drv-video-intel xorg-drv-video-mga xorg-drv-video-nouveau xorg-drv-video-openchrome xorg-drv-video-r128 \ - xorg-drv-video-vesa xorg-drv-video-v4l xorg-drv-video-vmware $(xorgproprietary) + xorg-drv-video-v4l xorg-drv-video-vesa xorg-drv-video-vmware $(xorgproprietary) bootloader = syslinux endif From 762e3c7494c06ec2f3e5b450367255f51191a05b Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 25 Jun 2014 23:14:06 +0200 Subject: [PATCH 170/186] Makefile.defs: update X.org video drivers for x86_64 --- Makefile.defs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 1c7fddb..58d127f 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -70,7 +70,8 @@ ifeq ($(ARCH),arm) # xorg xorglibGL = libGL-Mesa-dri xorglibglx = xorg-ext-libglx -xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-tegra +xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-modesetting +# xorg-drv-video-tegra libEGL.so = xorg-drv-video-tegra libraspberrypi libGLESv2.so = xorg-drv-video-tegra libraspberrypi endif @@ -104,9 +105,10 @@ 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-ati xorg-drv-video-cirrus xorg-drv-video-dummy xorg-drv-video-fbdev xorg-drv-video-i128 \ - xorg-drv-video-intel xorg-drv-video-mga xorg-drv-video-nouveau xorg-drv-video-openchrome xorg-drv-video-r128 \ - xorg-drv-video-v4l xorg-drv-video-vesa xorg-drv-video-vmware $(xorgproprietary) +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 \ + xorg-drv-video-v4l xorg-drv-video-vesa xorg-drv-video-vmware xorg-drv-video-voodoo $(xorgproprietary) bootloader = syslinux endif From 71bfd28a53dc475ec3c6eef5565323d6bb5804da Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sun, 29 Jun 2014 20:05:46 +0200 Subject: [PATCH 171/186] Makefile: add xf86-video-modesetting driver --- Makefile | 2 +- Makefile.defs | 6 +++--- platforms/livecd/Makefile | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 22afbab..29dd33c 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ $(MAKEDIST_TARGET)-commontools: $(_init_system) util-linux kmod \ reiserfsprogs ppp b43-tools mdadm usb-modeswitch \ usbutils ftp telnet whois eject bluez lsof rsync \ pcmcia-utils xdg-utils iproute $(MAKEDIST_TARGET)-firmwares \ - $(MAKEDIST_TARGET)-devel + 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 diff --git a/Makefile.defs b/Makefile.defs index 58d127f..0be680a 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -70,7 +70,7 @@ ifeq ($(ARCH),arm) # xorg xorglibGL = libGL-Mesa-dri xorglibglx = xorg-ext-libglx -xorgdrvvideo = xorg-drv-video-fbdev xorg-drv-video-modesetting +xorgdrvvideo = xorg-drv-video-fbdev xf86-video-modesetting # xorg-drv-video-tegra libEGL.so = xorg-drv-video-tegra libraspberrypi libGLESv2.so = xorg-drv-video-tegra libraspberrypi @@ -89,7 +89,7 @@ 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 \ + 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 @@ -107,7 +107,7 @@ 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 \ + 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 diff --git a/platforms/livecd/Makefile b/platforms/livecd/Makefile index f96b596..8f8bded 100644 --- a/platforms/livecd/Makefile +++ b/platforms/livecd/Makefile @@ -1,4 +1,4 @@ -$(MAKEDIST_TARGET)-livecd: openmamba-release memtest86+ syslinux macbook-tools +$(MAKEDIST_TARGET)-livecd: openmamba-release memtest86+ syslinux macbook-tools dracut # Localized targets $(MAKEDIST_TARGET)-livecd-en: $(MAKEDIST_TARGET)-livecd-it: From a8a1489bf2f37bdbefe67194a0db3f6693e9bb51 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 2 Jul 2014 12:54:47 +0200 Subject: [PATCH 172/186] livedvd: added german language --- platforms/livedvd-root/Makefile | 2 ++ platforms/livedvd-root/post.inc.sh | 3 +++ platforms/livedvd-root/settings.inc | 2 +- platforms/livedvd/post.inc.sh | 1 + platforms/livedvd/settings.inc | 2 +- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/platforms/livedvd-root/Makefile b/platforms/livedvd-root/Makefile index 5504c05..545f072 100644 --- a/platforms/livedvd-root/Makefile +++ b/platforms/livedvd-root/Makefile @@ -24,6 +24,8 @@ $(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/post.inc.sh b/platforms/livedvd-root/post.inc.sh index f6816eb..cc48ddb 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -32,6 +32,9 @@ chroot $MOUNTDIR update-alternatives-set-dri 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 diff --git a/platforms/livedvd-root/settings.inc b/platforms/livedvd-root/settings.inc index 621119d..7ce67a9 100644 --- a/platforms/livedvd-root/settings.inc +++ b/platforms/livedvd-root/settings.inc @@ -1,6 +1,6 @@ PRODUCT_NAME=livedvd MEDIA=squash_xz -MULTILANGUAGE="en it es fr" +MULTILANGUAGE="en it es fr de" if [ "$ARCH" = "i586" ]; then KERNEL_EXTRAVER=mamba diff --git a/platforms/livedvd/post.inc.sh b/platforms/livedvd/post.inc.sh index a3ba71c..ef67465 100644 --- a/platforms/livedvd/post.inc.sh +++ b/platforms/livedvd/post.inc.sh @@ -50,6 +50,7 @@ for l in $MULTILANGUAGE; do "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 diff --git a/platforms/livedvd/settings.inc b/platforms/livedvd/settings.inc index 2c8ef09..d1ce389 100644 --- a/platforms/livedvd/settings.inc +++ b/platforms/livedvd/settings.inc @@ -1,5 +1,5 @@ MEDIA=iso -MULTILANGUAGE="en it es fr" +MULTILANGUAGE="en it es fr de" DISTROMATIC=off if [ "$ARCH" = "i586" ]; then From 007077ed114df58826e47bb2dc058502f9d5ed63 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 12 Jul 2014 17:53:37 +0200 Subject: [PATCH 173/186] livedvd: other fix for german language --- platforms/livedvd/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/platforms/livedvd/Makefile b/platforms/livedvd/Makefile index b5d4a7c..f3170a2 100644 --- a/platforms/livedvd/Makefile +++ b/platforms/livedvd/Makefile @@ -4,3 +4,4 @@ $(MAKEDIST_TARGET)-livedvd-en: $(MAKEDIST_TARGET)-livedvd-it: $(MAKEDIST_TARGET)-livedvd-fr: $(MAKEDIST_TARGET)-livedvd-es: +$(MAKEDIST_TARGET)-livedvd-de: From 75da98a941a10d6f09f63d5f03d209f732695aa2 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 9 Aug 2014 17:02:25 +0200 Subject: [PATCH 174/186] arm: remove xorg-drv-video-tegra incompatibile with Xorg server 1.5 --- Makefile.defs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 0be680a..9fb18b1 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -72,8 +72,8 @@ xorglibGL = libGL-Mesa-dri xorglibglx = xorg-ext-libglx xorgdrvvideo = xorg-drv-video-fbdev xf86-video-modesetting # xorg-drv-video-tegra -libEGL.so = xorg-drv-video-tegra libraspberrypi -libGLESv2.so = xorg-drv-video-tegra libraspberrypi +libEGL.so = libraspberrypi +libGLESv2.so = libraspberrypi endif ifeq ($(ARCH),i586) From 2287bfb7cbb982d23fe6303a0cacf046177ba00a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 9 Aug 2014 17:03:00 +0200 Subject: [PATCH 175/186] testcd-root: update for x86_64 support --- platforms/livecd/settings.inc | 1 - platforms/testcd-root/settings.inc | 14 ++++++++++---- platforms/testcd/settings.inc | 18 +++++++++++++----- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/platforms/livecd/settings.inc b/platforms/livecd/settings.inc index 71439e7..6ce8b53 100644 --- a/platforms/livecd/settings.inc +++ b/platforms/livecd/settings.inc @@ -1,5 +1,4 @@ MEDIA=iso -MULTITHREAD=1 DISTROMATIC=off if [ "$ARCH" = "i586" ]; then KERNEL_EXTRAVER=mamba diff --git a/platforms/testcd-root/settings.inc b/platforms/testcd-root/settings.inc index 3624186..951d728 100644 --- a/platforms/testcd-root/settings.inc +++ b/platforms/testcd-root/settings.inc @@ -1,10 +1,16 @@ PRODUCT_NAME=testcd MEDIA=squash_xz -MULTITHREAD=1 -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules sound" +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= diff --git a/platforms/testcd/settings.inc b/platforms/testcd/settings.inc index 5ab0fe9..50fe98d 100644 --- a/platforms/testcd/settings.inc +++ b/platforms/testcd/settings.inc @@ -1,11 +1,19 @@ MEDIA=iso #MEDIA=iso-grub MULTITHREAD=1 -DISTROMATIC=off -#KERNEL_IGNORE=1 -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules wireless sound" +#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 From ed400fd40cab128336c2956746c117e34b8cb715 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 21 Aug 2014 19:38:08 +0200 Subject: [PATCH 176/186] rootfs: x86_64 support rootfs, rootfs-light: install openmamba-devel only if in devel --- platforms/rootfs-light/Makefile | 4 ++-- platforms/rootfs/Makefile | 4 ++-- platforms/rootfs/settings.inc | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 2047f17..784186d 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -10,12 +10,12 @@ $(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): \ +$(MAKEDIST_TARGET)-$(PLATFORM): $(MAKEDIST_TARGET)-devel \ 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 \ + 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 \ diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index 098399e..f46b301 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -14,12 +14,12 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ kernel-mamba-64GB kernel-mamba-64GB-sound kernel-mamba-64GB-wireless \ chromium -$(MAKEDIST_TARGET)-$(PLATFORM): \ +$(MAKEDIST_TARGET)-$(PLATFORM): $(MAKEDIST_TARGET)-devel \ $(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 \ + 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 \ diff --git a/platforms/rootfs/settings.inc b/platforms/rootfs/settings.inc index a63e64a..32a1131 100644 --- a/platforms/rootfs/settings.inc +++ b/platforms/rootfs/settings.inc @@ -9,6 +9,11 @@ elif [ "$ARCH" = "i586" ]; then 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 From 02c2e2ecbc1d68ad3237ef7c86022b3539b55c63 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 21 Aug 2014 19:57:19 +0200 Subject: [PATCH 177/186] Set /etc/localtime as a symlink and abandon /etc/timezone --- platforms/livecd-gnome-root/post.inc.sh | 3 +-- platforms/livecd-light-root/post.inc.sh | 3 +-- platforms/livecd-root/post.inc.sh | 3 +-- platforms/livedvd-root/post.inc.sh | 21 +++++++++++---------- platforms/livegames-root/post.inc.sh | 3 +-- platforms/rootfs-light/post.inc.sh | 21 +-------------------- platforms/rootfs/post.inc.sh | 18 +----------------- platforms/testcd-root/post.inc.sh | 3 +-- platforms/virtualserver/post.inc.sh | 3 +-- 9 files changed, 19 insertions(+), 59 deletions(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index efab007..133454a 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -38,8 +38,7 @@ case $LANGUAGE in es) timezone=Europe/Madrid ;; *) timezone=UTC ;; esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +ln -s ../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: diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index 2fc0500..ceae829 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -27,8 +27,7 @@ case $LANGUAGE in es) timezone=Europe/Madrid ;; *) timezone=UTC ;; esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +ln -s ../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: diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index 4e10e8b..f7cd84b 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -34,8 +34,7 @@ case $LANGUAGE in es) timezone=Europe/Madrid ;; *) timezone=UTC ;; esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +ln -s ../usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop; do diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index cc48ddb..639997c 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -29,16 +29,17 @@ 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 +if [ ! "$MULTILANGUAGE" ]; then + 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 + ln -s ../usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +fi # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop /opt/kde/share/applications/amarok.desktop; do diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index ed23951..f2b6920 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -34,8 +34,7 @@ case $LANGUAGE in es) timezone=Europe/Madrid ;; *) timezone=UTC ;; esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +ln -s ../usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop; do diff --git a/platforms/rootfs-light/post.inc.sh b/platforms/rootfs-light/post.inc.sh index 8770fdb..5603a2b 100644 --- a/platforms/rootfs-light/post.inc.sh +++ b/platforms/rootfs-light/post.inc.sh @@ -34,24 +34,6 @@ #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 @@ -89,8 +71,7 @@ case $LANGUAGE in es) timezone=Europe/Madrid ;; *) timezone=UTC ;; esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +ln -s ../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 diff --git a/platforms/rootfs/post.inc.sh b/platforms/rootfs/post.inc.sh index fb9c4b2..49b1ddd 100644 --- a/platforms/rootfs/post.inc.sh +++ b/platforms/rootfs/post.inc.sh @@ -37,21 +37,6 @@ ## 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 @@ -93,8 +78,7 @@ case $LANGUAGE in es) timezone=Europe/Madrid ;; *) timezone=UTC ;; esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +ln -s ../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 diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 98d9dfd..739c961 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -34,8 +34,7 @@ case $LANGUAGE in es) timezone=Europe/Madrid ;; *) timezone=UTC ;; esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +ln -s ../usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime # configure favorites in kde menu for f in /usr/share/applications/chromium-devel.desktop; do diff --git a/platforms/virtualserver/post.inc.sh b/platforms/virtualserver/post.inc.sh index ab18cf6..6235b19 100644 --- a/platforms/virtualserver/post.inc.sh +++ b/platforms/virtualserver/post.inc.sh @@ -34,8 +34,7 @@ case $LANGUAGE in it) timezone=Europe/Rome ;; *) timezone=UTC ;; esac -echo $timezone > $MOUNTDIR/etc/timezone -cp $MOUNTDIR/usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime +ln -s ../usr/share/zoneinfo/$timezone $MOUNTDIR/etc/localtime prelink From 9ed1237724d38c6ae26b15ea88afc628ad843e7a Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 21 Aug 2014 20:01:08 +0200 Subject: [PATCH 178/186] inittab is obsoleted --- platforms/livecd-gnome-root/post.inc.sh | 15 --------------- platforms/livecd-light-root/post.inc.sh | 15 --------------- platforms/livecd-root/post.inc.sh | 15 --------------- platforms/livedvd-root/post.inc.sh | 15 --------------- platforms/livegames-root/post.inc.sh | 15 --------------- platforms/rootfs-light/post.inc.sh | 16 ---------------- platforms/rootfs/post.inc.sh | 16 ---------------- platforms/testcd-root/post.inc.sh | 15 --------------- 8 files changed, 122 deletions(-) diff --git a/platforms/livecd-gnome-root/post.inc.sh b/platforms/livecd-gnome-root/post.inc.sh index 133454a..bb8edc3 100644 --- a/platforms/livecd-gnome-root/post.inc.sh +++ b/platforms/livecd-gnome-root/post.inc.sh @@ -1,18 +1,3 @@ -## 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 diff --git a/platforms/livecd-light-root/post.inc.sh b/platforms/livecd-light-root/post.inc.sh index ceae829..0ddddca 100644 --- a/platforms/livecd-light-root/post.inc.sh +++ b/platforms/livecd-light-root/post.inc.sh @@ -1,18 +1,3 @@ -## 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 diff --git a/platforms/livecd-root/post.inc.sh b/platforms/livecd-root/post.inc.sh index f7cd84b..906d95a 100644 --- a/platforms/livecd-root/post.inc.sh +++ b/platforms/livecd-root/post.inc.sh @@ -1,18 +1,3 @@ -## 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 diff --git a/platforms/livedvd-root/post.inc.sh b/platforms/livedvd-root/post.inc.sh index 639997c..db8e55a 100644 --- a/platforms/livedvd-root/post.inc.sh +++ b/platforms/livedvd-root/post.inc.sh @@ -1,18 +1,3 @@ -## 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 diff --git a/platforms/livegames-root/post.inc.sh b/platforms/livegames-root/post.inc.sh index f2b6920..922a047 100644 --- a/platforms/livegames-root/post.inc.sh +++ b/platforms/livegames-root/post.inc.sh @@ -1,18 +1,3 @@ -## 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 diff --git a/platforms/rootfs-light/post.inc.sh b/platforms/rootfs-light/post.inc.sh index 5603a2b..5e62e81 100644 --- a/platforms/rootfs-light/post.inc.sh +++ b/platforms/rootfs-light/post.inc.sh @@ -44,22 +44,6 @@ 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 diff --git a/platforms/rootfs/post.inc.sh b/platforms/rootfs/post.inc.sh index 49b1ddd..d42c20b 100644 --- a/platforms/rootfs/post.inc.sh +++ b/platforms/rootfs/post.inc.sh @@ -34,9 +34,6 @@ #chkconfig --del portmap #" -## use system default language -#> $MOUNTDIR/etc/sysconfig/i18n - # configure touchscreen cat > $MOUNTDIR/etc/ts-calibrate.conf << _EOF TSLIB_CONFFILE=/etc/ts.conf @@ -47,19 +44,6 @@ 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 diff --git a/platforms/testcd-root/post.inc.sh b/platforms/testcd-root/post.inc.sh index 739c961..8fb459d 100644 --- a/platforms/testcd-root/post.inc.sh +++ b/platforms/testcd-root/post.inc.sh @@ -1,18 +1,3 @@ -## 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 From 4a6d6c4ffd797493dea6266047765e5cadcfb528 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 21 Aug 2014 21:39:29 +0200 Subject: [PATCH 179/186] Remove chrony replaced by systemd component --- platforms/livecd-gnome-root/Makefile | 2 +- platforms/livecd-light-root/Makefile | 2 +- platforms/rootfs-light/Makefile | 2 +- platforms/rootfs/Makefile | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index cff2b87..65fa25d 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -1,6 +1,6 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ openssh-server usbutils wireless_tools parted iputils file rootfiles \ - ppp minicom chrony locales mc alsa-utils \ + ppp minicom 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 \ diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index 6fc5466..4893543 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -1,5 +1,5 @@ $(MAKEDIST_TARGET)-livecd-light: openssh-server usbutils wireless_tools parted iputils file rootfiles \ - ppp minicom chrony locales mc alsa-utils \ + ppp minicom 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 \ diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 784186d..975f592 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -12,7 +12,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ $(MAKEDIST_TARGET)-$(PLATFORM): $(MAKEDIST_TARGET)-devel \ lxde openssh-server usbutils wireless_tools screen i2c-tools \ - parted iputils file rootfiles ppp minicom chrony locales mc \ + parted iputils file rootfiles ppp minicom locales mc \ man-db curl zip unzip iptables iproute wpa_supplicant mtd-utils nfs-utils \ openssh-clients binutils telnet ftp debianutils diffutils bluez traceroute \ timezone sudo kmod \ diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index f46b301..b5e367b 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -16,7 +16,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-i586: \ $(MAKEDIST_TARGET)-$(PLATFORM): $(MAKEDIST_TARGET)-devel \ $(MAKEDIST_TARGET)-$(PLATFORM)-kde4 openssh-server usbutils wireless_tools i2c-tools \ - parted iputils file rootfiles ppp minicom chrony locales mc \ + parted iputils file rootfiles ppp minicom locales mc \ man-db curl zip unzip iptables iproute wpa_supplicant mtd-utils nfs-utils \ openssh-clients binutils telnet ftp debianutils diffutils bluez traceroute \ timezone sudo kmod \ @@ -24,7 +24,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM): $(MAKEDIST_TARGET)-devel \ 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 + postplug-xorg postplug-sound gparted tar net-tools mambatray kvkbd # startactive # tightvnc-server lxde network-manager-applet matchbox-keyboard midori Mesa-tools alsa-utils From d8a9c20ccaf2ecec43a1f2eac42f44742e49d1d3 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 4 Sep 2014 14:46:44 +0200 Subject: [PATCH 180/186] Makefile.defs: specify choices for libpoppler --- Makefile.defs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Makefile.defs b/Makefile.defs index 9fb18b1..b0fc9c1 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -156,6 +156,9 @@ 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 +libpoppler-qt4.so.4[][64bit] = libpoppler-qt4 +libpoppler-cpp.so.0[][64bit] = libpoppler +libpoppler-glib.so.8[][64bit] = libpoppler-glib else libGL.so.1 = libGL-Mesa-dri libGLU.so.1 = libGL-Mesa-dri @@ -193,6 +196,9 @@ libpostproc.so.52 = libpostproc-ffmpeg libpostproc.so.52[LIBPOSTPROC_52] = libpostproc-ffmpeg libswresample.so.0 = libswresample-ffmpeg libswresample.so.0[LIBSWRESAMPLE_0] = libswresample-ffmpeg +libpoppler-qt4.so.4 = libpoppler-qt4 +libpoppler-cpp.so.0 = libpoppler +libpoppler-glib.so.8 = libpoppler-glib endif /usr/bin/python = python python[abi] = python From 96afb6ab2e13acd826296b6e0b20a4b1ef4301b9 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Thu, 4 Sep 2014 14:47:30 +0200 Subject: [PATCH 181/186] livecd-gnome-root: x86_64 target support --- platforms/livecd-gnome-root/settings.inc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/platforms/livecd-gnome-root/settings.inc b/platforms/livecd-gnome-root/settings.inc index 470534e..3a5e97f 100644 --- a/platforms/livecd-gnome-root/settings.inc +++ b/platforms/livecd-gnome-root/settings.inc @@ -2,9 +2,16 @@ PRODUCT_NAME=livecd-gnome MEDIA=squash_xz MULTITHREAD=1 -KERNEL_EXTRAVER=mamba -KERNEL_PLATFORM="" -#KERNEL_ADDITIONAL="extramodules" +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-gnome ROOTDEV= From 1b0935c0ac0fe6d7832e0608c20bd963992fb355 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 13 Sep 2014 17:24:39 +0200 Subject: [PATCH 182/186] livecd-gnome-root: minor packages changes --- platforms/livecd-gnome-root/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/platforms/livecd-gnome-root/Makefile b/platforms/livecd-gnome-root/Makefile index 65fa25d..ffcf327 100644 --- a/platforms/livecd-gnome-root/Makefile +++ b/platforms/livecd-gnome-root/Makefile @@ -1,17 +1,17 @@ $(MAKEDIST_TARGET)-livecd-gnome: \ openssh-server usbutils wireless_tools parted iputils file rootfiles \ ppp minicom locales mc alsa-utils \ - man-db curl zip unzip iptables iproute wpa_supplicant mtd-utils nfs-utils \ + man-db curl zip unzip iptables iproute 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 \ + gdm gnome-session gnome-common gnome-control-center gnome-desktop \ 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 + gnome-terminal nautilus gnome-themes evolution gnome-utils gnome-system-log \ + desktop-base-gnome gimp vlc gconf-editor rhythmbox brasero #kitchensync4 kontact4 kmail4 akregator4 kdeplasma-addons amarok $(MAKEDIST_TARGET)-livecd-libreoffice: libreoffice-calc libreoffice-writer libreoffice-impress From cfdd9d406790214de55423470d4547c1dbc9bea4 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 13 Sep 2014 17:26:08 +0200 Subject: [PATCH 183/186] rootfs: (arm) add kernel-sgn --- platforms/rootfs/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/platforms/rootfs/Makefile b/platforms/rootfs/Makefile index b5e367b..491be34 100644 --- a/platforms/rootfs/Makefile +++ b/platforms/rootfs/Makefile @@ -6,6 +6,7 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-kde4: \ $(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ kernel-iconia kernel-iconia-modules kernel-hannspad kernel-hannspad-modules \ + kernel-sgn kernel-sgn-modules \ kernel-mamba-arm kernel-mamba-arm-sound kernel-mamba-arm-wireless \ kernel-mamba-arm-firmware brcm_patchram u-boot-tools From d494ab5af502589046bc1557b203c8f8cb2c493e Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 8 Oct 2014 21:24:45 +0200 Subject: [PATCH 184/186] makedist.inc.sh: support for hostname configuration with domain (systemd) --- makedist.inc.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/makedist.inc.sh b/makedist.inc.sh index 0d244c8..aeed5c1 100644 --- a/makedist.inc.sh +++ b/makedist.inc.sh @@ -85,10 +85,7 @@ fi [[ "$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 +echo "$TARGET_HOSTNAME.$TARGET_DOMAIN" > $MOUNTDIR/etc/hostname #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}" From 1c514cbcdbcd90e5fc13b5dcd5792a80942cd1bb Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Wed, 8 Oct 2014 21:34:04 +0200 Subject: [PATCH 185/186] livecd-light-root: remove macbook-tools --- platforms/livecd-light-root/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/livecd-light-root/Makefile b/platforms/livecd-light-root/Makefile index 4893543..d2b9448 100644 --- a/platforms/livecd-light-root/Makefile +++ b/platforms/livecd-light-root/Makefile @@ -19,7 +19,7 @@ $(MAKEDIST_TARGET)-livecd-light-root: \ ttf-freefont liberation-fonts-ttf \ gparted ntfs-3g libdvdcss \ chromium totem-mozilla-plugin \ - macbook-tools livecd-tools \ + livecd-tools \ Mesa-tools driconf parted testdisk \ samba-server \ smart-gui cpufreqd mambatray \ From bd39a58a06795bfd2dd383e2653c9647fff43288 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 25 Oct 2014 10:44:10 +0200 Subject: [PATCH 186/186] rootfs-light: add sunxi (BananaPi) kernel and x86_64 support --- platforms/rootfs-light/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platforms/rootfs-light/Makefile b/platforms/rootfs-light/Makefile index 975f592..a2c398a 100644 --- a/platforms/rootfs-light/Makefile +++ b/platforms/rootfs-light/Makefile @@ -4,12 +4,17 @@ $(MAKEDIST_TARGET)-$(PLATFORM)-arm: \ kernel-rpi kernel-rpi-modules \ kernel-cubox kernel-cubox-modules \ kernel-mamba-arm kernel-mamba-arm-sound kernel-mamba-arm-wireless \ + kernel-mamba-arm-dove kernel-mamba-arm-dove-sound kernel-mamba-arm-dove-wireless \ + kernel-sunxi kernel-sunxi-modules u-boot-sunxi-Bananapi \ 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)-x86_64: \ + kernel-mamba-x86_64 kernel-mamba-x86_64-sound kernel-mamba-x86_64-wireless chromium + $(MAKEDIST_TARGET)-$(PLATFORM): $(MAKEDIST_TARGET)-devel \ lxde openssh-server usbutils wireless_tools screen i2c-tools \ parted iputils file rootfiles ppp minicom locales mc \