vine-users ML アーカイブ



[vine-users:060985] Re: (VineLinuxPPC における起動 CD の作成について)

  • From: Hajime Tanaka <BYH01337@xxxxxxxxxxx>
  • Subject: [vine-users:060985] Re: (VineLinuxPPC における起動 CD の作成について)
  • Date: Wed, 18 Jun 2003 07:20:29 +0900
 VinePPCを起動するCDを作成する上で、これが使用される機器のキーボード、
モニタの
環境は不明なわけですから、インストールCDのキーボード設定、モニタ設定の部分は
そのまま借用することを考えております。長いメールになってしまってすいませ
んが、
メールの最後にインストールCD中のramdisk.image.gzに納められている
/etc/rc.sysinitを
転載させていただきます(関係者諸氏に感謝します)。
 これをいろいろいじって動作を試しております。先ほどキーボードおよびモニタの
設定に関する部分は残したまま、インストーラに関する部分を削除してみました。
具体的にはインストールされるファイルをCD-ROM中に見つけるための目印である
らしい
small_files.tgzに関する以下の部分と

if ! [ -e /mnt/cdrom/live/small_files.tgz ] ; then
echo
echo "Gosh, there seems appropriate CD-ROM or any partitions"
echo "containing needed files NOT found."
echo "falling back to bash..."
echo
echo "Type \"exit\" to reboot."
echo

/bin/bash

umount -a
echo
echo "Rebooting your machine now..."
echo
init 6
fi

下に示します、ラストのインストールユーティリティを起動する箇所です。

if [ -f /debug ]; then
echo
echo "Entering debug mode ..."
echo "Type /root/bin/start_installer when done."
echo
exec /bin/bash
else
/root/bin/start_installer

# if [ ! -f /install.run ]; then
# /root/bin/start_redhat_installer
# fi

umount -a
echo
echo
echo
echo "All Done. Rebooting your machine now."
echo
echo
echo
init 6
fi

 キーボード、モニタの設定をramdisk上に保存する必要があり、その段階につ
いては
まだ調べられておりませんが、とりあえずこれでコンソール画面が表れるところまで
起動しさえすればなんとか作業を進められると考えていたのです。
 しかしキーボード、モニタの設定が済んだ後に、残念ながら
INIT: Entering runlevel :3
INIT: no more processes left in this runlevel
とメッセージが表れてしまい、そこからどうしたらよいのか分からなくなりました。
 最低限、ターミナル画面さえ使えたら足りないファイルや設定などをいろいろ
調べる
ことができそうですが、そのためにはどこから手をつけたらよいでしょうか。削
除した
箇所にありますstart_installerの中身を見てもroot_startxなども辿ってみたの
ですが
ターミナル画面を呼び出すための仕組みがわからないままです。
 もうひとつ不安が残りますのは、コンソールさえ扱えたら基本的にはいろいろな
システムの改変はたいてい可能と考えておりますけれどそれは正しいのだろうかと
いうことです。最低限つかえなければいけない機能が、もしかして他にもありそうで
したら教えていただきたいのです。

 むかしどこかでLive LinuxというものがLinux用のパーティションを必要と
しないという記事を読んだことがあります。Macintoshでも使えるものでしたで
しょうか?VinePPC版のLiveディレクトリがそれと関係しているのかどうかは
知りませんが、Mac上でLinuxパーティションを切らずにLinuxを使うことが出来る
仕組みをイメージできまして感服しました。
 やることは山積みで道のりは長そうですけれど、こういう点はひじょうに楽しい
です。

--
田中 元 BYH01337@xxxxxxxxxxx

 以下が冒頭にお断りしたrc.sysinit全体です。


#!/bin/sh
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
# Taken in part from Miquel van Smoorenburg's bcheckrc.
#
# Redone for LinuxPPC by Jeff Carr <jcarr@xxxxxxxxxxxx>
#
# Tailored for Vine Linux
# by MATSUBAYASHI 'Shaolin' Kohji <shaolin@xxxxxxxxxxxxx>


# Set the path
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/tmp/rhimage/bin:/tmp/rhimage/sbin:/mnt/bin:/mnt/sbin:/usr/X11R6/bin:/usr/local/bin
USER=root
HOME=/root
export PATH USER HOME

mount -t proc /proc /proc
mount /dev/pts
mount -o remount,rw /
rm /etc/mtab
cp /proc/mounts /etc/mtab

echo
echo -en "\t\tWelcome to the "
echo -en "\\033[1;36mVine Linux\\033[0;39m"
echo " Installer."
echo
echo "Please wait for a while. Preparing the installer..."
echo

sleep 2

# Set up loopback network
ifconfig lo 127.0.0.1
ifconfig lo up

# Set the system clock
/sbin/clock -s

# Fix console loglevel
/bin/dmesg -n 1

# Now prepare and start the installer
. /etc/bashrc
/root/bin/boot_live.pl


if [ -d /mnt/cdrom/live/modules ] ; then
ln -sf /mnt/cdrom/live/modules /lib/modules
fi


if [ -x /mnt/cdrom/live/sbin/insmod ] ; then
ln -sf /mnt/cdrom/live/sbin/insmod /sbin/insmod
ln -sf /mnt/cdrom/live/sbin/insmod /sbin/modprobe
ln -sf /mnt/cdrom/live/sbin/insmod /sbin/rmmod
fi


if ! [ -e /mnt/cdrom/live/small_files.tgz ] ; then
echo
echo "Gosh, there seems appropriate CD-ROM or any partitions"
echo "containing needed files NOT found."
echo "falling back to bash..."
echo
echo "Type \"exit\" to reboot."
echo

/bin/bash

umount -a
echo
echo "Rebooting your machine now..."
echo
init 6
fi


DONEKBD=0
DONEMOUSE=0

while [ $DONEKBD = 0 -o $DONEMOUSE = 0 ]; do
if [ $DONEKBD = 0 ]; then
echo "Entering kbdconfig ... "
if /root/bin/kbdconfig --back; then
DONEKBD=1
else
echo
fi
echo
fi

if [ $DONEKBD = 1 -a $DONEMOUSE = 0 ]; then
echo "Entering mouseconfig ... "
if /root/bin/mouseconfig --back; then
DONEMOUSE=1
else
DONEKBD=0
echo
fi
echo
fi
done


mkdir -p /var/run/netreport
mkdir -p /var/log


pushd /root/bin
ln -sf /root/bin/pci.ids /usr/share/pci.ids


DONEXCFG=0
while [ $DONEXCFG = 0 ]; do
./Xautoconfig4 --interactive --noxfs
if [ -f /etc/X11/XF86Config-4 ]; then
sed -e "s|# FontPath|FontPath|g" \
/etc/X11/XF86Config-4 > /etc/XF86Config-4
DONEXCFG=1
fi
done
popd


if [ -f /etc/X11/X ]; then
# symlink to pixmap dir
ln -sf /live/pixmaps /root/bin/pixmaps
fi


if [ -f /debug ]; then
echo
echo "Entering debug mode ..."
echo "Type /root/bin/start_installer when done."
echo
exec /bin/bash
else
/root/bin/start_installer

# if [ ! -f /install.run ]; then
# /root/bin/start_redhat_installer
# fi

umount -a
echo
echo
echo
echo "All Done. Rebooting your machine now."
echo
echo
echo
init 6
fi