#!/bin/bash # # Knoppix Installation for HardDisk Drive # Development by ya-knoppix-jp Members, # daicki,hanawa,kinneko,kwonderboy,max,nogajun # First Released on 16/Nov./'02 by K.Wonderboy # Special Thanks Christian Perle, perle@itm.tu-clausthal.de # # TODO: # Fremde Partitionen (vfat, ntfs) in /etc/fstab eintragen # weitere Filesysteme f? $TR (ext3, reiserfs) initrd.gz # bei DHCP: "iface eth0 inet dhcp" eintragen # Auswahl: Automounter oder nicht # "no cloop"-Install (extract_compressed_fs, doppelter Plattenplatz n?ig) # lo-Device nach Booten von Platte nicht immer "up" gesetzt # LILO im MBR nur auf der ersten Platte installieren (BIOS-Reihenfolge) # # 日本語版ChangeLog # #2002/12/16 0.9.7 Max Fixed XIM problem # # K.Wonderboy make "apt-get" directory # Templates include only necessary # Fixed Some Japanese Language Problem # Fixed Display Font Point # Changed X Server Start Sequence # Enable auto-config when New VGA Card # runlevel 4 start single user "knoppix" # #2002/12/12 0.9.6 daicki Filesystem include EXT3 & more # Selected Filesystems # # K.Wonderboy Fixed auto-mounter # runlevel "2" chenged to "5" # #2003/12/08 0.9.5 K.Wonderboy Make HDD icons automatic # INITRD implement # merged from "0.30",any # # ? 0.9.4 kinneko & SUZAKI Search Templates-files # # ? 0.9.3 K.Wonderboy Fixed Boot-Floppy # #2002/12/03 0.9.2 Maxさんによる修正 # ・デスクトップ上の不要アイコン除去 #               (/cdrom内のサンプルファイルへのショートカット) # ・OpenOffice.org初回起動時挙動修正 #               (インストール状態を判断し初回時はセットアップ) # #2002/12/01 0.9.1 塙さんによるパッチ #  ・Title の日本語化 #  ・テンプレートアーカイブの置き場所の変更 #    (/temp -> スクリプトカレント) #  ・ファイル名の変更 (knx-hdinstall-jp) # Maxさんによるパッチ #  ・kickerrc の改良 #    (Mozilla-Navigator と KMail アイコン表示) # #2002/11/27 0.9 Naturezaさんにより knx-hdinstalljp 初公開 SVERSION="0.97jp" rotdash() { p=$1 while [ -d /proc/$p ] do echo -n '/' ; usleep 100000 echo -n '-' ; usleep 100000 echo -n '\' ; usleep 100000 echo -n '|' ; usleep 100000 done } # X oder Textkonsole case "`tty`" in /dev/tty[1-8]) MODE=text DIA=dialog ;; # /dev/pts/*|/dev/ttyp*) # MODE=x # XDIALOG_HIGH_DIALOG_COMPAT=1 # export XDIALOG_HIGH_DIALOG_COMPAT # DIA=Xdialog # ;; *) MODE=text DIA=dialog ;; esac # Textmode wenn DISPLAY nicht gesetzt ist if [ -z "$DISPLAY" ] ; then MODE=text DIA=dialog fi # Mountpoint f? das Rootfilesystem TR="/mnt/target" # Mountpoints f? Loop-Mounts TL1="/mnt/l1" TL2="/mnt/l2" # Name des Template-Archivs INSTDATA="./knx-templates-$SVERSION.tgz" # Hierhin werden die Templates entpackt TM="$TR/templates" # Default Hostname DEFHNAME="localhost" if [ $UID != 0 ] ; then echo "このスクリプトはroot権限で実行して下さい" exit 0 fi TMP="/tmp/hdinst.tmp.$$" ORIG_LANG="ja_JP.eucJP" ORIG_LANGUAGE="ja" ORIG_LC_ALL="ja_JP.eucJP" # ...weg mit den locales export LANG=C export LANGUAGE=C export LC_ALL=C umask 022 killall dhcpcd >/dev/null 2>&1 killall -9 pump >/dev/null 2>&1 killall automount >/dev/null 2>&1 swapoff -a >/dev/null 2>&1 $DIA --backtitle "Knoppix Installation" --title "knx-hdinstall $SVERSION" \ --msgbox "このスクリプトは、KNOPPIX を \n ハードディスクにインストールします \n \n knx-hdinstalljp by K.Wonderboy " 15 40 # Check f? die Templates # [jp] kinneko & SUZAKI: 0.94 #tar tzf "$INSTDATA" >/dev/null 2>&1 #if [ $? != 0 ] ; then # $DIA --backtitle "Knoppix Installation" --title "ファイルがありません" \ # --msgbox " $INSTDATA がありません。中止します " 15 60 # rm -f $TMP # exit 0 #fi BASEDATA=${INSTDATA##*/} for topdir in / ./ /usr/local/share/ do for base in $INSTDATA $BASEDATA do tar tzf "$topdir$base" >/dev/null 2>&1 status=$? if [ $status = 0 ] ; then realinstdata=$topdir$base break; fi done if [ ! -z $realinstdata ];then break; fi done if [ $status != 0 ] ; then $DIA --backtitle "Knoppix Installation" --title "ファイルがありません" \ --msgbox " $INSTDATA がありません。中止します " 15 60 rm -f $TMP exit 0 fi INSTDATA=$realinstdata # [jp] kinneko & SUZAKI: 0.94 # G?tige Partitionierung: mind. 2.2 GB Filesystem, mind. 128 MB Swap. FSMIN=2200 SWAPMIN=128 # F? "no cloop"-Methode wird mehr Platz gebraucht NCLOOPFSMIN=4400 # Gr?e der initrd: 2.5 MB INSIZE=2500 # Auswahl der Platte zum Partitionieren > $TMP NUMHD=0 if [ -f /proc/partitions ] ; then while read x x x p x do case "$p" in hd?) if [ "`cat /proc/ide/$p/media`" = "disk" ] ; then echo "$p `tr ' ' _ > $TMP NUMHD=$[NUMHD+1] fi ;; sd?) x="`scsi_info /dev/$p | grep MODEL | tr ' ' _`" x=${x#*\"} x=${x%\"*} echo "$p $x" >> $TMP NUMHD=$[NUMHD+1] ;; *) ;; esac done < /proc/partitions fi HARDDISKS="`cat $TMP`" $DIA --backtitle "Knoppix Installation" --title "パーティション作成" \ --radiolist "ハードディスクを選択して下さい" 16 60 $NUMHD \ $(echo "$HARDDISKS" | while read p model ; do echo "$p" "$model" off ; done) \ 2> $TMP HDCHOICE="`cat $TMP`" if [ -z "$HDCHOICE" ] ; then $DIA --backtitle "Knoppix Installation" --title "パーティション作成" \ --msgbox "選択されてません。中止します" 15 40 rm -f $TMP exit 0 fi x=$(fdisk -l /dev/$HDCHOICE 2>/dev/null | grep "^Disk.*cylinders") HDS=${x%% heads*} HDS=${HDS##* } SECT=${x%% sectors*} SECT=${SECT##* } CYLS=${x% cylinders} CYLS=${CYLS##* } $DIA --backtitle "Knoppix Installation" --title パーティション作成 \ --msgbox " /dev/$HDCHOICE が選択されました。 ディスク容量は $[CYLS*HDS*SECT/2048] MBです。 パーティション作成プログラム cfdisk を起動します" 15 40 if [ $MODE = text ] ; then ( LANG="$ORIG_LANG" LANGUAGE="$ORIG_LANGUAGE" LC_ALL="$ORIG_LC_ALL" cfdisk /dev/$HDCHOICE ) else ( LANG="$ORIG_LANG" LANGUAGE="$ORIG_LANGUAGE" LC_ALL="$ORIG_LC_ALL" xterm -e cfdisk /dev/$HDCHOICE ) fi # Auswahl: Swap oder nicht $DIA --backtitle "Knoppix Installation" --title "仮想メモリ (スワップ)" \ --yesno "スワップ領域を選択しますか" 15 60 x=$? if [ $x = 0 ] ; then # Auswahl der Swap-Partition (Swap einrichten) > $TMP fdisk -l /dev/$HDCHOICE | grep "^/dev.*Linux swap$" | while read dev x x size x do size=${size%+} echo $dev $[size/1024]_MB off >> $TMP done NUMSWAP="`wc -l <$TMP`" SWAPART="`cat $TMP`" if [ $NUMSWAP = 0 ] ; then $DIA --backtitle "Knoppix Installation" --title "スワップ領域の作成" \ --msgbox "領域が有りません。処理を中止します" 15 40 rm -f $TMP exit 0 fi $DIA --backtitle "Knoppix Installation" --title "スワップ領域の作成" \ --radiolist "スワップ領域を選択して下さい" 16 60 $NUMSWAP \ $SWAPART 2> $TMP SWCHOICE="`cat $TMP`" if [ -z "$SWCHOICE" ] ; then $DIA --backtitle "Knoppix Installation" --title "スワップ領域の作成" \ --msgbox "処理を中止します" 15 40 rm -f $TMP exit 0 fi size=$(echo "$SWAPART" | grep "$SWCHOICE") size=${size%%_*} size=${size##* } if [ $size -lt $SWAPMIN ] ; then $DIA --backtitle "Knoppix Installation" --title "スワップ領域の作成" \ --msgbox " 領域が足りません" 15 40 rm -f $TMP exit 0 fi $DIA --backtitle "Knoppix Installation" --title "スワップ領域の作成" \ --yesno " $SWCHOICE をスワップ領域として初期化します" 15 60 x=$? if [ $x != 0 ] ; then $DIA --backtitle "Knoppix Installation" --title "スワップ領域の作成" \ --msgbox "処理を中止します" 15 40 rm -f $TMP exit 0 fi echo "パーティション $SWCHOICE を作成中 ..." sleep 2 dd if=/dev/zero of=$SWCHOICE bs=1k count=16 >/dev/null 2>&1 sync mkswap $SWCHOICE 2> $TMP if [ $? != 0 ] ; then $DIA --backtitle "Knoppix Installation" --title "スワップ領域の作成" \ --msgbox "作成できませんでした :`tail -8 $TMP` " 15 60 rm -f $TMP exit 0 fi swapon $SWCHOICE >/dev/null 2>&1 else SWCHOICE=none fi # Auswahl der Rootpartition (Filesystem anlegen) > $TMP fdisk -l /dev/$HDCHOICE | grep "^/dev.*Linux$" | tr -d '*' | while read dev x x size x do size=${size%+} echo $dev $[size/1024]_MB off >> $TMP done # [jp] daicki :0.96 #NUMEXT2="`wc -l <$TMP`" #EXT2PART="`cat $TMP`" #if [ $NUMEXT2 = 0 ] ; then NUMLINUXFS="`wc -l <$TMP`" LINUXFSPART="`cat $TMP`" if [ $NUMLINUXFS = 0 ] ; then $DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ --msgbox "領域が有りません。処理を中止します" 15 40 rm -f $TMP exit 0 fi # [jp] daicki :0.96 #$DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ # --radiolist "システム領域を選択して下さい" 16 60 $NUMEXT2 \ # $EXT2PART 2> $TMP $DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ --radiolist "システム領域を選択して下さい" 16 60 $NUMLINUXFS \ $LINUXFSPART 2> $TMP # [jp] daicki :0.96 FSCHOICE="`cat $TMP`" if [ -z "$FSCHOICE" ] ; then $DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ --msgbox "処理を中止します" 15 40 rm -f $TMP exit 0 fi # [jp] daicki :0.96 #size=$(echo "$EXT2PART" | grep "$FSCHOICE") size=$(echo "$LINUXFSPART" | grep "$FSCHOICE") # [jp] daicki :0.96 size=${size%%_*} size=${size##* } if [ $size -lt $FSMIN ] ; then $DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ --msgbox "領域不足です。処理を中止します" 15 40 rm -f $TMP exit 0 fi #FIXME: FSTYPE ausw?len # [jp] daicki :0.96 NUMFSTYPE="4" FSTYPE="ext2 EXT2ファイルシステム on ext3 EXT3ファイルシステム off reiserfs ReiserFSファイルシステム off xfs XFSファイルシステム off" $DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ --radiolist "ファイルシステムのタイプを選択して下さい" 16 60 $NUMFSTYPE \ $FSTYPE 2> $TMP FSTYPECHOICE="`cat $TMP`" # [jp] daicki :0.96 $DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ --yesno " $FSCHOICE をファイルシステムとして初期化します" 15 60 x=$? if [ $x != 0 ] ; then $DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ --msgbox "処理を中止します" 15 40 rm -f $TMP exit 0 fi # [jp] daicki :0.96 #echo "Filesystem $FSCHOICE を作成中 ..." echo "Filesystem $FSCHOICE (Type : $FSTYPECHOICE) を作成中 ..." # [jp] daicki :0.96 sleep 2 dd if=/dev/zero of=$FSCHOICE bs=1k count=16 >/dev/null 2>&1 sync # [jp] daicki :0.96 #mke2fs $FSCHOICE 2> $TMP case "$FSTYPECHOICE" in ext2|ext3) mkfs -t $FSTYPECHOICE $FSCHOICE 2> $TMP ;; reiserfs|xfs) mkfs -t $FSTYPECHOICE -f $FSCHOICE > $TMP 2>&1 ;; esac # [jp] daicki :0.96 #mkfs -t ext3 $FSCHOICE 2> $TMP if [ $? != 0 ] ; then $DIA --backtitle "Knoppix Installation" --title "ファイルシステムの設定" \ --msgbox "作成できませんでした :`tail -8 $TMP` " 15 60 rm -f $TMP exit 0 fi $DIA --backtitle "Knoppix Installation" --title "ファイルのコピー" \ --msgbox "これから Knoppix-CD をハードデイスクにコピーします \ 10-40分くらいかかります" 15 60 mkdir -p $TR >/dev/null 2>&1 # [jp] daicki :0.96 #mount -t ext2 $FSCHOICE $TR 2> $TMP mount -t $FSTYPECHOICE $FSCHOICE $TR 2> $TMP # [jp] daicki :0.96 if [ $? != 0 ] ; then $DIA --backtitle "Knoppix Installation" --title "ファイルのコピー" \ --msgbox "コピーできません :`tail -8 $TMP` " 15 60 rm -f $TMP exit 0 fi # Jetzt beginnt die eigentliche Datenschaufelei echo -n "コピー中..." (cd /KNOPPIX ; cp -a * $TR ; sync) & rotdash $! # Zwei Beeps echo -ne "\007" >/dev/tty1 ; usleep 500000 echo -ne "\007" >/dev/tty1 ; usleep 500000 $DIA --backtitle "Knoppix Installation" --title "ファイルのコピー" \ --msgbox "コピーは完了しました" 15 40 # Entpacken der Templates mkdir -p $TM tar xpzf $INSTDATA -C $TM >/dev/null 2>&1 # "Normalisieren" der Runlevel-Verzeichnisse # [jp] K.Wonderboy :0.96 , rc4=0.97 #rm -f $TR/etc/rc[026S].d/* #for x in 0 2 6 S rm -f $TR/etc/rc[02456S].d/* for x in 0 2 4 5 6 S # [jp] K.Wonderboy :0.96 , 0.97 do cp -a $TM/etc/rc$x.d/* $TR/etc/rc$x.d/ done # Nicht alle Dienste m?sen gestartet werden $DIA --backtitle "Knoppix Installation" --title "メールサーバ" \ --yesno " メールサーバ (smail) を起動しますか?" 15 60 x=$? if [ $x != 0 ] ; then # [jp] K.Wonderboy :0.96 # rm -f $TR/etc/rc2.d/S??smail rm -f $TR/etc/rc5.d/S??smail # [jp] K.Wonderboy :0.96 fi $DIA --backtitle "Knoppix Installation" --title "Secure Shell サーバ" \ --yesno "\ Secure Shell サーバ (sshd) を起動しますか?" 15 60 x=$? if [ $x != 0 ] ; then # [jp] K.Wonderboy :0.96 # rm -f $TR/etc/rc2.d/S??ssh rm -f $TR/etc/rc5.d/S??ssh # [jp] K.Wonderboy :0.96 fi $DIA --backtitle "Knoppix Installation" --title "Samba サーバ" \ --yesno "\ Samba サーバ (smbd/nmbd) を起動しますか?" 15 60 x=$? if [ $x != 0 ] ; then # [jp] K.Wonderboy :0.96 # rm -f $TR/etc/rc2.d/S??samba rm -f $TR/etc/rc5.d/S??samba # [jp] K.Wonderboy :0.96 fi $DIA --backtitle "Knoppix Installation" --title "K ディスプレイマネージャ" \ --yesno "\ グラフィカルログインを提供する \ Kディスプレイマネージャを使いますか?" 15 60 x=$? if [ $x != 0 ] ; then # [jp] K.Wonderboy :0.96 # rm -f $TR/etc/rc2.d/S??kdm rm -f $TR/etc/rc5.d/S??kdm # [jp] K.Wonderboy :0.96 fi # hotplug entfernen, wenn kein USB-Modul geladen ist grep -E "usb|uhci|ohci" /proc/modules >/dev/null 2>&1 if [ $? != 0 ] ; then # [jp] K.Wonderboy :0.96 # rm -f $TR/etc/rc2.d/S??hotplug rm -f $TR/etc/rc5.d/S??hotplug # [jp] K.Wonderboy :0.96 fi # cardmgr entfernen, wenn kein PCMCIA-Modul geladen ist grep "pcmcia_core" /proc/modules >/dev/null 2>&1 if [ $? != 0 ] ; then # [jp] K.Wonderboy :0.96 # rm -f $TR/etc/rc2.d/S??pcmcia rm -f $TR/etc/rc5.d/S??pcmcia # [jp] K.Wonderboy :0.96 fi # Keymap auf de-latin1-nodeadkeys setzen #cp -af $TM/etc/init.d/keymap.sh $TR/etc/init.d/keymap.sh ###UPD??!! cp -af $TM/etc/init.d/* $TR/etc/init.d/ # Anlegen der Symlinks /dev/cdrom und /dev/mouse if [ -f /etc/sysconfig/mouse ] ; then x="`grep DEVICE= /etc/sysconfig/mouse`" x=${x#*/dev/} MOUSEDEV=${x%\"*} fi [ -z "$MOUSEDEV" ] && MOUSEDEV="psaux" (cd $TR/dev ; ln -sf $MOUSEDEV mouse ; ln -sf sr0 cdrom) # Prompt ?dern und "." aus PATH entfernen in /etc/profile ###UPD # [jp] K.Wonderboy :0.97 #cp -af $TM/etc/profile $TR/etc/profile # [jp] K.Wonderboy :0.97 # "Normaliseren" von /etc/inittab cp -af $TM/etc/inittab $TR/etc/inittab # Update von /etc/motd echo -e "Welcome to Knoppix (Kernel `uname -r`)\n" > $TR/etc/motd # Erzeugen von /etc/modules aus den aktuell geladenen Kernelmodulen cat <<\EOF >$TMP # /etc/modules: kernel modules to load at boot time. # # This file should contain the names of kernel modules that are # to be loaded at boot time, one per line. Comments begin with # a `#', and everything on the line after them are ignored. EOF # [jp] K.Wonderboy :0.97 #tail +1 /proc/modules | grep -v '\[.*\]' | grep -v cloop | #while read mod x #do # echo $mod >>$TMP #done # [jp] K.Wonderboy :0.97 cp -f $TMP $TR/etc/modules # Anpassen von /etc/inputrc (8-bit clean) ###UPD # [jp] K.Wonderboy :0.97 #cp -af $TM/etc/inputrc $TR/etc/inputrc # [jp] K.Wonderboy :0.97 # Erzeugen von /etc/fstab ###UPD #none /dev/pts devpts mode=0622 0 0 # [jp] daicki :0.96 #$FSCHOICE / ext2 defaults 0 0 # [jp] daicki :0.96 cat <$TR/etc/fstab # /etc/fstab: Tabelle einzubindender Dateisysteme. # # Dateisystem Mountpunkt Typ Optionen dump pass none /proc proc defaults 0 0 $FSCHOICE / $FSTYPECHOICE defaults 0 0 EOF if [ $SWCHOICE != none ] ; then echo "$SWCHOICE swap swap defaults 0 0" >>$TR/etc/fstab fi cat <>$TR/etc/fstab /dev/fd0 /mnt/auto/floppy auto user,noauto,exec,umask=000 0 0 /dev/cdrom /mnt/auto/cdrom auto user,noauto,exec,ro 0 0 EOF # [jp] K.Wonderboy :0.95 #cat $TM/etc/fstab >> $TR/etc/fstab cp -af $TR/etc/fstab $TR/etc/fstab.kwb cp -af $TM/etc/auto.mnt $TR/etc/ cp -af $TM/etc/auto.mnt $TR/etc/auto.mnt.kwb # [jp] K.Wonderboy :0.95 # ?ertragen der Knoppix-generierten XF86Config cp -af /etc/X11/XF86Config $TR/etc/X11/XF86Config cp -af /etc/X11/XF86Config-4 $TR/etc/X11/XF86Config-4 # [jp] K.Wonderboy :0.97 cp -af $TM/etc/usr-sbin/mkxf86config $TR/usr/sbin/ # [jp] K.Wonderboy :0.97 # X-Session nicht auf KDE festlegen #mv $TR/etc/X11/Xsession.d/45xsession $TR/root mv $TR/etc/X11/Xsession.d/45xsession $TR/root/backup-45xsession # Display-Permissions f? xdm/kdm (Bug in Woody?) sed -e 's,DisplayManager\*authorize:.*true,DisplayManager*authorize: false,g' /etc/X11/xdm/xdm-config >$TR/etc/X11/xdm/xdm-config for x in /etc/kde[23]/kdm/kdmrc do sed -e 's,#Authorize=false,Authorize=false,g' $x >$TR/$x done # Hostname setzen $DIA --backtitle "Knoppix Installation" --title "ホスト名の設定" \ --inputbox "ホスト名を設定します :" 15 60 $DEFHNAME 2>$TMP HNAME="`cat $TMP`" [ -z "$HNAME" ] && HNAME=$DEFHNAME cat <$TR/etc/hosts 127.0.0.1 $HNAME localhost # The following lines are desirable for IPv6 capable hosts # (added automatically by netbase upgrade) ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts EOF echo "$HNAME" > $TR/etc/hostname echo "$HNAME" > $TR/etc/mailname # Netzwerkkarte einrichten, wenn vorhanden grep eth0 /proc/net/dev >/dev/null 2>&1 if [ $? = 0 ] ; then ( LANG="$ORIG_LANG" LANGUAGE="$ORIG_LANGUAGE" LC_ALL="$ORIG_LC_ALL" rm -f /etc/resolv.conf touch /etc/resolv.conf netcardconfig ) cp -af /etc/network/interfaces $TR/etc/network/interfaces rm -f $TR/etc/resolv.conf cat /etc/resolv.conf >$TR/etc/resolv.conf fi # Alle Dienste in /etc/inetd.conf deaktivieren ###UPD # [jp] K.Wonderboy :0.97 #cp -af $TM/etc/inetd.conf $TR/etc/inetd.conf # [jp] K.Wonderboy :0.97 # Knoppix-Eintrag aus /etc/sudoers entfernen ###UPD #cp -af $TM/etc/sudoers $TR/etc/sudoers cp -af /etc/sudoers $TR/etc/sudoers # [jp] K.Wonderboy :0.97 #cp -af $TM/etc/sysconfig/* $TR/etc/sysconfig/ cp -af /etc/sysconfig/* $TR/etc/sysconfig/ cp -af /etc/sysconfig/xserver $TR/etc/sysconfig/xserver.kwb # [jp] K.Wonderboy :0.97 # [jp] K.Wonderboy :0.96, ##=0.97 ##( cp -af $TM/etc/.xsession $TR/etc/kde3/kdm/ ) ( cp -af $TM/etc/.xsession $TR/root/ ) ( cp -af $TM/etc/.xsession $TR/etc/skel/ ) cp -af $TM/etc/Xsession $TR/etc/kde3/kdm/ #[jp] K.Wonderboy :0.97 cp -af $TM/etc/X11/xinitrc $TR/etc/X11/xinit/ cp -af $TM/etc/X11/Xsession $TR/etc/X11/ mkdir $TR/var/cache/apt/archives mkdir $TR/var/cache/apt/archives/partial # [jp] K.Wonderboy :0.97 ##cp -af $TM/etc/kdmrc $TR/etc/kde3/kdm/ # [jp] K.Wonderboy :0.96, ##=0.97 mkdir $TR/proc # /etc/hosts.allow weniger restriktiv # [jp] K.Wonderboy :0.97 #cp -af $TM/etc/hosts.allow $TR/etc/hosts.allow # [jp] K.Wonderboy :0.97 # "Echtes" /tmp mit Modus 1777 erzeugen rm -rf $TR/tmp mkdir $TR/tmp chmod 1777 $TR/tmp # /etc/mtab als normale Datei erzeugen rm -f $TR/etc/mtab touch $TR/etc/mtab # ?dern des Homeverzeichnisses f? root auf /root sed -e 's,/home/root,/root,g' /etc/passwd > $TR/etc/passwd # [jp] Max: replace OpenOffice related shortcuts and add scripts for it. cp -af $TM/applnk/openoffice.desktop $TR/usr/share/applnk/Office/ cp -af $TM/applnk/openoffice.desktop $TR/etc/skel/Desktop/ chown root.root $TR/usr/share/applnk/Office/openoffice.desktop chown root.root $TR/etc/skel/Desktop/openoffice.desktop cp -af $TM/bin/OpenOffice_org $TR/usr/local/bin/ rm -rf "$TR/usr/share/applnk/OpenOffice.org 1.0" # [jp] Max # Erzeugen des Homeverzeichnisses f? User knoppix ###UPD cp -af $TM/etc/filemanagement $TR/etc/skel/.kde/share/apps/konqueror/profiles/ cp -af $TM/etc/kde-share-config/* $TR/etc/skel/.kde/share/config/ cp -af $TM/etc/Desktop/* $TR/etc/skel/Desktop/ mkdir $TR/root/Desktop cp -af $TM/etc/Desktop/* $TR/root/Desktop/ cp -af $TM/etc/root-Desktop/* $TR/root/Desktop/ cp -af $TM/etc/.kderc $TR/etc/skel/ # [jp] K.Wonderboy :0.97 cp -af $TM/etc/.kderc $TR/root/ cp -af $TM/etc/ramdisk-home/.bashrc $TR/etc/skel/ cp -af $TM/etc/ramdisk-home/.bash_profile $TR/etc/skel/ # [jp] K.Wonderboy :0.97 cp -af $TM/etc/qtrc $TR/etc/skel/.qt/ rm -rf $TR/etc/skel/office rm -rf $TR/home/knoppix # [jp] Max: Remove invalid desktop shortcuts here. rm -f $TR/etc/skel/Desktop/Music rm -f "$TR/etc/skel/Desktop/パワーポイントサンプル.ppt" rm -f "$TR/etc/skel/Desktop/エクセルサンプル.xls" rm -f "$TR/etc/skel/Desktop/ワードサンプル.doc" # [jp] Max cp -a $TR/etc/skel $TR/home mv $TR/home/skel $TR/home/knoppix chown -R knoppix.knoppix $TR/home/knoppix # Setzen g?tiger Passw?ter f? die User root und knoppix mittels # chroot-Umgebung echo "システム管理用ユーザ(root)のパスワードを設定して下さい" chroot $TR passwd root echo "一般ユーザ(knoppixのパスワードを設定して下さい" chroot $TR passwd knoppix # Bei SCSI-System: Erzeugen einer initrd mit ash.static und SCSI-Modul #FIXME: auch bei FSTYPE ext3 und reiserfs INITRD="" SCSIMODS="" mkdir -p $TL1 $TL2 >/dev/null 2>&1 # [jp] K.Wonderboy :0.95 #case "$FSCHOICE" in # /dev/sd*) # [jp] K.Wonderboy :0.95 mount -t vfat -o loop,ro /cdrom/KNOPPIX/boot.img $TL1 gzip -cd $TL1/miniroot.gz > $TR/miniroot umount $TL1 dd if=/dev/zero of=$TR/ird bs=1k count=$INSIZE mke2fs -F -m 0 -i 1024 -q $TR/ird mount -t ext2 -o loop,ro $TR/miniroot $TL1 mount -t ext2 -o loop,rw $TR/ird $TL2 cp -a $TL1/dev $TL1/etc $TL1/static $TL2 cp -a $TL1/proc $TL2 cp -a $TL1/modules $TL2 cp -a $TM/etc/linuxrc $TL2 # [jp] daicki :0.96 case "$FSTYPECHOICE" in ext3|reiserfs|xfs) RELKERNEL="`uname -r`" cp -a /lib/modules/$RELKERNEL/kernel/fs/$FSTYPECHOICE/$FSTYPECHOICE.o $TL2/modules chmod 755 $TL2/modules/$FSTYPECHOICE.o sed s/^ROOT_FSTYPE.*/ROOT_FSTYPE=\"$FSTYPECHOICE\"/ < $TL2/linuxrc > $TL2/linuxrc.tmp mv -f $TL2/linuxrc.tmp $TL2/linuxrc ;; esac # [jp] daicki :0.96 # [jp] K.Wonderboy :0.95 # mkdir -p $TL2/proc $TL2/modules # for i in `ls $TL1/mod # do # i=${i%.o} # if [ -n "`grep $i /proc/modules`" ] ; then # SCSIMODS="$SCSIMODS $i" # fi # done # echo "#!/static/sh" >$TL2/linuxrc # for i in $SCSIMODS # do # cp $TL1/modules/scsi/$i.o $TL2/modules # echo "insmod /modules/$i.o" >>$TL2/linuxrc # done # # [jp] K.Wonderboy :0.95 chmod 755 $TL2/linuxrc umount $TL1 umount $TL2 rm -rf $TR/miniroot gzip -9 $TR/ird mv $TR/ird.gz $TR/boot/initrd.gz INITRD=" initrd=/boot/initrd.gz" # [jp] K.Wonderboy :0.95 # ;; # *) # ;; #esac # [jp] K.Wonderboy :0.95 # Einrichten von LILO mittels chroot-Umgebung # --yesno "ブートローダ (LILO) をマスタブートレコード (MBR) に書き出しますか?" 15 60 $DIA --backtitle "Knoppix Installation" --title "ブートローダの設定" \ --yesno " ブートローダ (LILO) の書き込み先指定 \n \n マスターブートレコード (MBR) = < はい > \n ブートパーティション("$FSCHOICE") = <いいえ> " 15 50 x=$? if [ $x = 0 ] ; then LBOOT=${FSCHOICE%%[1-9]*} else LBOOT=$FSCHOICE fi BKERNEL="/boot/vmlinuz-`uname -r`" cat <$TR/etc/lilo.conf boot=$LBOOT vga=791 prompt timeout=50 append = "hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi apm=power-off noapic" image=/boot/vmlinuz label=knoppix root=$FSCHOICE read-only $INITRD #other=/dev/hda1 # label=freedos # table=/dev/hda EOF echo "ブートローダ (LILO) 書き込み中..." lilo -r $TR # LILO-Bootsektor in Datei schreiben (f? boot.ini von NT/2k) if [ $LBOOT = $FSCHOICE ] ; then dd if=$LBOOT of=$TR/linboot.img bs=512 count=1 fi # Bootdiskette erzeugen $DIA --backtitle "Knoppix Installation" --title "起動用フロッピーの作成" \ --yesno "起動用フロッピー を作成しますか?" 15 60 x=$? if [ $x = 0 ] ; then $DIA --backtitle "Knoppix Installation" --title " 起動用フロッピーの作成 " \ --msgbox "フロッピーは初期化されますが よろしいですね?" 15 40 echo "起動用フロッピー作成中..." mformat -t 80 -h 2 -s 18 a: syslinux /dev/fd0 mount -t vfat /dev/fd0 $TL1 cp $BKERNEL $TL1/vmlinuz [ -n "$INITRD" ] && cp $TR/boot/initrd.gz $TL1 cat <$TL1/syslinux.cfg default knoppix prompt 1 timeout 50 label knoppix kernel vmlinuz EOF echo -n " append root=$FSCHOICE ro vga=791 apm=power-off hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi noapic" >>$TL1/syslinux.cfg if [ -n "$INITRD" ] ; then echo " initrd=initrd.gz" >>$TL1/syslinux.cfg else echo "" >>$TL1/syslinux.cfg fi [ $LBOOT = $FSCHOICE ] && cp $TR/linboot.img $TL1 umount $TL1 fi #echo -n "debug delay... " #read x # Templates entfernen rm -rf $TM # Loopdevices explizit l?en (sonst ist $FSCHOICE busy) for i in 7 6 5 4 3 2 1 0 do losetup -d /dev/loop$i >/dev/null 2>&1 done # Rootpartition unmounten umount $TR >/dev/null 2>&1 $DIA --backtitle "Knoppix Installation" --title "終了" \ --msgbox "インストール完了" 15 40 rm -f $TMP exit 0