# Compact & Adjustable Linux kernel in arch linux for X10SLL-F and Haswell E3 system ## linux-spica kernel Overview linux-spica커널은 유저영역의 변경이 커널에 직접적으로 영향을 미치지 않게하며 불필요한 기능은 모두 제거한 커널입니다. 커널설정은 다음과 같은 원칙으로 구성되어있습니다. 1. init process 실행전까지 모든 커널요소가 활성화된다 - 모듈기능을 제거하였습니다(파일시스템 손상, 유저영역의 잘못된동작(e.g. rm -rf 라던지)으로 인한 부팅과정 손상이 보호됩니다) - 하나의 커널파일과 init.d(없어도 하드웨어의 인식에는 무리가 없음) 만이 부팅에 이용됩니다. 2. 시스템의 모든 구성을 파악하여 해당 코드만로드 - 모든 커널의 소스트리에 필요한 기능만이 로드됩니다. 3. 바닐라 코드버전을 따라감 - 거의 실시간으로 [바닐라 코드버전](https://www.kernel.org/)의 main-line버전을 따라갑니다 4. 하드웨어 이슈, 특정 버전의 오류, 퍼포먼스를 위해 커스텀패치가 쉽게함 - BFQ패치, GCC컴파일 옵션패치등 안정적으로 적용할만한 패치를 적용, 테스트하기 쉽게 만들었습니다. - 특정버전에서의 bug, 특정 하드웨어의 errata 등을 관련 메일링을 참조하여 패치가 쉽게함 5. 서버에서 이용하지 않는 레거시 지원은 모두 제거함 - LDT, 오래된-elf 형식, vsyscall등 오래된 바이너리, 레거시 지원에 대한 코드를 삭제하도록 설정하였습니다. ## linux-spica-e3-1230v3 적용 부품 - CPU : intel xeon e3-1230v3 - Memory : samsung unbuffered ddr3 4GB x 8 - MotherBoard: Supermicro(R) X10SLL-F ## 테스트된 부트로더 1. systemd-boot(권장) - 모든 커널요소 초기화가 EFI파티션에서 완결됩니다. - linux cmdline 설정이 간편합니다. - intel-ucode 적용이 쉽습니다. - 문제 발생시 배포판 기본 커널로 부팅이 가능합니다. 2. grub - 대부분의 장점을 systemd-boot 과 공유합니다. - grub 의존성때문에 루트파티션 문제시 부팅과정에 문제가 생길 수 있습니다. 2. EFI-stub - ELF-stub이 적용되어 UEFI에서 직접로딩 할 수 있습니다. - linux cmdline 설정을 바이오스 내부에 설정해야만 합니다(efibootmgr 또는 uefi shell 이용) - intel-ucode를 커널 컴파일시 내장해야됩니다. ## 참고 - aur 리포지토리의 linux-git 소스를 참고하였습니다.