無印pentium debian install memo

19
無印Pentiumマシン Debian Installの記録 かごしまLinux勉強会-022014/06/28(Sat) サンエールかごしま 4F 中研修室 3 2014/6/28 1

Upload: yoshimoto-yukiyoshi

Post on 02-Jul-2015

430 views

Category:

Software


4 download

TRANSCRIPT

Page 1: 無印Pentium debian install memo

無印PentiumマシンDebian Installの記録

かごしまLinux勉強会-第02回

2014/06/28(Sat)

サンエールかごしま 4F中研修室 3

2014/6/28 1

Page 2: 無印Pentium debian install memo

自己紹介

2014/6/28 2

吉本工業

ETロボコン準優勝 (^ ^)v

Yukiyoshi yoshimoto

geckosjp

• 石川県小松市出身

• 1966年8月生まれ(A型、乙女座)

• 高校卒業後上京⇒福岡⇒鹿児島

• 組み込みエンジニア(自称)

• 1995年Slackwareと出会う。

2013

※イメージ

Page 3: 無印Pentium debian install memo

目標!

2014/6/28 3

• 古い無印PentiumをLinuxで活用!

• Lowスペックマシンに現行Debianを入れる!– 課題:現行ディストリではスペックが低すぎて

インストラーが対応していない!(T T)

• Kernelは3.0系にする!

• X Window Systemは諦める!– 理由:昔、動かしていたけど実用的で無い!

• jfbtermでCUI端末化を目指す!当然、日本語対応!

そんなこと、何の意味があるの?

Page 4: 無印Pentium debian install memo

何故DebianをInstallするのか?

2014/6/28 4

有効活用

そこに山があるから

意 地

Page 6: 無印Pentium debian install memo

DebianをInstallするマシン

2014/6/28 6

• 2000年頃、中古を鹿児島のアプライドで購入。(確か\19,800-で購入)

• 2年位我が家でルーター兼サーバーとして稼働

• 元々搭載されていたHDDは小容量なので10G品に換装済

• Ethernet無しモデルだったので、PCMCIAスロットにEthernetカードを装着

• 持ち運ぶのには重い(3.2kg)

• RAMは増設済で合計32MB搭載

Page 7: 無印Pentium debian install memo

DebianをInstallするマシン

2014/6/28 7

Page 8: 無印Pentium debian install memo

あしたのためのその1

• 現行Debianのインストーラーは多くのリソースを消費する!– 「通常のインストールを行うには、少なくとも 80MB の

RAM と 580MB のハードディスク領域が必要です。」(出展:Debian GNU/Linux インストールガイド)

• 今回のターゲットマシンの搭載RAMは32MB!

2014/6/28 8

インストーラの壁!

★ HDDを外して他のPCにて「debootstrap」を使ってシステム構築!!

Page 9: 無印Pentium debian install memo

あしたのためのその2

• マシンが古いのでHDD容量に制約あり。• 過去に512MB、2GBの壁もあったが、BIOSの制約でターゲットマシンにも8GB制約あり!– 搭載するHDDは10GB!昔、Ontrackってソフトで8GB問題を解決できていたが、もう手元に残っていない。orz

2014/6/28 9

8GBの壁!

★ GRUBを用いたBootシステムの採用!

Page 10: 無印Pentium debian install memo

あしたのためのその3

• 現行のインストーラは「initrd」システムを採用している!• Debian 7.0(wheezy)のkernelパッケージに含まれるinitrdは圧縮状態で約10MB、伸張して約24MB!

• Boot時にはkernelイメージとinitrdイメージをRAM読み込み、更にinitrdをRAMDISK上に展開するので、その分RAMが必要。なので・・・

Unpacking initramfs...Kernel panic - not syncing: Out of memory and no killable processes...

となる!

2014/6/28 10

RAM容量の壁!

★ initrdを使わないkernelをbuildする必要あり!

Page 11: 無印Pentium debian install memo

2014/6/28 11

Kernelのビルド

tar Jxf linux-3.2.57.tar.xz<中略>cd linux-3.2.57make menuconfig<中略>make-kpkg --revision=1.0 --rootcmd=fakeroot kernel-image<中略>

エラーが発生しなければ、このファイルが出来上がる♪

../linux-image-3.2.57_1.0_i386.deb

← ここ超重要!!

Kernelのオプションは超重要です。Initirdを使わなくするオプションは必須ですが、その他、最新のカーネルの標準オプションでは今回のマシンに全然マッチしていない!全部見直しの必要あり!! (トホホ・・・)

Page 12: 無印Pentium debian install memo

Let’s Try!

2014/6/28 12

パーテーションの設定

fdisk /dev/sdc

Command (m for help): p

Disk /dev/sdc: 10.1 GB, 10056130560 bytes64 heads, 32 sectors/track, 9590 cylinders, total 19640880 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000

Device Boot Start End Blocks Id System/dev/sdc1 2048 18876415 9437184 83 Linux/dev/sdc2 18876416 19640879 382232 82 Linux swap / Solaris

Command (m for help):

ここからは既に稼働しているマシンにHDDを接続!

Page 13: 無印Pentium debian install memo

Let’s Try!

2014/6/28 13

rootのFSを作る

mkfs -t ext4 /dev/sdc1mke2fs 1.42.5 (29-Jul-2012)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks589824 inodes, 2359296 blocks117964 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=241591910472 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done

Swapを作る

mkswap /dev/sdc2Setting up swapspace version 1, size = 382228 KiBno label, UUID=bb1f500a-aa15-41a5-b797-c2c075d125df

mount

mount /dev/sdc1 /mnt

Page 14: 無印Pentium debian install memo

Let’s Try!

2014/6/28 14

システムイメージ展開

debootstrap --arch i386 wheezy /mnt http://ftp2.jp.debian.org/debian/

設定ファイル編集

vi /mnt/etc/inittabvi /mnt/etc/apt/sources.listvi /mnt/etc/securettyvi /mnt/etc/fstabvi /mnt/etc/passwd ← 最初設定し忘れて、bootとはしたけどlogin出来ない状態に…

Kernelイメージのインストール

chroot /mntDpkg -i linux-image-3.2.57_1.0_i386.deb

このkernelはinitrdを使わない野良ビルドしたkernel

Page 15: 無印Pentium debian install memo

Let’s Try!

2014/6/28 15

Grub2のインストールとブートセクターへの書込み

apt-get install grub2

grub-install --boot-directory=/mnt/boot /dev/sdcInstallation finished. No error reported. ← (^ ^)v

再起動♪

HDDをターゲットマシンに装着する

Page 16: 無印Pentium debian install memo

Let’s Try!

2014/6/28 16

本当は起動するまで色々とありましたが、必死だったので何をどうしたか覚えてない… orz

無事GRUB起動!(パチパチ)

Kernelイメージの読み込みとboot!

grub> linux /boot/vmlinuz-3.2.57 root=/dev/hda0 ro console=ttyS0,9600n8rgrub> boot

Page 17: 無印Pentium debian install memo

Let’s Try!

2014/6/28 17

List of all partitions:[ 1.746265] No filesystem could mount root, tried: [ 1.752750] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

うぁぁぁぁぁぁぁ…

Ext4のドライバをモジュールでコンパイルしてた… orz

その他、いろんなことがありました・・・さっさとまとめておけば良かったのに・・・

もう忘れた・・・ orz

そして、ついに!

Page 18: 無印Pentium debian install memo

Let’s Try!

2014/6/28 18

Page 19: 無印Pentium debian install memo

今後の課題

• なんと言ってもネットワークに繋ぎたい!本体にLANポートが内蔵されていない。だ・か・ら・・・

• PCMCIAの活用昔はpcmcia-csを入れるのが定番だったが、今はkernelが面倒見てくれるのだとか・・・一応、オプションを有効にしてビルドしたのだがイマイチうまくいっていないっぽい。

• jfbtermフレームバッファさえ動けば何とかなると、軽く思っているので一番最後。

2014/6/28 19

USBも無いのでファイルの受け渡しが面倒・・・