平衡点
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 用データベースを生成
というわけで, 以後は
- Spec で振る舞いを記述
- テスト(赤)
- コードの実装
- テスト(緑)
- リファクタリング
の順に開発を行なっていきます.
振る舞いの記述
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 してみた.
- 使用したソースの version
- linux-tree-2.6.26: 2.6.26-4
- tuxonice: tuxonice-3.0-rc7a-for-2.6.26.patch
- pcc_acpi: <URL:http://marc.info/?l=linux-acpi&m=121514342014994&w=2:title> に投稿された kernel patch. pcc_acpi.patch_0.94 としておく.
- patch は /usr/src/patches に置いておく.
先ず 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 を取り出せば良い.
幾つか設定して, 設定後は以下.
+++ /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 のままで良いんだろうか