[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH v2 1/2] Bauen von CD-Images mit GRUB 2
From: Johannes Pfeiffer <j.pfeiffer93@xxxxxx>
Signed-off-by: Johannes Pfeiffer <j.pfeiffer93@xxxxxx>
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
Makefile | 17 +++++++++++----
build/config/grub2_cdrom.cfg | 19 +++++++++++++++++
build/scripts/grub2_cdrom | 45 ++++++++++++++++++++++++++++++++++++++++++
buildmk.sh | 3 ++
4 files changed, 79 insertions(+), 5 deletions(-)
create mode 100644 build/config/grub2_cdrom.cfg
create mode 100755 build/scripts/grub2_cdrom
diff --git a/Makefile b/Makefile
index 9b63409..93ddf9b 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ PPC=fpc -n -Cn -CX -Ttyndur -Fu../lib/units -Fu../units
ASM_ELF=nasm -felf -O99
ASM_BIN=nasm -fbin -O99
-BUILD_ROOT=/home/kevin/entwicklung/tyndur/build/output
+BUILD_ROOT=/home/johannes/Programme/Tyndur/tyndur/build/output
BUILD_DIR=$(BUILD_ROOT)
AS=as -32
@@ -22,14 +22,18 @@ obj:
subdirs:
$(MAKE) --no-print-directory -sC doc
- $(MAKE) --no-print-directory -sC patches
$(MAKE) --no-print-directory -sC src
-clean:
- rm -f *.o *.a *.mod
+clean_objs:
+ rm -f *.o *.a *.mod *.ppu link.res ppas.sh tyndur
+
+softclean: clean_objs
+ for file in *; do if [ -f "$$file/Makefile" -a \( ! -f "$$file/.nobuild" -o -f "$$file/.ignorenobuild" \) ]; then $(MAKE) -sC "$$file" softclean; fi done
+
+clean: clean_objs
for file in *; do if [ -f "$$file/Makefile" -a \( ! -f "$$file/.nobuild" -o -f "$$file/.ignorenobuild" \) ]; then $(MAKE) -sC "$$file" clean; rm "$$file/Makefile"; fi done
-.SILENT: all makefiles subdirs obj clean clean_root updateroot image-floppy image-hd test-qemu test-qemu-hd
+.SILENT: all makefiles subdirs obj clean softclean clean_objs clean_root updateroot image-floppy image-hd test-qemu test-qemu-hd
clean: clean_root
clean_root:
@@ -49,6 +53,9 @@ image-hd: updateroot
image-cdrom: updateroot
build/scripts/image_cdrom
+grub2-cdrom: updateroot
+ build/scripts/grub2_cdrom
+
test-qemu: image-floppy
qemu -serial stdio -fda build/images/floppy.img -boot a -net user -net nic,model=rtl8139 | tee qemu-serial.log
diff --git a/build/config/grub2_cdrom.cfg b/build/config/grub2_cdrom.cfg
new file mode 100644
index 0000000..02f1c9a
--- /dev/null
+++ b/build/config/grub2_cdrom.cfg
@@ -0,0 +1,19 @@
+#Boot timeout
+timeout = 10
+
+#boote standardmä�ig die deutsche Version
+default = 0
+
+#deutsche Version
+menuentry "Tyndur (Deutsch)" {
+ multiboot /boot/tyndur debug=s
+ module /modules/init boot=file:/
+ module /modules/ata
+ module /modules/ext2
+ module /modules/iso9660
+ module /modules/pci
+ module /modules/ramoverlay
+ module /modules/console servmgr:/term servmgr:/term
+ module /modules/servmgr foo ata:/atapi10"|"iso9660:/ vterm:/vterm8/out ata iso9660 console pci ext2 ramoverlay
+ boot
+}
diff --git a/build/scripts/grub2_cdrom b/build/scripts/grub2_cdrom
new file mode 100755
index 0000000..406b603
--- /dev/null
+++ b/build/scripts/grub2_cdrom
@@ -0,0 +1,45 @@
+# Copyright (c) 20010 The tyndur Project. All rights reserved.
+#
+# This code is derived from software contributed to the tyndur Project
+# by Johannes Pfeiffer.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the tyndur Project
+# and its contributors.
+# 4. Neither the name of the tyndur Project nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#Konfigurationsdateien kopieren
+cp build/config/grub2_cdrom.cfg build/root/boot/grub/grub.cfg
+cp -r build/root-cdrom/config build/root/
+cp -r build/root-common/config build/root/
+
+#CD Image erstellen
+grub-mkrescue --output=build/images/grub2-cdrom-tyndur.iso build/root/
+
+#Konfigurationsdateien wieder löschen
+rm -r build/root/config
+#Nachricht für den Fall, dass xorriso nicht installiert ist
+echo "Falls es zu Error 127 während der Erstellung des CD-Images kommt, hilft es das Paket XORRISO zu installieren."
diff --git a/buildmk.sh b/buildmk.sh
index b9d4194..35df2d8 100644
--- a/buildmk.sh
+++ b/buildmk.sh
@@ -258,6 +258,9 @@ image-hd: updateroot
image-cdrom: updateroot
build/scripts/image_cdrom
+grub2-cdrom: updateroot
+ build/scripts/grub2_cdrom
+
test-qemu: image-floppy
$LOST_TOOLS_QEMU -serial stdio -fda build/images/floppy.img -boot a -net user -net nic,model=rtl8139 | tee qemu-serial.log
--
1.6.0.2