Запуск w4linux

Опубликовано Sergey Worm - вт, 06/05/2018 - 18:00

w4linux — внешний (external) проект WrmOS, содержащий паравиртуализированное ядро Linux и пользовательское окружение Busybox. Данный проект позволяет совмещать real-time часть проекта (например Machine Control) и всё богатство програмного обеспечения, предоставляемое Linux'ом  (например драйверы, веб-сервисы, телекоммуникационные протоколы и т.д.). Эта статья описывает как собрать и запустить проект w4linux.

Содержание
1. Сборка и запуск w4linux

1. Сборка и запуск w4linux [наверх]


Шаг 1.1. Получить кроссплатформенный тулчейн

Подробную информацию смотрите в статье Как получить тулчейн.

Шаг 1.2. Получить исходники WrmOS

Клонировать репозиторий из github:

git clone https://github.com/wrmlab/wrmos.git

или загрузить zip архив.

Шаг 1.3. Получить исходники w4linux

Клонировать репозиторий из github:

git clone https://github.com/wrmlab/w4linux.git

или загрузить zip архив.

Шаг 1.4. Собрать проект w4linux

Запустить сборку проекта w4linux для архитектуры SPARC и платформы LEON3 (это может занять несколько минут):

cd w4linux
make build P=cfg/prj/linux-qemu-leon3.prj W=../wrmos B=../build/linux-qemu-leon3 -j

В результате мы получим образ загрузчика с файловой системой, содержащей исполняемый файл приложения linux.elf:

ls ../build/linux-qemu-leon3/ldr/bootloader.elf

Шаг 1.5. Запустить w4linux на виртуальной машине QEMU

qemu-system-sparc -M leon3_generic -display none -serial stdio \
                  -kernel ../build/linux-qemu-leon3/ldr/bootloader.elf

В результате мы увидим следующий вывод:

[ldr]   _    _ ___ __  __   ___  ___ 
[ldr]  | |  | | _ \  \/  | / _ \/ __|
[ldr]  | |/\| |   / |\/| || (_) \__ \
[ldr]  |__/\__|_|_\_|  |_(_)___/|___/
[ldr]          From Russia with love!
[ldr]
[ldr]  cpu #0/1 ready, sp=0x4069c4c8.
[ldr]
[ldr]  hello:   13:57:16  Jun  5 2018.
[ldr]  gccver:  7.3.0.
[ldr]  hware:   sparc, leon3, qemu, qemu_leon3.
[ldr]  ram:     [0x40000000 - 0x48000000)     128 MB.
[ldr]  ramfs:   [0x40292000 - 0x40690000)    4088 KB.
[ldr]  ##  name                    data      size  content
[ldr]   1  kernel.elf        0x40293000    373468  'ELF ...'
[ldr]   2  sigma0.elf        0x402ee2dc     43180  'ELF ...'
[ldr]   3  roottask.elf      0x402f8b88    153140  'ELF ...'
[ldr]   4  config.alph       0x4031e1bc      1475  '# config ...'
[ldr]   5  uart.elf          0x4031f000     83944  'ELF ...'
[ldr]   6  console.elf       0x40334000    116444  'ELF ...'
[ldr]   7  linux.elf         0x40351000   3396528  'ELF ...'
[ldr]
[ldr]  elf:  foreach:  elf=0x40293000, sz=0x5b2dc.
[ldr]    app=kernel, va=0x40000000, pa=0x40000000, sz=0x00001000, load=1.
[ldr]    app=kernel, va=0xf0020000, pa=0x40020000, sz=0x00201000, load=1.
[ldr]    app=kernel, va=0x00000000, pa=0x00000000, sz=0x00000000, load=0.
[ldr]  elf:  foreach:  elf=0x402ee2dc, sz=0xa8ac.
[ldr]    app=sigma0, addr=0x00000000, sz=0x00000000, acc=0, progbits=0, name=.
[ldr]    app=sigma0, addr=0x40221000, sz=0x00006000, acc=5, progbits=1, name=.text.
[ldr]    app=sigma0, addr=0x40227000, sz=0x00001000, acc=4, progbits=1, name=.rodata.
[ldr]    app=sigma0, addr=0x40228000, sz=0x00001000, acc=6, progbits=1, name=.data.
[ldr]    app=sigma0, addr=0x40229000, sz=0x00004000, acc=6, progbits=1, name=.bss.
[ldr]    app=sigma0, addr=0x00000000, sz=0x00000010, acc=0, progbits=0, name=.gnu.attributes.
[ldr]    app=sigma0, addr=0x00000000, sz=0x00000b10, acc=0, progbits=0, name=.symtab.
[ldr]    app=sigma0, addr=0x00000000, sz=0x00000bdf, acc=0, progbits=0, name=.strtab.
[ldr]    app=sigma0, addr=0x00000000, sz=0x00000044, acc=0, progbits=0, name=.shstrtab.
[ldr]    app=sigma0, va=0x40221000, pa=0x40221000, sz=0x0000c000, load=1.
[ldr]  elf:  foreach:  elf=0x402f8b88, sz=0x25634.
[ldr]    app=roottask, addr=0x00000000, sz=0x00000000, acc=0, progbits=0, name=.
[ldr]    app=roottask, addr=0x4022d000, sz=0x0001b000, acc=5, progbits=1, name=.text.
[ldr]    app=roottask, addr=0x40248000, sz=0x00004000, acc=4, progbits=1, name=.rodata.
[ldr]    app=roottask, addr=0x4024c000, sz=0x00001000, acc=6, progbits=1, name=.data.
[ldr]    app=roottask, addr=0x4024d000, sz=0x00044000, acc=6, progbits=1, name=.bss.
[ldr]    app=roottask, addr=0x40291000, sz=0x00001000, acc=6, progbits=1, name=.stack.
[ldr]    app=roottask, addr=0x00000000, sz=0x00000010, acc=0, progbits=0, name=.gnu.attributes.
[ldr]    app=roottask, addr=0x00000000, sz=0x00001780, acc=0, progbits=0, name=.symtab.
[ldr]    app=roottask, addr=0x00000000, sz=0x00002cc9, acc=0, progbits=0, name=.strtab.
[ldr]    app=roottask, addr=0x00000000, sz=0x0000004b, acc=0, progbits=0, name=.shstrtab.
[ldr]    app=roottask, va=0x4022d000, pa=0x4022d000, sz=0x00065000, load=1.
[ldr]  memory regions:
[ldr]    [40000000 - 40001000)  sz=0x00001000,  kernel.
[ldr]    [40020000 - 40221000)  sz=0x00201000,  kernel.
[ldr]    [40221000 - 4022d000)  sz=0x0000c000,  sigma0.
[ldr]    [4022d000 - 40292000)  sz=0x00065000,  roottask.
[ldr]    [40690000 - 4069d000)  sz=0x0000d000,  bootloader.
[ldr]    [4069d000 - 48000000)  sz=0x07963000,  free.
[ldr]  elf:  foreach:  elf=0x40293000, sz=0x5b2dc.
[ldr]    load:  loc=0x40294000, pa=0x40000000, sz=0x00001000, load=1.
[ldr]    load:  loc=0x40295000, pa=0x40020000, sz=0x00201000, load=1.
[ldr]    load:  loc=0x40293000, pa=0x00000000, sz=0x00000000, load=0.
[ldr]  elf:  foreach:  elf=0x402ee2dc, sz=0xa8ac.
[ldr]    load:  loc=0x402ef2dc, pa=0x40221000, sz=0x0000c000, load=1.
[ldr]  elf:  foreach:  elf=0x402f8b88, sz=0x25634.
[ldr]    load:  loc=0x402f9b88, pa=0x4022d000, sz=0x00065000, load=1.
[ldr]  KIP found at 0x40020000.
[ldr]  Go to kernel.

[----:0.000000]  kernel:  cpu #0 hello, sp=0xf006cf00.
[sgm0:0.006661]  inf:  hello.
[sgm0:0.009527]  inf:  free memory = 0x7970000.
[alph:0.055043]  inf:  hello.
[alph:0.060676]  inf:  get memory from sigma0.
[alph:0.269694]  inf:  got memory:  0x7970000 bytes.
[alph:0.272740]  inf:  Project config:
[alph:0.273016]  inf:    Board config:
[alph:0.273273]  inf:      ##  device    paddr        size        irq
[alph:0.273630]  inf:       0  uart      0x80000100   0x00000100    3
[alph:0.274062]  inf:    Memory config:
[alph:0.274340]  inf:      ##  name       size        cached  contig
[alph:0.274775]  inf:    Apps config:
[alph:0.275124]  inf:      [0]
[alph:0.275363]  inf:        name:             uart
[alph:0.275659]  inf:        short_name:       uart
[alph:0.275955]  inf:        file:             ramfs:/uart.elf
[alph:0.276307]  inf:        stack_sz:         0x1000
[alph:0.276672]  inf:        heap_sz:          0x4000
[alph:0.276978]  inf:        max_aspaces:      1
[alph:0.277269]  inf:        max_threads:      3
[alph:0.277559]  inf:        max_prio:         120
[alph:0.277854]  inf:        fpu:              0
[alph:0.278157]  inf:        malloc_strategy:  on_startup
[alph:0.278477]  inf:        devices:          0
[alph:0.278765]  inf:        memory:           
[alph:0.279047]  inf:        args:             uart
[alph:0.279362]  inf:      [1]
[alph:0.279594]  inf:        name:             console
[alph:0.279892]  inf:        short_name:       cons
[alph:0.280208]  inf:        file:             ramfs:/console.elf
[alph:0.280537]  inf:        stack_sz:         0x1000
[alph:0.280830]  inf:        heap_sz:          0x4000
[alph:0.281126]  inf:        max_aspaces:      1
[alph:0.281405]  inf:        max_threads:      3
[alph:0.281697]  inf:        max_prio:         110
[alph:0.281983]  inf:        fpu:              0
[alph:0.282282]  inf:        malloc_strategy:  on_startup
[alph:0.282587]  inf:        devices:          
[alph:0.282864]  inf:        memory:           
[alph:0.283139]  inf:        args:             
[alph:0.283414]  inf:      [2]
[alph:0.283644]  inf:        name:             linux
[alph:0.283935]  inf:        short_name:       lx
[alph:0.284216]  inf:        file:             ramfs:/linux.elf
[alph:0.284537]  inf:        stack_sz:         0x1000
[alph:0.284866]  inf:        heap_sz:          0x40000
[alph:0.285231]  inf:        max_aspaces:      9
[alph:0.285570]  inf:        max_threads:      22
[alph:0.285918]  inf:        max_prio:         100
[alph:0.286284]  inf:        fpu:              0
[alph:0.286635]  inf:        malloc_strategy:  on_startup
[alph:0.287013]  inf:        devices:          
[alph:0.287350]  inf:        memory:           
[alph:0.287689]  inf:        args:             
[alph:0.288061]  inf:  get iospace from sigma0.
[alph:0.289429]  inf:  got iospace from sigma0.
[alph:0.290195]  inf:  prepare named memory regions for apps.
[alph:0.290967]  inf:  prepared named memory regions for apps.
[alph:0.291404]  inf:  create app=uart.
[alph:0.300403]  inf:  create app=console.
[alph:0.303546]  inf:  create app=linux.
[uart:0.374879]  inf:  hello.
[uart:0.377880]  inf:  argc=2, argv=0xff2000.
[uart:0.378609]  inf:  arg[0] = uart.
[uart:0.378880]  inf:  arg[1] = uart.
[uart:0.379183]  inf:  myid=131.
[uart:0.381028]  inf:  map_io:  addr=0x70000100, sz=0x100.
[uart:0.385900]  inf:  create_thread:  rc=0, id=132.
[uart:0.387753]  inf:  create_thread:  rc=0, id=133.
[u-tx:0.388715]  inf:  tx:  hello:  tx_thread.
[u-tx:0.389091]  inf:  tx:  myid=132.
[u-rx:0.390172]  inf:  rx:  hello:  rx_thread.
[u-rx:0.390560]  inf:  rx:  myid=133.
[u-hw:0.391376]  inf:  attach_int:  dev=uart, irq=3.
[u-tx:0.392104]  inf:  attach:  thread 'uart-tx-stream' is registered, key:  5f1e5/5f1fe.
[u-tx:0.392641]  inf:  attach:  wait attach msg.
[u-rx:0.393106]  inf:  attach:  thread 'uart-rx-stream' is registered, key:  5f781/5f797.
[u-rx:0.393625]  inf:  attach:  wait attach msg.
[cons:0.444318]  inf:  hello:  myid=134.
[cons:0.453151]  inf:  create_thread:  rc=0, id=135.
[cons:0.455107]  inf:  create_thread:  rc=0, id=136.
[c-dr:0.456121]  inf:  drv:  myid=135.
[c-dr:0.457696]  inf:  attach:  got id=132, for thread 'uart-tx-stream', key:  5f1e5/5f1fe.
[u-tx:0.458540]  inf:  attach:  attached to 135.
[u-tx:0.458948]  inf:  tx:  attached to client=135
[c-cl:0.461121]  inf:  cli:  myid=136.
[c-dr:0.461918]  inf:  attach:  got id=133, for thread 'uart-rx-stream', key:  5f781/5f797.
[u-rx:0.462655]  inf:  attach:  attached to 135.
[u-rx:0.463056]  inf:  rx:  attached to client=135
[c-cl:0.463636]  inf:  cli:  thread 'console-server' is registered, key:  70b66/70b7d.
[  lx:0.524237]  inf:  hello.
[  lx:0.534241]  inf:  argc=0x1, argv=0x00fbe000.
[  lx:0.535144]  inf:  arg[0] = linux.
[  lx:0.538623]  inf:  App attached to system console.
[  lx:0.539806]  inf:  create_threads:  vcpu 0 ...
[  lx:0.542869]  inf:  create_thread:  kernel-mapper ...
[  lx:0.547448]  inf:                  stack_va=0xe0000000, stack_sz=0x1000.
[  lx:0.550763]  inf:                  rc=0, id=138.
[  lx:0.551957]  inf:  create_thread:  kernel-exc thread ...
[  lx:0.553232]  inf:                  stack_va=0xe0002000, stack_sz=0x1000.
[  lx:0.555176]  inf:                  rc=0, id=139.
[  lx:0.556335]  inf:  create_thread:  kernel thread ...
[  lx:0.557545]  inf:                  stack_va=0xe0004000, stack_sz=0x1000.
[  lx:0.559484]  inf:                  rc=0, id=140.
[  lx:0.561105]  inf:  create_thread:  pager thread ...
[  lx:0.562352]  inf:                  stack_va=0xe0006000, stack_sz=0x1000.
[  lx:0.564336]  inf:                  rc=0, id=141.
[  lx:0.565583]  inf:  create_task:    user task ...
[  lx:0.566798]  inf:                  stack_va=0xe0008000, stack_sz=0x1000.
[  lx:0.569876]  inf:                  rc=0, id=142.
[  lx:0.571114]  inf:  create_thread:  user-mapper thread ...
[  lx:0.572350]  inf:                  stack_va=0xe0009000, stack_sz=0x1000.
[  lx:0.574353]  inf:                  rc=0, id=143.
[  lx:0.575512]  inf:  create_task:    user task ...
[  lx:0.576649]  inf:                  stack_va=0xe000d000, stack_sz=0x1000.
[  lx:0.579298]  inf:                  rc=0, id=144.
[  lx:0.580463]  inf:  create_thread:  user-mapper thread ...
[  lx:0.581691]  inf:                  stack_va=0xe0010000, stack_sz=0x1000.
[  lx:0.583557]  inf:                  rc=0, id=145.
[  lx:0.584687]  inf:  create_task:    user task ...
[  lx:0.585889]  inf:                  stack_va=0xe0012000, stack_sz=0x1000.
[  lx:0.588631]  inf:                  rc=0, id=146.
[  lx:0.589785]  inf:  create_thread:  user-mapper thread ...
[  lx:0.590999]  inf:                  stack_va=0xe0013000, stack_sz=0x1000.
[  lx:0.592871]  inf:                  rc=0, id=147.
[  lx:0.594009]  inf:  create_task:    user task ...
[  lx:0.595156]  inf:                  stack_va=0xe0017000, stack_sz=0x1000.
[  lx:0.597980]  inf:                  rc=0, id=148.
[  lx:0.599152]  inf:  create_thread:  user-mapper thread ...
[  lx:0.600383]  inf:                  stack_va=0xe001a000, stack_sz=0x1000.
[  lx:0.602273]  inf:                  rc=0, id=149.
[  lx:0.603405]  inf:  create_task:    user task ...
[  lx:0.604555]  inf:                  stack_va=0xe001c000, stack_sz=0x1000.
[  lx:0.607222]  inf:                  rc=0, id=150.
[  lx:0.608354]  inf:  create_thread:  user-mapper thread ...
[  lx:0.609570]  inf:                  stack_va=0xe001d000, stack_sz=0x1000.
[  lx:0.611468]  inf:                  rc=0, id=151.
[  lx:0.612597]  inf:  create_task:    user task ...
[  lx:0.613735]  inf:                  stack_va=0xe0021000, stack_sz=0x1000.
[  lx:0.616408]  inf:                  rc=0, id=152.
[  lx:0.617538]  inf:  create_thread:  user-mapper thread ...
[  lx:0.618724]  inf:                  stack_va=0xe0024000, stack_sz=0x1000.
[  lx:0.620610]  inf:                  rc=0, id=153.
[  lx:0.621751]  inf:  create_task:    user task ...
[  lx:0.622912]  inf:                  stack_va=0xe0026000, stack_sz=0x1000.
[  lx:0.625592]  inf:                  rc=0, id=154.
[  lx:0.626767]  inf:  create_thread:  user-mapper thread ...
[  lx:0.627969]  inf:                  stack_va=0xe0027000, stack_sz=0x1000.
[  lx:0.629844]  inf:                  rc=0, id=155.
[  lx:0.631022]  inf:  create_task:    user task ...
[  lx:0.632156]  inf:                  stack_va=0xe002b000, stack_sz=0x1000.
[  lx:0.634840]  inf:                  rc=0, id=156.
[  lx:0.636042]  inf:  create_thread:  user-mapper thread ...
[  lx:0.637396]  inf:                  stack_va=0xe002e000, stack_sz=0x1000.
[  lx:0.639280]  inf:                  rc=0, id=157.
[  lx:0.640471]  inf:  create_thread:  console input thread ...
[  lx:0.641737]  inf:                  stack_va=0xe0030000, stack_sz=0x1000.
[  lx:0.643608]  inf:                  rc=0, id=158.
[l-in:0.646020]  inf:  hello:  console_input_thread, param=0x0.
[l-in:0.647350]  inf:  my global_id=158.
[l-m0:0.653399]  inf:  hello:  mapper_thread, krn=1.
[l-m0:0.658582]  inf:  my global_id=138.
[l-U0:0.668453]  inf:  hello:  mapper_thread, krn=0.
[l-U0:0.668894]  inf:  hello:  mapper_thread, krn=0.
[l-U0:0.669339]  inf:  hello:  mapper_thread, krn=0.
[l-U0:0.669803]  inf:  hello:  mapper_thread, krn=0.
[l-U0:0.670285]  inf:  hello:  mapper_thread, krn=0.
[l-U0:0.670732]  inf:  hello:  mapper_thread, krn=0.
[l-U0:0.671177]  inf:  hello:  mapper_thread, krn=0.
[l-U0:0.671621]  inf:  hello:  mapper_thread, krn=0.
[l-U0:0.725776]  inf:  my global_id=143.
[l-U0:0.726895]  inf:  my global_id=145.
[l-U0:0.728018]  inf:  my global_id=147.
[l-U0:0.729118]  inf:  my global_id=149.
[l-U0:0.730263]  inf:  my global_id=151.
[l-U0:0.731367]  inf:  my global_id=153.
[l-U0:0.732456]  inf:  my global_id=155.
[l-U0:0.733539]  inf:  my global_id=157.
[l-e0:0.735421]  inf:  hello:  kernel_thread, exch_level=2.
[l-k0:0.736588]  inf:  hello:  kernel_thread, exch_level=1.
[l-p0:0.737743]  inf:  hello:  upager_thread.
[l-e0:0.740094]  inf:  my global_id=139.
[l-k0:0.741194]  inf:  my global_id=140.
[l-p0:0.742437]  inf:  my global_id=141.
[l-u0:0.749607]  inf:  hello:  user_thread, param=0x0.
[l-u0:0.751499]  inf:  hello:  user_thread, param=0x0.
[l-u0:0.752700]  inf:  hello:  user_thread, param=0x0.
[l-u0:0.753858]  inf:  hello:  user_thread, param=0x0.
[l-u0:0.755048]  inf:  hello:  user_thread, param=0x0.
[l-u0:0.756211]  inf:  hello:  user_thread, param=0x0.
[l-u0:0.757397]  inf:  hello:  user_thread, param=0x0.
[l-u0:0.758658]  inf:  hello:  user_thread, param=0x0.
[l-u0:0.759842]  inf:  my global_id=142.
[l-u0:0.760977]  inf:  my global_id=144.
[l-u0:0.762039]  inf:  my global_id=146.
[l-u0:0.763098]  inf:  my global_id=148.
[l-u0:0.764223]  inf:  my global_id=150.
[l-u0:0.765371]  inf:  my global_id=152.
[l-u0:0.766504]  inf:  my global_id=154.
[l-u0:0.767616]  inf:  my global_id=156.
[l-u0:0.768793]  inf:  switch to kernel.
[l-u0:0.769877]  inf:  switch to kernel.
[l-u0:0.771005]  inf:  switch to kernel.
[l-u0:0.772112]  inf:  switch to kernel.
[l-u0:0.773359]  inf:  switch to kernel.
[l-u0:0.774450]  inf:  switch to kernel.
[l-u0:0.775549]  inf:  switch to kernel.
[l-u0:0.776642]  inf:  switch to kernel.
[l-k0:0.778432]  inf:  wait_msg_loop:  suspend usr thread id=142.
[l-k0:0.780842]  inf:  wait_msg_loop:  suspend usr thread id=144.
[l-k0:0.782122]  inf:  wait_msg_loop:  suspend usr thread id=146.
[l-k0:0.783385]  inf:  wait_msg_loop:  suspend usr thread id=148.
[l-k0:0.784659]  inf:  wait_msg_loop:  suspend usr thread id=150.
[l-k0:0.785892]  inf:  wait_msg_loop:  suspend usr thread id=152.
[l-k0:0.787125]  inf:  wait_msg_loop:  suspend usr thread id=154.
[l-k0:0.788403]  inf:  sp_bank[0].base_addr=0xd0000000, sp_bank[0].num_bytes=0x1392000.
[    0.000000] Linux version 4.12.1 (worm@comp) (gcc version 7.3.0 (Buildroot 2018.02.2) ) #3 Tue Jun 5 13:57:13 MSK 2018
[    0.000000] bootconsole [earlyprom0] enabled
[    0.000000] ARCH: 
[    0.000000] SUN4M
IDPROM: Warning, unknown format type!
IDPROM: Warning, bogus id_machtype value, 0x0
[    0.000000] Ethernet address: 00:00:00:00:00:00
[    0.000000] bootmem_init:  hello.
[    0.000000] bootmem_init:  done.
[    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 8110
[    0.000000] Kernel command line: console=ttyWrm0
[    0.000000] PID hash table entries: 64 (order: -4, 256 bytes)
[    0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Sorting __ex_table...
[    0.000000] Memory: 13872K/16380K available (1867K kernel code, 94K rwdata, 0K rodata, 880K init, 467K bss, 2508K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:64
[    0.000000] init_IRQ:  hello.
[    0.000000] leon_init_timers:  HZ=100, irq=10.
[    0.000000] leon_unmask_irq:  IMPLME.
[    0.000000] console [ttyWrm0] enabled
[    0.000000] console [ttyWrm0] enabled
[    0.000000] bootconsole [earlyprom0] disabled
[    0.000000] bootconsole [earlyprom0] disabled
[    0.000000] Console: colour dummy device 80x25
[    0.000000] clocksource: timer_cs: mask: 0xffffffffffffffff max_cycles: 0x1358c14ce, max_idle_ns: 57775908723750000 ns
[    0.080000] Calibrating delay loop... 4272.12 BogoMIPS (lpj=21360640)
[    0.080000] pid_max: default: 32768 minimum: 301
[    0.080000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.080000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.100000] devtmpfs: initialized
[    0.100000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.100000] wrmos-uart 00000000: w4con_uart_probe: uart(0) driver initialized.
[    0.100000] clocksource: Switched to clocksource timer_cs
[    0.200000] workingset: timestamp_bits=30 max_order=12 bucket_order=0
[    0.210000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.210000] io scheduler noop registered
[    0.210000] io scheduler deadline registered
[    0.210000] io scheduler cfq registered (default)
[    0.210000] io scheduler mq-deadline registered
[    0.210000] io scheduler kyber registered
[    0.260000] leon: power management initialized
[    0.260000] hctosys: unable to open rtc device (rtc0)
[    0.260000] leon_unmask_irq:  IMPLME.
[    0.260000] Freeing unused kernel memory: 880K
[    0.260000] This architecture does not have kernel memory protection.
Starting logging: OK
Initializing random number generator... [    1.470000] random: dd: uninitialized urandom read (512 bytes read)
done.

Welcome to Buildroot
buildroot login:

Step 1.6. Работа в Linux shell

В результате загрузки вы увидите приглашение залогиниться:

...
Welcome to Buildroot
buildroot login:

Введите имя пользователя "root" и вы получите доступ к busybox shell:

...
Welcome to Buildroot
buildroot login: root
Jan  1 00:00:52 login[37]: root login on 'console'
#
# ls /
bin      init     linuxrc  opt      run      tmp
dev      lib      media    proc     sbin     usr
etc      lib32    mnt      root     sys      var
# 
# cat /proc/cpuinfo 
cpu        : wrm.os virtual CPU
vendor     : WrmLab
version    : 0.01 (experimental)
fpu        : yes
# 

Теги