본문 바로가기

개발 및 운영116

Intel AMT 개발 Summary 유용한 자료 intel-amt-proxy OsAdmin 계정으로 자동 로그인하여 http payload 를 전송하는 proxy server. 개발 PC에서 원격 타깃 PC에 OsAdmin 으로 연결 하는 용도로 사용중이며, MeshCommander 랑 연결해서도 사용할 수 있습니다. https://github.com/jclab-joseph/intel-amt-proxy java-mof-converter Intel AMT SDK 에 각종 IPS/AMT Class 들이 mof 규격으로 만들어져 있는데 이를 Java Class&Interface 로 변환해줍니다. 기본적으로 Jaxb 기반으로 만들어져 있어 apache-cxf 등과 함께 사용 가능합니다. https://github.com/jclab-joseph/m.. 2024. 2. 3.
[golang] CGO Callback 으로 객체 넘길 때 GC 문제 golang 의 장점이 GC 이지만, Windows API 등을 사용하며 Callback 을 사용해야 할 때 참 골치아픈 것이 GC 문제이다. https://groups.google.com/g/golang-nuts/c/yNis7bQG_rY/m/yaJFoSx1hgIJ 위와 같은 논의들도 많고.. package main /* #include #include #include #include extern void goNativeDone(void*); __attribute__((weak)) void* thread_func(void* p) { for (int i=0; i 2023. 12. 11.
pre-decompress linux kernel 디버깅 일반적으로 리눅스 커널을 디버깅 할 때 vmlinux 파일을 사용한다. 그런데 이건 decompressed 상태일 때라 pre-decompress 상태를 디버깅 할 수는 없다. decompress 과정이나 efi_stub 을 디버깅 하기 위해서 arch/x86/boot/compressed/Makefile 을 수정하여 compressed vmlinux 를 디버깅 가능하게 빌드해야 한다. 위와 같이 Makefile 파일 수정 후 bzImage 을 다시 빌드하면 arch/x86/boot/compressed/vmlinux 파일이 디버그 심볼이 포함된 elf 로 빌드된다. 이 파일을 gdb 에서 로드해 사용할 수 있다. text section 주소 찾기. $ objdump -h arch/x86/boot/compr.. 2023. 11. 30.
rook-ceph external cluster 사용 시 rook-ceph-mgr-external 생성 실패시 환경: - rook-ceph (rook v1.10.3) - external cluster 로 ceph 연동 이런 상황에서 아래와 같은 오류가 발생한다면 op-mon: failed to check mon health. failed to configure external metrics endpoint: failed to create or update mgr endpoint: failed to create endpoint "rook-ceph-mgr-external". Endpoints "rook-ceph-mgr-external" is invalid: subsets\[0\].ports\[0\].port: Invalid value: 0: must be between 1 and 65535, inclusive Cep.. 2023. 11. 22.
UEFI development with Go-lang tinygo 는 golang 으로 MCU 등 baremetal 펌웨어 개발을 가능하게 만들었습니다. 이런 가능성을 보고 UEFI Application 도 Go 로 만들 수 있지 않을까? 생각이 들어서 구현해봤습니다. 개발 브랜치 : https://github.com/jclab-joseph/tinygo/tree/feat/uefi WIP 중인 PR : https://github.com/tinygo-org/tinygo/pull/3996 기존의 EFI 개발에는 edk2 라는 프레임워크가 있지만 사용하기가 복잡하고 다양한 라이브러리를 효과적으로 사용하기에는 어려움이 있습니다. 한 예로 얼마 전에 HttpDxe 대신 curl 을 구현하려고 했는데 LibC 종속성을 추가하면 OpenSsl 이 빌드가 안되는 등.. 문.. 2023. 11. 14.
kubernetes sysctl bridge 설정 외에 추가적으로 해줄 것 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 fs.file-max = 131072 fs.file-max 가 나는 기본이 65536 이었는데 동작 중 "Too many open files" 이 발생할 때가 있었다. 때문에 이를 높일 필요가 있었다. 2023. 5. 24.
반응형