summaryrefslogtreecommitdiff
path: root/elements/bsp/stage2-linux.bst
blob: d73e2e0b14d8e0adf11b6eca475a3f4ff8bfb127 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# This kernel is for cross-bootstrapping only.

kind: manual

depends:
- gnu-toolchain/stage1-gcc.bst

sources:
- kind: git
  url: upstream:linux
  track: v4.11
  ref: a351e9b9fc24e982ec2f0e76379a49826036da12

variables:
  linux-target-arch: 'unsupported-arch'

environment:
  PATH: /tools/bin:/usr/bin:/bin:/usr/sbin:/sbin

arches:
  armv8l64:
    variables:
      linux-target-arch: arm64
      vmlinux: arch/arm64/boot/Image
      kernel-config: |
        CONFIG_MMU=y
        CONFIG_ARCH_MULTI_V7=y
        CONFIG_ARCH_VIRT=y
        CONFIG_SOC_DRA7XX=y
        CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
        CONFIG_ARCH_ALPINE=y
        CONFIG_ARM_THUMB=y
        CONFIG_VDSO=y
        CONFIG_CPU_IDLE=y
        CONFIG_ARM_CPUIDLE=y
        CONFIG_KERNEL_MODE_NEON=y
        
        CONFIG_SERIAL_AMBA_PL011=y
        CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
        
        CONFIG_RTC_CLASS=y
        CONFIG_RTC_HCTOSYS=y
        CONFIG_RTC_DRV_PL031=y
        
        CONFIG_NET_CORE=y
        CONFIG_VIRTIO_NET=y
        
        CONFIG_VIRTIO_BLK=y
        CONFIG_VIRTIO_PCI=y
        CONFIG_VIRTIO_MMIO=y
        
        CONFIG_ATA=y
        CONFIG_ATA_SFF=y
        CONFIG_ATA_BMDMA=y
        CONFIG_ATA_PIIX=y
        
        CONFIG_PATA_PLATFORM=y
        CONFIG_PATA_OF_PLATFORM=y
        CONFIG_ATA_GENERIC=y

config:
  configure-commands:
  - |
    cat > config <<"EOF"
    %{kernel-config}

    # CONFIG_EMBEDDED is not set
    CONFIG_EARLY_PRINTK=y
    CONFIG_BINFMT_ELF=y
    CONFIG_BINFMT_SCRIPT=y
    CONFIG_NO_HZ=y
    CONFIG_HIGH_RES_TIMERS=y

    CONFIG_BLK_DEV=y
    CONFIG_BLK_DEV_INITRD=y
    CONFIG_RD_GZIP=y

    CONFIG_BLK_DEV_LOOP=y
    CONFIG_EXT4_FS=y
    CONFIG_EXT4_USE_FOR_EXT2=y
    CONFIG_VFAT_FS=y
    CONFIG_FAT_DEFAULT_UTF8=y
    CONFIG_MISC_FILESYSTEMS=y
    CONFIG_SQUASHFS=y
    CONFIG_SQUASHFS_XATTR=y
    CONFIG_SQUASHFS_ZLIB=y
    CONFIG_DEVTMPFS=y
    CONFIG_DEVTMPFS_MOUNT=y
    CONFIG_TMPFS=y
    CONFIG_TMPFS_POSIX_ACL=y

    CONFIG_NET=y
    CONFIG_PACKET=y
    CONFIG_UNIX=y
    CONFIG_INET=y
    CONFIG_IPV6=y
    CONFIG_NETDEVICES=y
    #CONFIG_NET_CORE=y
    #CONFIG_NETCONSOLE=y
    CONFIG_ETHERNET=y
    EOF
  - touch config
  - make ARCH=%{linux-target-arch} allnoconfig KCONFIG_ALLCONFIG="config"
  build-commands:
  - make ARCH=%{linux-target-arch} CROSS_COMPILE=%{target-stage1}-
  install-commands:
  - mkdir -p %{install-root}/boot/
  - cp %{vmlinux} %{install-root}/boot/$(basename %{vmlinux})