gopkg.in/hugelgupf/u-root.v2@v2.0.0-20180831055005-3f8fdb0ce09d/integration/testdata/CONFIG (about) 1 # # Minimal Go-Capable Linux Kernel 2 # 3 # Build Setup: 4 # 5 # - Build machine: Ubuntu 16.04 LTS 6 # - Linux repo: github.com/torvalds/linux, v4.17 tag 7 # - Go version: go version go1.10.3 linux/amd64 8 # 9 # Minimal kernel config needed for Go and serial port: 10 11 CONFIG_64BIT=y 12 CONFIG_BINFMT_ELF=y 13 CONFIG_BLK_DEV_INITRD=y 14 CONFIG_DEVTMPFS=y 15 CONFIG_EARLY_PRINTK=y 16 CONFIG_EPOLL=y 17 CONFIG_FUTEX=y 18 CONFIG_PRINTK=y 19 CONFIG_PROC_FS=y 20 CONFIG_SERIAL_8250=y 21 CONFIG_SERIAL_8250_CONSOLE=y 22 CONFIG_TTY=y 23 24 # Add /dev/port for io command: 25 26 CONFIG_PCI=y 27 CONFIG_DEVPORT=y 28 29 # Add vfat filesystem: 30 31 CONFIG_BLOCK=y 32 CONFIG_ATA=y 33 CONFIG_SATA_AHCI=y 34 CONFIG_BLK_DEV_SD=y 35 CONFIG_MSDOS_FS=y 36 CONFIG_VFAT_FS=y 37 CONFIG_FAT_DEFAULT_CODEPAGE=437 38 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 39 CONFIG_NLS=y 40 CONFIG_NLS_CODEPAGE_437=y 41 CONFIG_NLS_ISO8859_1=y 42 43 # For the kernel doing the kexec'ing: 44 45 CONFIG_CRYPTO=y 46 CONFIG_KEXEC=y 47 CONFIG_KEXEC_FILE=y 48 49 # For the kernel being kexec'ed: 50 51 CONFIG_RELOCATABLE=y 52 53 # Build Linux: 54 # 55 # 1. Run `make mrproper`. 56 # 2. Run `make tinyconfig`. 57 # 3. Append this file to `.config`. 58 # 4. Run `make menuconfig`. Exit and save. 59 # 5. make -j$(($(nproc) * 2 + 1)) 60 # 61 # Build u-root: 62 # 63 # 1. `go get github.com/u-root/u-root` 64 # 2. `u-root -format=cpio -build=bb` 65 # 66 # Test: 67 # 68 # 1. `qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -initrd /tmp/initramfs.linux_amd64.cpio -nographic -append 'earlyprintk=ttyS0 console=ttyS0'` 69 # 2. Exit with CTRL-A + X