File: bootcd-ia64.lib

package info (click to toggle)
bootcd 3.10%2Bnmu1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 508 kB
  • ctags: 128
  • sloc: sh: 3,935; makefile: 117
file content (112 lines) | stat: -rwxr-xr-x 3,285 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# bootcd-ia64.lib
# vim: set filetype=sh :

elilo_ia64()
{
  ignore "records in"
  ignore "records out"
  ignore "bytes transferred in"
  run dd bs=1024k count=18 if=/dev/zero of=$CHANGES/cdboot.img
  run "mkdosfs -n bootstrap $CHANGES/cdboot.img >/dev/null"
  run mount -o loop $CHANGES/cdboot.img $VAR/mnt -t vfat

  run mkdir -p $VAR/mnt/EFI/debian/boot

  [ "$DISPLAY" ] && run cp $DISPLAY $VAR/mnt/EFI/debian/display.txt
  run cp $KERNEL $VAR/mnt/EFI/debian/boot

  run cp /usr/lib/elilo/elilo.efi $VAR/mnt/EFI/debian/elilo.efi

  (
  echo   "prompt"
  echo   "timeout=50"
  echo   "default=Linux" # don't change. "Linux" is default in Efi Boot Manager

  if [ "$DISPLAY" ]; then 
    echo "message=/EFI/debian/display.txt"
  fi

  echo   "image=/EFI/debian/boot/$(basename $KERNEL)"
  echo   "  label=Linux"
  echo   "  append=\"root=$CDDEV1 ramdisk_size=$RAMDISK_SIZE $APPEND\""
  for i in $CDDEVR; do
    echo "image=/EFI/debian/boot/$(basename $KERNEL)"
    echo "  label=$(basename $i)"
    echo "  append=\"root=$i ramdisk_size=$RAMDISK_SIZE $APPEND\""
  done 
  ) >> $VAR/mnt/EFI/debian/elilo.conf

  # Only for convenience in EFI Shell (<CD-Filesystem>:<RETURN> elilo<RETURN>)
  run cp $VAR/mnt/EFI/debian/elilo.conf $VAR/mnt/
  run cp $VAR/mnt/EFI/debian/elilo.efi $VAR/mnt/

  # Match default PATH in EFI Bootmanger CD Entry
  run mkdir -p $VAR/mnt/EFI/boot
  run cp $VAR/mnt/EFI/debian/elilo.conf $VAR/mnt/EFI/boot
  run cp $VAR/mnt/EFI/debian/elilo.efi $VAR/mnt/EFI/boot

  #for i in / EFI/boot; do
  #  run mkdir -p $VAR/mnt/$i
  #  cp $VAR/mnt/EFI/debian/elilo.conf $VAR/mnt/$i
  #  cp $VAR/mnt/EFI/debian/elilo.efi $VAR/mnt/$i
  #done

  run umount $VAR/mnt
  losetup -d /dev/loop0 2>/dev/null
}

jolietlong()
{
  PROBLEM="Your Version of mkisofs does not support the option -joliet-long.
Because you probably will have pathes that are longer as 64 Characters 
it would be the best to upgrade to a newer version of mkisofs.
If you (i)gnore this message,  I will try to hide some directories from 
the joliet filesystem, that are usually to long. Probably this works."

  if [ "$(mkisofs -help 2>&1 | grep joliet-long)" ]; then
    JOLIETLONG="-joliet-long"
  else
    warn "$PROBLEM"
    JOLIETLONG="-hide-joliet apt -hide-joliet lib -hide-joliet usr"
  fi
}

cdimage_ia64()
{
  jolietlong
  mkisofs_ignore
  MKISOFS_OPTS="-no-emul-boot $GRAFTPOINTS $MKISO_NOT \
    -R -J -b cdboot.img -c cdboot.catalog -o $VAR/cdimage \
    -x $SRCDI/proc -x $VAR -x $ERRLOG \
    -x $SRCDI/etc -x $SRCDI/var -x $SRCDI/tmp \
    -x $SRCDI/dev -x $SRCDI/home -x $SRCDI/root $EXCLUDE \
    $JOLIETLONG \
    /=$SRCDI/ /=$CHANGES \
    /home.ro/=$SRCDI/home /root.ro/=$SRCDI/root /var.ro/=$SRCDI/var \
    /etc.ro/=$SRCDI/etc $MKISODEVFS"
  run mkisofs $(chng_opts "$MKISOFS_OPTS" "$MKISOFS_CHNG")
}

cdimage_compressed_ia64()
{
  jolietlong
  compress_dir
  uncompress_files cdboot.img $*
  mkisofs_ignore
  MKISOFS_OPTS="-no-emul-boot -z \
    -R -J -b cdboot.img -c cdboot.catalog -o $VAR/cdimage \
    $JOLIETLONG $VAR/compressed_dir"
  run mkisofs $(chng_opts "$MKISOFS_OPTS" "$MKISOFS_CHNG")
  run rm -r $VAR/compressed_dir
}

#  -hide-joliet-trans-tbl -joliet-long \
#  -R -J -T -b cdboot.img -c cdboot.catalog -o $VAR/cdimage \
#

check_ia64()
{
  :
}

# Tested with rx2600