LoginSignup
1
1

More than 5 years have passed since last update.

NanoPi NEOで最新版カーネルをビルドして試す

Last updated at Posted at 2018-02-04

前回はSoCベンダーの提供するカーネルソース(v4.11.2)をビルドしました。
今回は、メインラインのカーネル(v4.15.1) をビルドしてみます。

カーネルのソースコードの取得

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable/
git checkout -b v4.15 v4.15.1

stableカーネルのリポジトリをcloneして、v4.15.1 をチェックアウトします。

ビルド

まずツールチェインを指定。

export ARCH=arm
export CROSS_COMPILE=/usr/local/4.9.3/bin/arm-cortexa9-linux-gnueabihf-

4.11のカーネルをビルドしたときの.config を持ってきます。

cp ../linux.4.11/.config .config
make menuconfig

ビルド

make -j10 zImage dtbs

openssl/bio.h が無いというエラーでビルドが止まったので、以下を追加インストール

sudo apt install libssl-dev

再度ビルドして今度は成功。

起動SDカードのbootパーティションの以下のファイルをさしかえます。
arch/arm/boot/zImage
arch/arm/boot/dts/sun8i-h3-nanopi-neo.dtb

カーネルモジュールは一切使わないようにコンフィグしたので、これだけでOK

起動した結果

無事に起動しました。

# cat /proc/version 
Linux version 4.15.1 (koba@instance-3) (gcc version 4.9.3 (ctng-1.21.0-229g-FA)) #1 SMP Sun Feb 4 04:18:45 UTC 2018
# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.15.1 (koba@instance-3) (gcc version 4.9.3 (ctng-1.21.0-229g-FA)) #1 SMP Sun Feb 4 04:18:45 UTC 2018
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: FriendlyARM NanoPi NEO
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 16 MiB at 0x5ec00000
[    0.000000] On node 0 totalpages: 131072
[    0.000000]   Normal zone: 1024 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 131072 pages, LIFO batch:31
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: Using PSCI v0.1 Function IDs from DT
[    0.000000] random: fast init done
[    0.000000] percpu: Embedded 16 pages/cpu @(ptrval) s33984 r8192 d23360 u65536
[    0.000000] pcpu-alloc: s33984 r8192 d23360 u65536 alloc=16*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait fsck.repair=yes panic=10 fbcon=map:0
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 486952K/524288K available (7168K kernel code, 436K rwdata, 1700K rodata, 1024K init, 274K bss, 20952K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (8160 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 437 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 275 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000007] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000018] Switching to timer-based delay loop, resolution 41ns
[    0.000184] Console: colour dummy device 80x30
[    0.000222] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000236] pid_max: default: 32768 minimum: 301
[    0.000368] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000380] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000998] CPU: Testing write buffer coherency: ok
[    0.001345] /cpus/cpu@0 missing clock-frequency property
[    0.001367] /cpus/cpu@1 missing clock-frequency property
[    0.001382] /cpus/cpu@2 missing clock-frequency property
[    0.001398] /cpus/cpu@3 missing clock-frequency property
[    0.001411] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.001731] Setting up static identity map for 0x40100000 - 0x40100060
[    0.001837] Hierarchical SRCU implementation.
[    0.002342] smp: Bringing up secondary CPUs ...
[    0.013025] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.023769] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.034476] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.034546] smp: Brought up 1 node, 4 CPUs
[    0.034566] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[    0.034572] CPU: All CPU(s) started in HYP mode.
[    0.034577] CPU: Virtualization extensions available.
[    0.035346] devtmpfs: initialized
[    0.038832] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.039032] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.039054] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.039813] pinctrl core: initialized pinctrl subsystem
[    0.040684] NET: Registered protocol family 16
[    0.042101] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.043032] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.043043] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.053928] SCSI subsystem initialized
[    0.054133] libata version 3.00 loaded.
[    0.054369] usbcore: registered new interface driver usbfs
[    0.054412] usbcore: registered new interface driver hub
[    0.054464] usbcore: registered new device driver usb
[    0.054607] pps_core: LinuxPPS API ver. 1 registered
[    0.054615] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.054634] PTP clock support registered
[    0.054802] Advanced Linux Sound Architecture Driver Initialized.
[    0.055766] clocksource: Switched to clocksource arch_sys_counter
[    0.055877] VFS: Disk quotas dquot_6.6.0
[    0.055941] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.062100] NET: Registered protocol family 2
[    0.062673] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.062728] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.062790] TCP: Hash tables configured (established 4096 bind 4096)
[    0.062892] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.062939] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.063159] NET: Registered protocol family 1
[    0.063502] RPC: Registered named UNIX socket transport module.
[    0.063511] RPC: Registered udp transport module.
[    0.063516] RPC: Registered tcp transport module.
[    0.063522] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.064110] Unpacking initramfs...
[    0.263497] Initramfs unpacking failed: junk in compressed archive
[    0.268503] Freeing initrd memory: 5120K
[    0.269877] Initialise system trusted keyrings
[    0.270173] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    0.275429] NFS: Registering the id_resolver key type
[    0.275465] Key type id_resolver registered
[    0.275472] Key type id_legacy registered
[    0.275488] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.275496] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    0.276328] fuse init (API version 7.26)
[    0.279897] Key type asymmetric registered
[    0.279911] Asymmetric key parser 'x509' registered
[    0.279986] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    0.279998] io scheduler noop registered
[    0.280004] io scheduler deadline registered
[    0.280148] io scheduler cfq registered (default)
[    0.280157] io scheduler mq-deadline registered
[    0.280163] io scheduler kyber registered
[    0.284116] sun8i-h3-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.285453] sun8i-h3-r-pinctrl 1f02c00.pinctrl: initialized sunXi PIO driver
[    0.327199] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.329365] console [ttyS0] disabled
[    0.349526] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 31, base_baud = 1500000) is a U6_16550A
[    1.027675] console [ttyS0] enabled
[    1.033237] libphy: Fixed MDIO Bus: probed
[    1.037382] CAN device driver interface
[    1.041598] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[    1.047398] dwmac-sun8i 1c30000.ethernet: No regulator found
[    1.053134] dwmac-sun8i 1c30000.ethernet: Current syscon value is not the default 148000 (expect 58000)
[    1.062541] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[    1.068206] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[    1.075419] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[    1.081082] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[    1.088315] dwmac-sun8i 1c30000.ethernet: COE Type 2
[    1.093273] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[    1.100150] libphy: stmmac: probed
[    1.104034] dwmac-sun8i 1c30000.ethernet: Found internal PHY node
[    1.110225] libphy: mdio_mux: probed
[    1.113813] dwmac-sun8i 1c30000.ethernet: Switch mux to internal PHY
[    1.120189] dwmac-sun8i 1c30000.ethernet: Powering internal PHY
[    1.129548] libphy: mdio_mux: probed
[    1.133374] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.139915] ehci-platform: EHCI generic platform driver
[    1.145357] ehci-platform 1c1d000.usb: EHCI Host Controller
[    1.150964] ehci-platform 1c1d000.usb: new USB bus registered, assigned bus number 1
[    1.159160] ehci-platform 1c1d000.usb: irq 24, io mem 0x01c1d000
[    1.185778] ehci-platform 1c1d000.usb: USB 2.0 started, EHCI 1.00
[    1.192598] hub 1-0:1.0: USB hub found
[    1.196427] hub 1-0:1.0: 1 port detected
[    1.200738] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.206953] ohci-platform: OHCI generic platform driver
[    1.212362] ohci-platform 1c1d400.usb: Generic Platform OHCI controller
[    1.219007] ohci-platform 1c1d400.usb: new USB bus registered, assigned bus number 2
[    1.226936] ohci-platform 1c1d400.usb: irq 25, io mem 0x01c1d400
[    1.300331] hub 2-0:1.0: USB hub found
[    1.304107] hub 2-0:1.0: 1 port detected
[    1.308537] usbcore: registered new interface driver usb-storage
[    1.314831] mousedev: PS/2 mouse device common for all mice
[    1.321001] sun6i-rtc 1f00000.rtc: rtc core: registered rtc-sun6i as rtc0
[    1.327799] sun6i-rtc 1f00000.rtc: RTC enabled
[    1.332362] i2c /dev entries driver
[    1.336307] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    1.344425] cpu cpu0: failed to get clock: -2
[    1.348815] cpufreq-dt: probe of cpufreq-dt failed with error -2
[    1.355807] sunxi-mmc 1c0f000.mmc: Got CD GPIO
[    1.415976] sunxi-mmc 1c0f000.mmc: base:0xddff5061 irq:23
[    1.422398] usbcore: registered new interface driver usbhid
[    1.428007] usbhid: USB HID core driver
[    1.432335] usbcore: registered new interface driver snd-usb-audio
[    1.439527] Initializing XFRM netlink socket
[    1.443813] NET: Registered protocol family 17
[    1.448293] can: controller area network core (rev 20170425 abi 9)
[    1.454533] NET: Registered protocol family 29
[    1.458986] can: raw protocol (rev 20170425)
[    1.463252] can: broadcast manager protocol (rev 20170425 t)
[    1.468922] can: netlink gateway (rev 20170425) max_hops=1
[    1.474694] Key type dns_resolver registered
[    1.479167] Registering SWP/SWPB emulation handler
[    1.484463] Loading compiled-in X.509 certificates
[    1.484543] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.488148] mmc0: new high speed SDHC card at address aaaa
[    1.488548] mmcblk0: mmc0:aaaa SL08G 7.40 GiB 
[    1.490376]  mmcblk0: p1 p2
[    1.514681] sun6i-rtc 1f00000.rtc: setting system clock to 1970-01-01 00:00:06 UTC (6)
[    1.522835] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.537720] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.544419] vcc3v0: disabling
[    1.547415] vcc5v0: disabling
[    1.550381] ALSA device list:
[    1.553343]   No soundcards found.
[    1.557205] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.565841] cfg80211: failed to load regulatory.db
[    1.567181] Freeing unused kernel memory: 1024K
[    1.575853] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    1.712889] dwmac-sun8i 1c30000.ethernet eth0: device MAC address 12:ad:e6:c7:40:49
[    1.721200] Generic PHY 0.1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0.1:01, irq=POLL)
[    1.732737] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[    1.740426] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
[    3.415198] usb 1-1: set resolution quirk: cval->res = 384
[  214.715840] random: crng init done
# 
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1