[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#311925: debian-cd: Please add this pegasos support forth script to make booting debian-installer easier



Package: debian-cd
Severity: important
Tags: patch


Please consider applying the attached patch to debian-cd before the final
build for sarge. I have extensively tested the resulting images, and this
change has no influence anyway on all the normal install procedures. It just
allows to do :

  boot cd install/pegasos

instead of the less obvious :

  boot cd install/powerpc/vmlinuz-chrp.initrd devfs=mount,dall init=/linuxrc --

or :

  boot cd install/powerpc/vmlinuz-chrp.initrd DEBCONF_PRIORITY=low devfs=mount,dall init=/linuxrc --

to get the normal or expert installs. It also has the added benefit of
allowing to inform the user about the little description of the different
choices, pasted directly from yaboot's boot.msg file (but removing the
obviously not-needed power3/4 entries).

Again, apologies for the lateness of this report, and i hope it is not too
late.

Friendly,

Sven Luther

-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: powerpc (ppc)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.8-powerpc
Locale: LANG=fr_FR@euro, LC_CTYPE=fr_FR@euro (charmap=ISO-8859-15)

Versions of packages debian-cd depends on:
ii  apt                       0.5.28.6       Advanced front-end for dpkg
ii  apt-utils                 0.5.28.6       APT utility programs
ii  bc                        1.06-17        The GNU bc arbitrary precision cal
ii  cpp                       4:3.3.5-3      The GNU C preprocessor (cpp)
ii  debootstrap               0.2.45-0.2     Bootstrap a basic Debian system
ii  grep-dctrl                2.1.11         Grep Debian package information
ii  lynx                      2.8.5-2        Text-mode WWW Browser
ii  make                      3.80-9         The GNU version of the "make" util
ii  mkisofs                   4:2.01+01a01-4 Creates ISO-9660 CD-ROM filesystem
ii  perl [libdigest-md5-perl] 5.8.4-8        Larry Wall's Practical Extraction 
ii  sysutils                  1.3.8.5.1      Miscellaneous small system utiliti
--- tools/boot/sarge/boot-powerpc	17 May 2005 09:47:34 -0000
+++ tools/boot/sarge/boot-powerpc	4 Jun 2005 11:02:59 -0000
@@ -124,4 +124,13 @@
   fi
 done
 
+#
+# Copy pegasos forth script, since pegasos machines don't support yaboot yet.
+BUILD_DATE=$(date +%Y%m%d)
+cat $BASEDIR/data/sarge/pegasos/pegasos \
+ | sed "s/\${MEDIA_TYPE}/CDROM/" \
+ | sed "s/\${DEBIAN_VERSION}/${CODENAME}/g" \
+ | sed "s/\${BUILD_DATE}/${BUILD_DATE}/g" \
+ > pegasos
+
 exit 0
--- data/sarge/pegasos/pegasos	2005-06-02 03:30:48.529791136 +0200
+++ data/sarge/pegasos/pegasos	2005-06-04 12:55:48.000000000 +0200
@@ -0,0 +1,87 @@
+\ FORTH is identifed by a forth comment at first line
+\
+\ terminal control stuff
+\
+: TTY.CSI d# 27 EMIT ASCII [ EMIT ;
+: TTY.HOME    TTY.CSI ASCII H EMIT ;
+: TTY.CLR_EOS TTY.CSI ASCII J EMIT ;
+: TTY.HOME_CLR TTY.HOME TTY.CLR_EOS ;
+\
+\ boot menu stuff
+\
+: my-max-boot-num 3 ;
+: my-boot-default 1 ;
+: my-boot-delay d# 300 ; \ unit = 100 ms
+: my-print-menu ( -- )
+  TTY.HOME_CLR
+  ."  "                                    			cr
+  ." Welcome to Debian GNU/Linux ${DEBIAN_VERSION}!"		cr
+  ." "								cr
+  ." This is a Debian installation ${MEDIA_TYPE},"		cr
+  ." built on ${BUILD_DATE}."					cr
+  ." "								cr
+  ." The default option is (1) 'install'. For maximum"		cr
+  ." control, you can use the (2) 'expert' option."		cr
+  ." "								cr
+  ." ************************************"			cr
+  ." If in doubt, just choose (1) 'install'"			cr
+  ." ************************************"			cr
+  ."  "								cr
+  ." 1: install"   						cr
+  ." 2: expert"   						cr
+  ." 3: return to OF prompt"					cr
+  ."  "								cr
+;
+: my-boot-case ( num -- )
+  ."  " cr
+  case
+    1 of " cd install/powerpc/vmlinuz-chrp.initrd devfs=mount,dall init=/linuxrc --" endof
+    2 of " cd install/powerpc/vmlinuz-chrp.initrd DEBCONF_PRIORITY=low devfs=mount,dall init=/linuxrc --" endof
+    3 of " none" endof
+  endcase
+  $boot
+;
+: my-input-num ( wait-period max-boot-num default-num -- boot-num )
+  1 \ loop-inc = 1
+  3 pick 0 do
+    0d emit
+    ." press 1-"
+    ( wait-period max-boot-num default-num loop-inc )
+    2 pick ascii 0 + emit
+    dup 1 = if
+      ."  within "
+      3 pick i - d# 10 / .d
+      ."  seconds"
+    then
+    ."  (default: "
+    over ascii 0 + emit
+    ." ) :                   "
+    d# 100 ms
+    key? if
+       key
+       ( wait-period max-boot-num default-num loop-inc key )
+       dup 0d = if \ return pressed
+         drop leave
+       then
+
+       ascii 0 -
+       ( wait-period max-boot-num default-num loop-inc num )
+       dup 1 5 pick
+       ( wait-period max-boot-num default-num loop-inc num num 1 max-boot-num )
+       between if
+         rot drop swap leave
+       then
+
+       ( wait-period max-boot-num default-num loop-inc num )
+       2drop 0  \ loop-inc = 0
+    then
+  dup +loop
+  drop
+  ( wait-period max-boot-num boot-num )
+  nip nip
+;
+
+
+my-print-menu
+my-boot-delay my-max-boot-num my-boot-default my-input-num
+my-boot-case

Reply to: