Support i386-ieee1275 grub-mkrescue and make check on it.

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2013-04-12 01:29:45 +02:00
parent a79b8a1584
commit dbc56d8f0b
7 changed files with 34 additions and 5 deletions

View file

@ -1,3 +1,7 @@
2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
Support i386-ieee1275 grub-mkrescue and make check on it.
2013-04-11 Vladimir Serbinenko <phcoder@gmail.com> 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+ Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+

View file

@ -470,6 +470,7 @@ script = {
enable = i386_qemu; enable = i386_qemu;
enable = i386_multiboot; enable = i386_multiboot;
enable = i386_coreboot; enable = i386_coreboot;
enable = i386_ieee1275;
enable = mips_qemu_mips; enable = mips_qemu_mips;
enable = mips_loongson; enable = mips_loongson;
enable = ia64_efi; enable = ia64_efi;

View file

@ -1,3 +1,12 @@
movl $0x80000b80, %eax
movw $0xcf8, %dx
outl %eax, %dx
movl $0x1001, %eax
movw $0xcfc, %dx
inb %al, %dx
orb $1, %al
outb %al, %dx
movl $0x80000b40, %eax movl $0x80000b40, %eax
movw $0xcf8, %dx movw $0xcf8, %dx
outl %eax, %dx outl %eax, %dx

View file

@ -35,7 +35,7 @@ done
other=`echo insmod regexp\; echo '(*)' | @builddir@/grub-shell` other=`echo insmod regexp\; echo '(*)' | @builddir@/grub-shell`
for d in $disks; do for d in $disks; do
if ! echo "$other" | grep "$d" >/dev/null; then if ! echo "$other" | grep -F "$d" >/dev/null; then
echo "$d missing from (*) expansion" >&2 echo "$d missing from (*) expansion" >&2
exit 1 exit 1
fi fi

View file

@ -49,7 +49,7 @@ list_parts () {
outfile="$1" outfile="$1"
shift shift
echo ls | "${grubshell}" --qemu-opts="-hda ${imgfile}" \ echo ls | "${grubshell}" --qemu-opts="-$qemudisk ${imgfile}" \
--modules=$mod | tr -d "\n\r" > "${outfile}" --modules=$mod | tr -d "\n\r" > "${outfile}"
cat "${outfile}" cat "${outfile}"
echo echo
@ -58,12 +58,18 @@ list_parts () {
case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
mips-qemu_mips | mipsel-qemu_mips | i386-qemu | i386-multiboot | i386-coreboot | mipsel-loongson) mips-qemu_mips | mipsel-qemu_mips | i386-qemu | i386-multiboot | i386-coreboot | mipsel-loongson)
disk=ata0 disk=ata0
qemudisk=hda
;; ;;
powerpc-ieee1275) powerpc-ieee1275)
disk=ieee1275//pci@80000000/mac-io@4/ata-3@20000/disk@0 disk=ieee1275//pci@80000000/mac-io@4/ata-3@20000/disk@0
qemudisk=hda
# QEMU firmware has bugs which prevent it from accessing hard disk. # QEMU firmware has bugs which prevent it from accessing hard disk.
exit 0 exit 0
;; ;;
i386-ieee1275)
disk=ieee1275/d
qemudisk=hdb
;;
*) *)
disk=hd0 disk=hd0
;; ;;

View file

@ -100,10 +100,11 @@ case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
console=vga_text;; console=vga_text;;
i386-ieee1275) i386-ieee1275)
boot=cd boot=hd
qemu=qemu-system-i386 qemu=qemu-system-i386
console=console;; console=console
trim=1
;;
i386-qemu) i386-qemu)
boot=qemu boot=qemu
qemu=qemu-system-i386 qemu=qemu-system-i386

View file

@ -40,6 +40,7 @@ mipsel_qemu_dir="${libdir}/@PACKAGE@/mipsel-qemu_mips"
loongson_dir="${libdir}/@PACKAGE@/mipsel-loongson" loongson_dir="${libdir}/@PACKAGE@/mipsel-loongson"
mips_qemu_dir="${libdir}/@PACKAGE@/mips-qemu_mips" mips_qemu_dir="${libdir}/@PACKAGE@/mips-qemu_mips"
pc_dir="${libdir}/@PACKAGE@/i386-pc" pc_dir="${libdir}/@PACKAGE@/i386-pc"
i386_ieee1275_dir="${libdir}/@PACKAGE@/i386-ieee1275"
efi32_dir="${libdir}/@PACKAGE@/i386-efi" efi32_dir="${libdir}/@PACKAGE@/i386-efi"
efi64_dir="${libdir}/@PACKAGE@/x86_64-efi" efi64_dir="${libdir}/@PACKAGE@/x86_64-efi"
ia64_dir="${libdir}/@PACKAGE@/ia64-efi" ia64_dir="${libdir}/@PACKAGE@/ia64-efi"
@ -256,6 +257,9 @@ if [ "${override_dir}" = "" ] ; then
if test -e "${pc_dir}" ; then if test -e "${pc_dir}" ; then
process_input_dir "${pc_dir}" i386-pc process_input_dir "${pc_dir}" i386-pc
fi fi
if test -e "${i386_ieee1275_dir}" ; then
process_input_dir "${i386_ieee1275_dir}" i386-ieee1275
fi
if test -e "${efi32_dir}" ; then if test -e "${efi32_dir}" ; then
process_input_dir "${efi32_dir}" i386-efi process_input_dir "${efi32_dir}" i386-efi
fi fi
@ -291,6 +295,7 @@ else
mips_qemu_dir= mips_qemu_dir=
loongson_dir= loongson_dir=
ppc_dir= ppc_dir=
i386_ieee1275_dir=
case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
i386-multiboot) multiboot_dir="${override_dir}" ;; i386-multiboot) multiboot_dir="${override_dir}" ;;
i386-coreboot) coreboot_dir="${override_dir}" ;; i386-coreboot) coreboot_dir="${override_dir}" ;;
@ -303,6 +308,7 @@ else
mipsel-loongson) loongson_dir="${override_dir}" ;; mipsel-loongson) loongson_dir="${override_dir}" ;;
mips-qemu_mips) mips_qemu_dir="${override_dir}" ;; mips-qemu_mips) mips_qemu_dir="${override_dir}" ;;
powerpc-ieee1275) ppc_dir="${override_dir}" ;; powerpc-ieee1275) ppc_dir="${override_dir}" ;;
i386-ieee1275) i386_ieee1275_dir="${override_dir}" ;;
esac esac
fi fi
@ -336,6 +342,8 @@ fi
# build multiboot core.img # build multiboot core.img
make_image "${multiboot_dir}" i386-multiboot "${iso9660_dir}/boot/multiboot.img" "pata ahci at_keyboard" make_image "${multiboot_dir}" i386-multiboot "${iso9660_dir}/boot/multiboot.img" "pata ahci at_keyboard"
make_image "${i386_ieee1275_dir}" i386-ieee1275 "${iso9660_dir}/boot/ofwx86.elf" ""
if test -e "${efi64_dir}" || test -e "${efi32_dir}" || test -e "${ia64_dir}"; then if test -e "${efi64_dir}" || test -e "${efi32_dir}" || test -e "${ia64_dir}"; then
efi_dir=`mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1 efi_dir=`mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1
mkdir -p "${efi_dir}/efi/boot" mkdir -p "${efi_dir}/efi/boot"