cva6-sdk
cva6-sdk copied to clipboard
Booting Linux on Openpiton Ariane
Hello, I am trying to boot Linux on an Openpiton system with 1 core + only 128MB of RAM. I use the openpiton branch which has the bbl.bin. This one copies the device tree from bootROM, which is configured to have only 128MB of RAM.
So booting starts, but after a while I get:
[ 14.527671] piton_sd:v1.0 Apr 26, 2019
[ 14.527671]
[ 16.914508] swapper/0: page allocation failure: order:0, mode:0x4dc0(GFP_KERNEL|__GFP_RETRY_MAYFAIL|__GFP_ZERO), nodemask=(null)
[ 16.926844] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.1.0-rc7 #2
[ 16.933015] Call Trace:
[ 16.935603] [<ffffffe000693fd0>] walk_stackframe+0x0/0xa0
[ 16.941027] [<ffffffe0006941cc>] show_stack+0x2a/0x34
[ 16.946186] [<ffffffe000a1a2fa>] dump_stack+0x62/0x7c
[ 16.951293] [<ffffffe0006f95d0>] warn_alloc+0x9a/0x10c
[ 16.956467] [<ffffffe0006f9ea8>] __alloc_pages_nodemask+0x7f8/0x8da
[ 16.962746] [<ffffffe0006f9f9c>] __get_free_pages+0x12/0x50
[ 16.968487] [<ffffffe000711020>] __pte_alloc_kernel+0x1a/0x8c
[ 16.974370] [<ffffffe000a1e3a8>] ioremap_page_range+0x1a4/0x1dc
[ 16.980360] [<ffffffe000695bfe>] ioremap+0x5a/0x7a
[ 16.985221] [<ffffffe00089e82a>] piton_sd_init+0xb2/0x254
[ 16.990747] [<ffffffe000691fa0>] do_one_initcall+0x48/0x128
[ 16.996373] [<ffffffe000000b56>] kernel_init_freeable+0x12e/0x1c6
[ 17.002474] [<ffffffe000a2d8a6>] kernel_init+0x12/0xf0
[ 17.007683] [<ffffffe000692f74>] ret_from_exception+0x0/0xc
[ 17.014415] Mem-Info:
[ 17.016978] active_anon:447 inactive_anon:3243 isolated_anon:0
[ 17.016978] active_file:0 inactive_file:0 isolated_file:0
[ 17.016978] unevictable:0 dirty:0 writeback:0 unstable:0
[ 17.016978] slab_reclaimable:99 slab_unreclaimable:695
[ 17.016978] mapped:0 shmem:3699 pagetables:0 bounce:0
[ 17.016978] free:220 free_pcp:0 free_cma:0
[ 17.048808] Node 0 active_anon:1788kB inactive_anon:12972kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:0kB dirty:0kB writeback:0kB shmes
[ 17.071761] DMA32 free:880kB min:880kB low:1100kB high:1320kB active_anon:1788kB inactive_anon:12972kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:129024kB B
[ 17.098416] lowmem_reserve[]: 0 0 0
[ 17.102176] DMA32: 0*4kB 0*8kB 1*16kB (U) 1*32kB (U) 1*64kB (U) 0*128kB 1*256kB (U) 1*512kB (U) 0*1024kB 0*2048kB 0*4096kB = 880kB
[ 17.114706] 3699 total pagecache pages
[ 17.118448] 0 pages in swap cache
[ 17.122002] Swap cache stats: add 0, delete 0, find 0/0
[ 17.127180] Free swap = 0kB
[ 17.130288] Total swap = 0kB
[ 17.133155] 32256 pages RAM
[ 17.135902] 0 pages HighMem/MovableOnly
[ 17.139980] 20127 pages reserved
[ 20.081576] ioremap returned NULL
[ 20.085226] swapper/0 invoked oom-killer: gfp_mask=0xcc0(GFP_KERNEL), order=0, oom_score_adj=0
[ 20.098057] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.1.0-rc7 #2
[ 20.104209] Call Trace:
[ 20.106807] [<ffffffe000693fd0>] walk_stackframe+0x0/0xa0
[ 20.112252] [<ffffffe0006941cc>] show_stack+0x2a/0x34
[ 20.117413] [<ffffffe000a1a2fa>] dump_stack+0x62/0x7c
[ 20.122672] [<ffffffe0006f608a>] dump_header+0x54/0x1f6
[ 20.127967] [<ffffffe0006f5f98>] out_of_memory+0x2ac/0x2f0
[ 20.133499] [<ffffffe0006f9c2a>] __alloc_pages_nodemask+0x57a/0x8da
[ 20.139917] [<ffffffe0007273c8>] new_slab+0x2c4/0x2e6
[ 20.145076] [<ffffffe000728e8a>] ___slab_alloc.constprop.35+0x1b2/0x250
[ 20.151735] [<ffffffe000729250>] kmem_cache_alloc+0x94/0xf8
[ 20.157391] [<ffffffe000891a82>] bus_add_driver+0x44/0x194
[ 20.162946] [<ffffffe000892db6>] driver_register+0x3a/0xd0
[ 20.168650] [<ffffffe00086fa82>] register_virtio_driver+0x1c/0x2a
[ 20.174928] [<ffffffe00000fb12>] init+0x5a/0x96
[ 20.179619] [<ffffffe000691fa0>] do_one_initcall+0x48/0x128
[ 20.185254] [<ffffffe000000b56>] kernel_init_freeable+0x12e/0x1c6
[ 20.191363] [<ffffffe000a2d8a6>] kernel_init+0x12/0xf0
[ 20.196572] [<ffffffe000692f74>] ret_from_exception+0x0/0xc
[ 20.203392] Mem-Info:
[ 20.205971] active_anon:447 inactive_anon:3243 isolated_anon:0
[ 20.205971] active_file:0 inactive_file:0 isolated_file:0
[ 20.205971] unevictable:0 dirty:0 writeback:0 unstable:0
[ 20.205971] slab_reclaimable:99 slab_unreclaimable:695
[ 20.205971] mapped:0 shmem:3699 pagetables:0 bounce:0
[ 20.205971] free:220 free_pcp:0 free_cma:0
[ 20.237827] Node 0 active_anon:1788kB inactive_anon:12972kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:0kB dirty:0kB writeback:0kB shmes
[ 20.260664] DMA32 free:880kB min:880kB low:1100kB high:1320kB active_anon:1788kB inactive_anon:12972kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:129024kB B
[ 20.287340] lowmem_reserve[]: 0 0 0
[ 20.291168] DMA32: 0*4kB 0*8kB 1*16kB (U) 1*32kB (U) 1*64kB (U) 0*128kB 1*256kB (U) 1*512kB (U) 0*1024kB 0*2048kB 0*4096kB = 880kB
[ 20.303700] 3699 total pagecache pages
[ 20.307444] 0 pages in swap cache
[ 20.311006] Swap cache stats: add 0, delete 0, find 0/0
[ 20.316199] Free swap = 0kB
[ 20.319308] Total swap = 0kB
[ 20.322174] 32256 pages RAM
[ 20.324924] 0 pages HighMem/MovableOnly
[ 20.328994] 20127 pages reserved
[ 20.332201] Tasks state (memory values in pages):
[ 20.336870] [ pid ] uid tgid total_vm rss pgtables_bytes swapents oom_score_adj name
[ 20.345808] Out of memory and no killable processes...
[ 20.351264] Kernel panic - not syncing: System is deadlocked on memory
[ 20.357865] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.1.0-rc7 #2
[ 20.363996] Call Trace:
[ 20.366567] [<ffffffe000693fd0>] walk_stackframe+0x0/0xa0
[ 20.372004] [<ffffffe0006941cc>] show_stack+0x2a/0x34
[ 20.377150] [<ffffffe000a1a2fa>] dump_stack+0x62/0x7c
[ 20.382309] [<ffffffe000698472>] panic+0xe8/0x226
[ 20.387170] [<ffffffe0006f5fbc>] out_of_memory+0x2d0/0x2f0
[ 20.392711] [<ffffffe0006f9c2a>] __alloc_pages_nodemask+0x57a/0x8da
[ 20.399107] [<ffffffe0007273c8>] new_slab+0x2c4/0x2e6
[ 20.404245] [<ffffffe000728e8a>] ___slab_alloc.constprop.35+0x1b2/0x250
[ 20.410899] [<ffffffe000729250>] kmem_cache_alloc+0x94/0xf8
[ 20.416552] [<ffffffe000891a82>] bus_add_driver+0x44/0x194
[ 20.422106] [<ffffffe000892db6>] driver_register+0x3a/0xd0
[ 20.427774] [<ffffffe00086fa82>] register_virtio_driver+0x1c/0x2a
[ 20.434024] [<ffffffe00000fb12>] init+0x5a/0x96
[ 20.438691] [<ffffffe000691fa0>] do_one_initcall+0x48/0x128
[ 20.444328] [<ffffffe000000b56>] kernel_init_freeable+0x12e/0x1c6
[ 20.450449] [<ffffffe000a2d8a6>] kernel_init+0x12/0xf0
[ 20.455658] [<ffffffe000692f74>] ret_from_exception+0x0/0xc
[ 20.461364] ---[ end Kernel panic - not syncing: System is deadlocked on memory ]---
I have found that maybe changing the min_free_kbytes
, would fix this issue, as the problem is that there is not enough space in RAM for allocation.
How can I config this variable?