mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	The pause image is a 240KB image that simply pauses waiting on a signal. Use this for the net container which only needs to act as a placeholder. Current net image is ~2.5MB. From my tests, this reduces startup time for the net container from ~14s to ~6s.
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
; This is heavily based on https://github.com/tianon/dockerfiles/tree/master/true
 | 
						|
; which is in turn especially thanks to:
 | 
						|
; http://blog.markloiseau.com/2012/05/tiny-64-bit-elf-executables/
 | 
						|
 | 
						|
BITS 64
 | 
						|
	org	0x00400000	; Program load offset
 | 
						|
 | 
						|
; 64-bit ELF header
 | 
						|
ehdr:
 | 
						|
	;  1), 0 (ABI ver.)
 | 
						|
	db 0x7F, "ELF", 2, 1, 1, 0       ; e_ident
 | 
						|
	times 8 db 0                     ; reserved (zeroes)
 | 
						|
 | 
						|
	dw 2              ; e_type:	Executable file
 | 
						|
	dw 0x3e           ; e_machine:	AMD64
 | 
						|
	dd 1              ; e_version:	current version
 | 
						|
	dq _start         ; e_entry:	program entry address (0x78)
 | 
						|
	dq phdr - $$      ; e_phoff	program header offset (0x40)
 | 
						|
	dq 0              ; e_shoff	no section headers
 | 
						|
	dd 0              ; e_flags	no flags
 | 
						|
	dw ehdrsize       ; e_ehsize:	ELF header size (0x40)
 | 
						|
	dw phdrsize       ; e_phentsize:	program header size (0x38)
 | 
						|
	dw 1              ; e_phnum:	one program header
 | 
						|
	dw 0              ; e_shentsize
 | 
						|
	dw 0              ; e_shnum
 | 
						|
	dw 0              ; e_shstrndx
 | 
						|
 | 
						|
ehdrsize equ $ - ehdr
 | 
						|
 | 
						|
; 64-bit ELF program header
 | 
						|
phdr:
 | 
						|
	dd 1              ; p_type:	loadable segment
 | 
						|
	dd 5              ; p_flags	read and execute
 | 
						|
	dq 0              ; p_offset
 | 
						|
	dq $$             ; p_vaddr:	start of the current section
 | 
						|
	dq $$             ; p_paddr:	"		"
 | 
						|
	dq filesize       ; p_filesz
 | 
						|
	dq filesize       ; p_memsz
 | 
						|
	dq 0x200000       ; p_align:	2^11=200000 = section alignment
 | 
						|
 | 
						|
; program header size
 | 
						|
phdrsize equ $ - phdr
 | 
						|
 | 
						|
_start:
 | 
						|
	; pause()
 | 
						|
 | 
						|
	mov	al, 34	; pause syscall number
 | 
						|
	syscall
 | 
						|
 | 
						|
	; sys_exit(return_code)
 | 
						|
 | 
						|
	mov	al, 60	; sys_exit syscall number
 | 
						|
	cdq		; Sign-extend eax into edi to return 0 (success)
 | 
						|
	syscall
 | 
						|
 | 
						|
; File size calculation
 | 
						|
filesize equ $ - $$
 |