平衡点


2008/09/09

_ Rails で文献管理システムを作ってみるよ(2/n)

前回はこちら.

  • 本日のお品書き
    • test の作成, 修正, 追加
    • Article 作成時の修正
      • (start|end)_page は integer で渡す. model でそれをチェックする.
      • year は Date オブジェクトを渡す. 必要なのは year のみ.

の予定でしたが,方針を変えて, 勉強がてら RSpec on Rails を使用してみます.前回, 既に scaffold を使って model, view, controller を作成しているのですが, これを一度忘れてみましょう(なんてこった).

$ ruby script destroy scaffold Article

さよ〜なら〜

RSpec on Rails の導入

ついでに, Selenium on Rails も導入しておきます.

$ rake db:create
$ ruby script/plugin install http://rspec.rubyforge.org/svn/tags/CURRENT/rspec
$ ruby script/plugin install http://rspec.rubyforge.org/svn/tags/CURRENT/rspec_on_rails
$ ruby script/plugin install http://svn.coderepos.org/share/lang/ruby/selenium_rc_spec

RSpec の準備

$ ruby script/generate rspec

Article モデルの作成

まずは rspec_model を作成します.

$ ruby script/generate rspec_model Article \
  title:string \
  authors:string \
  year:datetime \
  journal:string \
  volume:integer \
  start_page:integer \
  end_page:integer
  ...
$ rake db:migrate
$ rake db:text:clone   # Spec 用データベースを生成

というわけで, 以後は

  1. Spec で振る舞いを記述
  2. テスト(赤)
  3. コードの実装
  4. テスト(緑)
  5. リファクタリング

の順に開発を行なっていきます.

振る舞いの記述

spec/model/article_spec.rb で Spec を記述します. 何も記述していないと,

require File.dirname(__FILE__) + '/../spec_helper'

describe Article do
  before(:each) do
    @article = Article.new
  end

  it "should be valid" do
    @article.should be_valid
  end
end

となっていると思いますので, これを修正します. 例えば「タイトルが空の場合は Article を記述できない」という Spec を記述するならば

require File.dirname(__FILE__) + '/../spec_helper'

describe Article," を生成するとき" do
  before(:each) do
    @title = 'タイトルの例'
    @authors = '著者の例'
    @year = '2004' # 年の例
    @journal = '雑誌の例'
    @volume = '雑誌の巻数の例'
    @start_page = '001' # start page の例
    @end_page = '020' # end page の例
  end

  it "は, title が空の場合 valid ではないこと" do
    @article = Article.new(
      :title => nil,
      :authors => @authors,
      :year=> @year,
      :journal => @journal,
      :volume => @volume,
      :start_page => @start_page,
      :end_page => @end_page)
    @article.should_not be_valid
  end
end

といった感じですかね. ちなみに, ファイルは UTF-8 で作成しておきます. あと, config/environment.rb の冒頭に $KCODE='u' を追加しておきます.

テスト(赤)

ここで spec でテストを行なうと,

$ rake spec
 ...
 1)
 'Article を生成するとき は, title が空の場合 valid ではないこと' FAILED
 expected valid? to return false, got true
 ./spec/models/article_spec.rb:23:

 Finished in 0.339274 seconds

 1 example, 1 failure
 rake aborted!

となって, app/model で実装していないので, テストは失敗します.

コードの実装

次に app/model/article.rb を実装します. 以下の様に.

class Article < ActiveRecord::Base

  validates_presence_of :title
end
テスト(緑)

そして spec を実行すると

$ rake spec
  ...
  .

  Finished in 0.339777 seconds

  1 example, 0 failures

となります. spec に記述した振舞い通りに model が動いていることが test された訳です.

最終的に

Article モデルはどうしたかったのか, と言えば,

  • title, authors, year は必須.
  • start_page と end_page は, start_page <= end_page とする.

でした.

そんな訳で, 書いた spec とモデルは以下の通り

require File.dirname(__FILE__) + '/../spec_helper'
require 'date'

describe Article," を生成するとき" do
  before(:each) do
    @title = 'タイトルの例'
    @authors = '著者の例'
    @year = Date.today
    @journal = '雑誌の例'
    @volume = '雑誌の巻数の例'
    @start_page = '001' # start page の例
    @end_page = '020' # end page の例
  end

  it "は, title が空の場合 valid ではないこと" do
    @article = Article.new(
      :title => nil,
      :authors => @authors,
      :year=> @year,
      :journal => @journal,
      :volume => @volume,
      :start_page => @start_page,
      :end_page => @end_page)
    @article.should_not be_valid
  end

  it "は, authors が空の場合 valid ではないこと" do
    @article = Article.new(
      :title => @title,
      :authors => nil,
      :year=> @year,
      :journal => @journal,
      :volume => @volume,
      :start_page => @start_page,
      :end_page => @end_page)
    @article.should_not be_valid
  end

  it "は, year が空の場合 valid ではないこと" do
    @article = Article.new(
      :title => @title,
      :authors => @authors,
      :year=> nil,
      :journal => @journal,
      :volume => @volume,
      :start_page => @start_page,
      :end_page => @end_page)
    @article.should_not be_valid
  end

  it "は, start_page < end_page でなければならないこと" do
    @article = Article.new(
      :title => @title,
      :authors => @authors,
      :year=> @year,
      :journal => @journal,
      :volume => @volume,
      :start_page => @end_page,
      :end_page => @start_page)
    @article.should_not be_valid
  end

end

で, これをテスト(緑)にしたモデルが

class Article < ActiveRecord::Base
  require 'date'

  validates_presence_of :title, :authors, :year

  protected
  def validate
    if start_page > end_page
      errors.add :start_page, "始めのページが最後のページより大きいよ?"
    end
  end
end

次は

  • fixtures を使って, spec をもっと簡潔に書く
  • controller, view も spec を使うよ

へ続きます. 多分.

_ HDD の I/O エラー

数日前にも書いたけれど, また出た. どうも同じ場所らしい.

$ cp /var/log/syslog* ~/tmp
$ cd ~/tmp
$ gzip -d syslog*.gz
$ grep sector syslog* | grep error

そうすると

hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, sector=65314034
end_request: I/O error, dev hda, sector 65314034
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, sector=65314034
end_request: I/O error, dev hda, sector 65314034
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, sector=65314034
end_request: I/O error, dev hda, sector 65314034
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, high=3, low=14982393, sector=65314034
end_request: I/O error, dev hda, sector 65314034
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, high=3, low=14982393, sector=65314034
end_request: I/O error, dev hda, sector 65314034
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, high=3, low=14982393, sector=65314034
end_request: I/O error, dev hda, sector 65314034
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, high=3, low=14982393, sector=65314034
end_request: I/O error, dev hda, sector 65314034
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, high=3, low=14982393, sector=65314034
end_request: I/O error, dev hda, sector 65314034
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=65314041, high=3, low=14982393, sector=65314034
end_request: I/O error, dev hda, sector 65314034

と全部同じ場所ですなぁ... ふーむ.

とりあえずバックアップとって, 明日 fsck.ext3 -c かけてみるかな.

_ kernel を 2.6.24 -> 2.6.26 へ

lenny に 2.6.26 が来た + VMware Workstation の 6.0.5 が出た(kernel 2.6.26 で問題無く build できる, らしい)ので, 使用している laptop の kernel を version up してみた.

先ず Debian パッケージで提供されている linux-image-2.6.26-1-686 を導入して, 使用できるかを試しておく. カスタムカーネルから boot できない時の保険のために, 公式パッケージのカーネルはいつでも install している. 無事 boot できて, 普通に動くようなら, そこから作業開始.

$ sudo apt-get install linux-tree-2.6.26
...
$ cd /usr/src
$ tar xf linux-source-2.6.26.tar.bz2
$ ln -s linux-source-2.6.26 linux
$ cd linux
$ patch -p1 < ../patches/tuxonice-3.0-rc7a-for-2.6.26.patch
$ patch -p1 < ../patches/pcc_acpi.patch_0.94
$ make oldconfig
...

横着に make oldconfig で Debian パッケージの config をコピーしている. 実際に config が欲しいだけなら, deb パッケージを適当に展開して, config-2.6.26-1-686 を取り出せば良い.

幾つか設定して, 設定後は以下.

/boot/config-2.6.26-1-686 2008-08-29 01:28:24.000000000 +0900
+++ /usr/src/linux/.config	2008-09-09 15:25:43.000000000 +0900
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.26
-# Thu Aug 28 10:32:31 2008
+# Linux kernel version: 2.6.26.deutzia
+# Tue Sep  9 15:25:43 2008
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -35,7 +35,7 @@
 # CONFIG_GENERIC_TIME_VSYSCALL is not set
 CONFIG_ARCH_HAS_CPU_RELAX=y
 CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
 # CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -46,12 +46,7 @@
 CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
 CONFIG_GENERIC_HARDIRQS=y
 CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
-CONFIG_X86_32_SMP=y
-CONFIG_X86_HT=y
 CONFIG_X86_BIOS_REBOOT=y
-CONFIG_X86_TRAMPOLINE=y
 CONFIG_KTIME_SCALAR=y
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

@@ -59,7 +54,7 @@
 # General setup
 #
 CONFIG_EXPERIMENTAL=y
-CONFIG_LOCK_KERNEL=y
+CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_LOCALVERSION=""
 # CONFIG_LOCALVERSION_AUTO is not set
@@ -82,7 +77,6 @@
 # CONFIG_CGROUP_DEBUG is not set
 CONFIG_CGROUP_NS=y
 CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
 CONFIG_GROUP_SCHED=y
 CONFIG_FAIR_GROUP_SCHED=y
@@ -93,7 +87,6 @@
 # CONFIG_RESOURCE_COUNTERS is not set
 CONFIG_SYSFS_DEPRECATED=y
 CONFIG_SYSFS_DEPRECATED_V2=y
-CONFIG_PROC_PID_CPUSET=y
 CONFIG_RELAY=y
 CONFIG_NAMESPACES=y
 CONFIG_UTS_NS=y
@@ -149,7 +142,6 @@
 CONFIG_MODVERSIONS=y
 # CONFIG_MODULE_SRCVERSION_ALL is not set
 CONFIG_KMOD=y
-CONFIG_STOP_MACHINE=y
 CONFIG_BLOCK=y
 CONFIG_LBD=y
 CONFIG_BLK_DEV_IO_TRACE=y
@@ -178,7 +170,7 @@
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
+# CONFIG_SMP is not set
 CONFIG_X86_PC=y
 # CONFIG_X86_ELAN is not set
 # CONFIG_X86_VOYAGER is not set
@@ -203,10 +195,10 @@
 # CONFIG_M586 is not set
 # CONFIG_M586TSC is not set
 # CONFIG_M586MMX is not set
-CONFIG_M686=y
+# CONFIG_M686 is not set
 # CONFIG_MPENTIUMII is not set
 # CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
+CONFIG_MPENTIUMM=y
 # CONFIG_MPENTIUM4 is not set
 # CONFIG_MK6 is not set
 # CONFIG_MK7 is not set
@@ -227,14 +219,14 @@
 # CONFIG_X86_GENERIC is not set
 CONFIG_X86_CPU=y
 CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=5
+CONFIG_X86_L1_CACHE_SHIFT=6
 CONFIG_X86_XADD=y
-CONFIG_X86_PPRO_FENCE=y
 CONFIG_X86_WP_WORKS_OK=y
 CONFIG_X86_INVLPG=y
 CONFIG_X86_BSWAP=y
 CONFIG_X86_POPAD_OK=y
 CONFIG_X86_GOOD_APIC=y
+CONFIG_X86_INTEL_USERCOPY=y
 CONFIG_X86_USE_PPRO_CHECKSUM=y
 CONFIG_X86_P6_NOP=y
 CONFIG_X86_TSC=y
@@ -245,12 +237,11 @@
 CONFIG_HPET_EMULATE_RTC=y
 CONFIG_DMI=y
 # CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=8
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
 CONFIG_PREEMPT_NONE=y
 # CONFIG_PREEMPT_VOLUNTARY is not set
 # CONFIG_PREEMPT is not set
+CONFIG_X86_UP_APIC=y
+CONFIG_X86_UP_IOAPIC=y
 CONFIG_X86_LOCAL_APIC=y
 CONFIG_X86_IO_APIC=y
 CONFIG_X86_MCE=y
@@ -291,7 +282,6 @@
 CONFIG_MTRR=y
 # CONFIG_X86_PAT is not set
 CONFIG_EFI=y
-# CONFIG_IRQBALANCE is not set
 CONFIG_SECCOMP=y
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
@@ -304,7 +294,6 @@
 CONFIG_PHYSICAL_START=0x100000
 # CONFIG_RELOCATABLE is not set
 CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_HOTPLUG_CPU=y
 # CONFIG_COMPAT_VDSO is not set
 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

@@ -313,12 +302,34 @@
 #
 CONFIG_PM=y
 # CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP_SMP=y
 CONFIG_PM_SLEEP=y
 CONFIG_SUSPEND=y
 CONFIG_SUSPEND_FREEZER=y
 CONFIG_HIBERNATION=y
 CONFIG_PM_STD_PARTITION=""
+CONFIG_TOI_CORE=y
+
+#
+# Image Storage (you need at least one allocator)
+#
+CONFIG_TOI_FILE=y
+CONFIG_TOI_SWAP=y
+
+#
+# General Options
+#
+CONFIG_TOI_DEFAULT_PRE_HIBERNATE=""
+CONFIG_TOI_DEFAULT_POST_HIBERNATE=""
+CONFIG_TOI_CRYPTO=y
+CONFIG_TOI_USERUI=y
+CONFIG_TOI_USERUI_DEFAULT_PATH="/usr/lib/tuxonice-userui/tuxoniceui_text"
+# CONFIG_TOI_KEEP_IMAGE is not set
+CONFIG_TOI_REPLACE_SWSUSP=y
+CONFIG_TOI_CHECKSUM=y
+CONFIG_TOI_DEFAULT_WAIT=25
+CONFIG_TOI_DEFAULT_EXTRA_PAGES_ALLOWANCE=500
+# CONFIG_TOI_PAGEFLAGS_TEST is not set
+CONFIG_TOI=y
 CONFIG_ACPI=y
 CONFIG_ACPI_SLEEP=y
 CONFIG_ACPI_PROCFS=y
@@ -333,10 +344,10 @@
 CONFIG_ACPI_DOCK=m
 CONFIG_ACPI_BAY=m
 CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_THERMAL=m
 CONFIG_ACPI_WMI=m
 CONFIG_ACPI_ASUS=m
+CONFIG_ACPI_PANASONIC=m
 CONFIG_ACPI_TOSHIBA=m
 # CONFIG_ACPI_CUSTOM_DSDT is not set
 CONFIG_ACPI_BLACKLIST_YEAR=0
@@ -347,14 +358,7 @@
 CONFIG_X86_PM_TIMER=y
 CONFIG_ACPI_CONTAINER=m
 CONFIG_ACPI_SBS=m
-CONFIG_X86_APM_BOOT=y
-CONFIG_APM=m
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-# CONFIG_APM_DO_ENABLE is not set
-# CONFIG_APM_CPU_IDLE is not set
-# CONFIG_APM_DISPLAY_BLANK is not set
-# CONFIG_APM_ALLOW_INTS is not set
-# CONFIG_APM_REAL_MODE_POWER_OFF is not set
+# CONFIG_APM is not set

 #
 # CPU Frequency scaling
@@ -898,6 +902,7 @@
 CONFIG_MKISS=m
 CONFIG_6PACK=m
 CONFIG_BPQETHER=m
+# CONFIG_DMASCC is not set
 CONFIG_SCC=m
 # CONFIG_SCC_DELAY is not set
 # CONFIG_SCC_TRXECHO is not set
@@ -1291,22 +1296,21 @@
 CONFIG_ENCLOSURE_SERVICES=m
 CONFIG_HP_ILO=m
 CONFIG_HAVE_IDE=y
-CONFIG_IDE=m
-CONFIG_BLK_DEV_IDE=m
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y

 #
 # Please see Documentation/ide/ide.txt for help/info on IDE drives
 #
 # CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_BLK_DEV_IDEDISK=m
+CONFIG_BLK_DEV_IDEDISK=y
 # CONFIG_IDEDISK_MULTI_MODE is not set
 CONFIG_BLK_DEV_IDECS=m
-CONFIG_BLK_DEV_DELKIN=m
-CONFIG_BLK_DEV_IDECD=m
-CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
-CONFIG_BLK_DEV_IDETAPE=m
-CONFIG_BLK_DEV_IDEFLOPPY=m
-# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_BLK_DEV_DELKIN is not set
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+CONFIG_BLK_DEV_IDESCSI=m
 # CONFIG_BLK_DEV_IDEACPI is not set
 # CONFIG_IDE_TASK_IOCTL is not set
 CONFIG_IDE_PROC_FS=y
@@ -1314,50 +1318,49 @@
 #
 # IDE chipset support/bugfixes
 #
-CONFIG_IDE_GENERIC=m
+# CONFIG_IDE_GENERIC is not set
 # CONFIG_BLK_DEV_PLATFORM is not set
-CONFIG_BLK_DEV_CMD640=m
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-CONFIG_BLK_DEV_IDEPNP=m
+# CONFIG_BLK_DEV_CMD640 is not set
+# CONFIG_BLK_DEV_IDEPNP is not set
 CONFIG_BLK_DEV_IDEDMA_SFF=y

 #
 # PCI IDE chipsets support
 #
 CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_PCIBUS_ORDER is not set
 # CONFIG_BLK_DEV_OFFBOARD is not set
 CONFIG_BLK_DEV_GENERIC=m
-CONFIG_BLK_DEV_OPTI621=m
-CONFIG_BLK_DEV_RZ1000=m
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_RZ1000 is not set
 CONFIG_BLK_DEV_IDEDMA_PCI=y
-CONFIG_BLK_DEV_AEC62XX=m
-CONFIG_BLK_DEV_ALI15X3=m
-CONFIG_BLK_DEV_AMD74XX=m
-CONFIG_BLK_DEV_ATIIXP=m
-CONFIG_BLK_DEV_CMD64X=m
-CONFIG_BLK_DEV_TRIFLEX=m
-CONFIG_BLK_DEV_CY82C693=m
-CONFIG_BLK_DEV_CS5520=m
-CONFIG_BLK_DEV_CS5530=m
-CONFIG_BLK_DEV_CS5535=m
-CONFIG_BLK_DEV_HPT34X=m
-# CONFIG_HPT34X_AUTODMA is not set
-CONFIG_BLK_DEV_HPT366=m
-CONFIG_BLK_DEV_JMICRON=m
-CONFIG_BLK_DEV_SC1200=m
-CONFIG_BLK_DEV_PIIX=m
-CONFIG_BLK_DEV_IT8213=m
-CONFIG_BLK_DEV_IT821X=m
-CONFIG_BLK_DEV_NS87415=m
-CONFIG_BLK_DEV_PDC202XX_OLD=m
-CONFIG_BLK_DEV_PDC202XX_NEW=m
-CONFIG_BLK_DEV_SVWKS=m
-CONFIG_BLK_DEV_SIIMAGE=m
-CONFIG_BLK_DEV_SIS5513=m
-CONFIG_BLK_DEV_SLC90E66=m
-CONFIG_BLK_DEV_TRM290=m
-CONFIG_BLK_DEV_VIA82CXXX=m
-CONFIG_BLK_DEV_TC86C001=m
+# CONFIG_BLK_DEV_AEC62XX is not set
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_ATIIXP is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_CS5535 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_JMICRON is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+CONFIG_BLK_DEV_PIIX=y
+# CONFIG_BLK_DEV_IT8213 is not set
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SIS5513 is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_BLK_DEV_TC86C001 is not set

 #
 # Other IDE chipsets support
@@ -1697,6 +1700,7 @@
 CONFIG_ENC28J60=m
 # CONFIG_ENC28J60_WRITEVERIFY is not set
 CONFIG_NET_VENDOR_RACAL=y
+# CONFIG_NI5010 is not set
 CONFIG_NI52=m
 CONFIG_NI65=m
 CONFIG_NET_TULIP=y
@@ -2080,6 +2084,7 @@
 #
 # ISDN feature submodules
 #
+# CONFIG_ISDN_DRV_LOOP is not set
 # CONFIG_ISDN_DIVERSION is not set

 #
@@ -2361,6 +2366,8 @@
 CONFIG_SX=m
 # CONFIG_RIO is not set
 CONFIG_STALDRV=y
+# CONFIG_STALLION is not set
+# CONFIG_ISTALLION is not set
 CONFIG_NOZOMI=m

 #
@@ -2456,6 +2463,7 @@
 CONFIG_I2C_AMD756=m
 CONFIG_I2C_AMD756_S4882=m
 CONFIG_I2C_AMD8111=m
+# CONFIG_I2C_ELEKTOR is not set
 CONFIG_I2C_I801=m
 CONFIG_I2C_I810=m
 CONFIG_I2C_PIIX4=m
@@ -3740,7 +3748,7 @@
 CONFIG_EXT2_FS_POSIX_ACL=y
 CONFIG_EXT2_FS_SECURITY=y
 # CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS=y
 CONFIG_EXT3_FS_XATTR=y
 CONFIG_EXT3_FS_POSIX_ACL=y
 CONFIG_EXT3_FS_SECURITY=y
@@ -3748,11 +3756,11 @@
 CONFIG_EXT4DEV_FS_XATTR=y
 CONFIG_EXT4DEV_FS_POSIX_ACL=y
 CONFIG_EXT4DEV_FS_SECURITY=y
-CONFIG_JBD=m
+CONFIG_JBD=y
 # CONFIG_JBD_DEBUG is not set
 CONFIG_JBD2=m
 # CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=m
+CONFIG_FS_MBCACHE=y
 CONFIG_REISERFS_FS=m
 # CONFIG_REISERFS_CHECK is not set
 # CONFIG_REISERFS_PROC_INFO is not set
@@ -4122,7 +4130,7 @@
 # Digest
 #
 CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD4=y
 CONFIG_CRYPTO_MD5=y
 CONFIG_CRYPTO_MICHAEL_MIC=m
 CONFIG_CRYPTO_SHA1=m
@@ -4159,6 +4167,7 @@
 #
 CONFIG_CRYPTO_DEFLATE=m
 CONFIG_CRYPTO_LZO=m
+CONFIG_CRYPTO_LZF=y
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=m
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m

その後で

$ fakeroot make-kpkg --revision=`date '+%y%m%d'`+01 \
    --append-to-version=.`cat /etc/hostname` kernel-image

なんてして build 開始. さてどうなるでしょう.

... install して, update-initramfs & update-grub したのち再起動をかけたら幸せになりました. 良い感じですね. background でイロイロ走らせることが多いので, preempt はサーバーで良い, のかなぁ. Timer は 250 のままで良いんだろうか


連絡先など
最近の日記
  • 2024/10/09
    • 1. Mastodon でのメール通知, というか Exim4 と Apparmor
  • 2024/06/19
    • 1. WSL2 での gpg-agent, ssh-agent
  • 2024/06/18
    • 1. WSL で Windows 側のフォントを利用する
  • 2024/06/17
    • 1. WSLとWindowsの時刻同期
  • 2024/06/12
    • 1. wsl2 で systemd
    • 2. wslg の設定
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|05|06|10|
Back to Top ▲