動作確認準備着手

とりあえず、最新のツリーを取得して ARCH=arm で make してみます。

  • linux-next ツリーを取得
  • qemu arm なバイナリを作る

ええと、なんちゃら defconfig とかしなきゃ、なのかな。とりあえず qemu 方面から確認。qemu-system-arm は導入済みでした。で、以下。

$ qemu-system-arm -M ?
Supported machines are:
beagle               Beagle board (OMAP3530)
beaglexm             Beagle board XM (OMAP3630)
collie               Collie PDA (SA-1110)
nuri                 Samsung NURI board (Exynos4210)
smdkc210             Samsung SMDKC210 board (Exynos4210)
connex               Gumstix Connex (PXA255)
verdex               Gumstix Verdex (PXA270)
highbank             Calxeda Highbank (ECX-1000)
integratorcp         ARM Integrator/CP (ARM926EJ-S) (default)
mainstone            Mainstone II (PXA27x)
musicpal             Marvell 88w8618 / MusicPal (ARM926EJ-S)
n800                 Nokia N800 tablet aka. RX-34 (OMAP2420)
n810                 Nokia N810 tablet aka. RX-44 (OMAP2420)
n900                 Nokia N900 (OMAP3)
sx1                  Siemens SX1 (OMAP310) V2
sx1-v1               Siemens SX1 (OMAP310) V1
overo                Gumstix Overo board (OMAP3530)
cheetah              Palm Tungsten|E aka. Cheetah PDA (OMAP310)
realview-eb          ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore   ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8       ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9      ARM RealView Platform Baseboard Explore for Cortex-A9
akita                Akita PDA (PXA270)
spitz                Spitz PDA (PXA270)
borzoi               Borzoi PDA (PXA270)
terrier              Terrier PDA (PXA270)
lm3s811evb           Stellaris LM3S811EVB
lm3s6965evb          Stellaris LM3S6965EVB
tosa                 Tosa PDA (PXA255)
versatilepb          ARM Versatile/PB (ARM926EJ-S)
versatileab          ARM Versatile/AB (ARM926EJ-S)
vexpress-a9          ARM Versatile Express for Cortex-A9
vexpress-a15         ARM Versatile Express for Cortex-A15
z2                   Zipit Z2 (PXA27x)
$

vexpress-a9 とかでコンパイルしてみるか (を
とりあえずコンパイル手順とかは以下を参考に、ということで。

で、git clone が終わったので順に以下。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- vexpress_defconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
$

あ、ccache 忘れとった。

$ export CC='ccache gcc'
$ time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- all -j4

は別途、ということにて。

とは言え

バイナリができた後のことを、て -g 付けなきゃ、なのか。あと、initramfs 作らにゃいかんのですかね。とりあえず kmc 式で nfs なルートファイルシステムを作って云々、な準備をする方向にて。
以下、参考にしつつ、かな。

追記

-g は以下なカンジで追加。微妙ですが勘弁して下さひ。

KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
		   -fno-strict-aliasing -fno-common \
		   -Werror-implicit-function-declaration \
		   -Wno-format-security \
		   -fno-delete-null-pointer-checks -g

さらに

$ time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j4

でした (汗
とりあえず動いている模様。

$ time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j4 
  CHK     include/generated/uapi/linux/version.h
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/pnmtologo
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/bin2c
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/sortextable
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  DTC     arch/arm/boot/vexpress-v2p-ca5s.dtb
  DTC     arch/arm/boot/vexpress-v2p-ca9.dtb
  DTC     arch/arm/boot/vexpress-v2p-ca15-tc1.dtb
  DTC     arch/arm/boot/vexpress-v2p-ca15_a7.dtb
  DTC     arch/arm/boot/xenvm-4.2.dtb
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  Generating include/generated/mach-types.h