diff --git a/README.md b/README.md new file mode 100644 index 0000000..1bb7251 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# 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 소스를 참고하였습니다. +