Quick start guide 링크 :
http://www.chromium.org/chromium-os/quick-start-guide
Full 버전 링크 :
http://www.chromium.org/chromium-os/developer-guide#TOC-Building-Chromium-OS
x86 경우, Legacy BIOS 와 EFI BIOS에 따라 부팅 스텝이 다르다.
http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format
EFI BIOS : /boot/efi/boot
Legacy BIOS : /boot/syslinux
우선 ChromiumOS를 구동하려는 PC는 Intel Q6600, ATI graphic card, Legacy BIOS Mainboard, HDD가 2개 연결되어 있다.
HDD 2개가 연결되어 있어, USB Memory stick으로 구동하기 위해 추가 작업이 필요한데...
chromiumOS 소스는 stabilize.5978.51.B 테그로 받고 빌드를 진행했다.
$ repo init -u https://chromium.googlesource.com/chromiumos/manifest.git -b stabilize.5978.51.B
$ export BOARD=amd64-generic
$ ./setup_board --board=${BOARD}
$ ./build_packages --board=${BOARD}
$ ./build_image --board=${BOARD} --noenable_rootfs_verification dev
$ cros flash usb:// ${BOARD}/latest
첫 빌드한 이미지를 USB disk에 넣고 부팅한 결과는 mount_root에서 panic. (어느 파티션을 root라고 설정 했길래...-_-;)
기왕 시작한거 디버깅 로그도 봐야 하니, 시리얼 케이블(널모뎀 케이블)을 구매. 메인보드에서 잠자고 있는 시리얼 포트를 깨웠다.
(메인보드 백패널로 시리얼 포트가 더이상 나와 있지 않으니, 이제 슬롯쪽으로 포트를 뽑아야 쓸수 있다.)
Default root partition이 /dev/sdb3 으로 되어 있는 것을 확인
(일반적으로 HDD 1개만 연결하였다면, USB disk를 sdb로 인식해서 mount에 문제없었을 것이다.)
$ ./build_image --board=${BOARD} --noenable_rootfs_verification dev --boot_args="noinitrd console=ttyS0,115200n8" --usb_disk="/dev/sdc3" --enable_serial="console=ttyS0,115200n8"
이제 문제 없겠지 생각했지만 여전히 panic.
/boot/syslinux/usb.A.cfg 에는 root=/dev/sdb3로 남아있다. OTL
label chromeos-usb.A
menu label chromeos-usb.A
kernel vmlinuz.A
append console=tty2 init=/sbin/init boot=local rootwait ro noresume noswap loglevel=7 noinitrd console=ttyS0,115200n8 root=/dev/sdb3 i915.modeset=1 cros_legacy cros_debug
결국, 아래 파일에 --usb_disk 옵션을 넘겨주는 부분이 빠진것을 추가하고 난 후에 syslinux 설정이 root=/dev/sdc3로 바뀌었다.
=> mount_root 문제는 해결.
~/trunk/src/scripts/build_library/base_image_util.sh
${BUILD_LIBRARY_DIR}/create_legacy_bootloader_templates.sh \
--arch=${ARCH} \
--to="${root_fs_dir}"/boot \
--boot_args="${FLAGS_boot_args}" \
--usb_disk="${FLAGS_usb_disk}" \
${enable_rootfs_verification} \
${enable_bootcache}
Developer Console login까지 진입하였다.
ATI graphic card driver 부분에 대한 추가작업이 필요한지, X server는 에러를 토해내고 동작하지 않는다.
퇴근 후, 집에서 짜투리 시간이 있을때 작업을 한거라, 여기까지 진행하는데 거의 한달이 걸렸다. OTL
ChromiumOS 로그인 창을 볼수 있을까?