My Haiku ARM (UEFI) port progress

@davidkaroly already got the files to me. We’re good to go :slight_smile:

5 Likes

short update on the 32-bit arm port: not so many changes recently.
the earlier result of getting a rocket icon and transition to user mode can now be reproduced on hrev56347

after entering user mode, runtime_loader starts LaunchDaemon, but then LaunchDaemon crashes, I’m not sure exactly where:

778:  init: _APP_
778: init done.
free(0x007519d0)
Can't open RTC settings file
Can't open Time settings file
launch_daemon: read file /boot/system/data/launch/system
  add job "x-vnd.haiku-registrar"
  add job "x-vnd.haiku-debug_server"
  add job "x-vnd.haiku-package_daemon"
  add job "x-vnd.haiku-systemlogger"
  add job "x-vnd.haiku-mount_server"
  add job "x-vnd.haiku-media_server"
    event: or [initial_volumes_mounted]
  add job "x-vnd.haiku-midi_server"
    event: or [demand]
  add job "x-vnd.haiku-net_server"
  add job "x-vnd.be-psrv"
    event: or [demand]
  add job "x-vnd.haiku-notification_server"
    event: or [demand]
  add job "x-vnd.haiku-power_daemon"
  add job "x-vnd.haiku-cddb_lookup"
    event: or [volume_mounted]
  add job "x-vnd.haiku-autologin"
Register external event 'initial_volumes_mounted': -2147483641

Also @PtrNull found a problem earlier in runtime_loader initialization so the startup sequence is not so stable yet.

12 Likes

Are kernel part needed for userland operation already complete (virtual memory etc.)?

3 Likes

at least the following is incomplete:

accessed and modified flags are not implemented
fork and signal handling is also missing (results in a panic)
maybe something else, i’ll have to check

2 Likes

Are timers functional?

Stack trace seems not working:

PANIC: [!]
Welcome to Kernel Debugging Land...
Thread 14 "main2" running on CPU 0
frame            caller     <image>:function + offset
 0 8674eee8 (+2039157016) 80162090   <kernel_arm> arch_debug_call_with_fault_handler + 0x1c
kdebug> bt
frame            caller     <image>:function + offset
 0 8674ed30 (+   0) 8674ed40   
 1 801ee040 (+2145460160) 8080ce28   
kdebug> 

5 Likes

I tried to run app_server, but system freeze after some time. Seems related to broken timer and/or thread switching.

start_team("/boot/system/servers/registrar")
syscall_dispatcher: thread 0x314(registrar) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x314(registrar) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x77(_kern_read_link)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x77(_kern_read_link)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x77(_kern_read_link)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x77(_kern_read_link)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x77(_kern_read_link)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x77(_kern_read_link)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x77(_kern_read_link)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x5e(_kern_image_relocated)
syscall_dispatcher: thread 0x314(registrar) call 0x5e(_kern_image_relocated)
syscall_dispatcher: thread 0x314(registrar) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x314(registrar) call 0x5e(_kern_image_relocated)
Last message repeated 6 times.
syscall_dispatcher: thread 0x314(registrar) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x314(registrar) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x314(registrar) call 0x5e(_kern_image_relocated)
syscall_dispatcher: thread 0x314(registrar) call 0x5e(_kern_image_relocated)
/boot/system/servers/registrar started
start_team("/boot/system/servers/app_server")
syscall_dispatcher: thread 0x315(app_server) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x315(app_server) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x315(app_server) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x315(app_server) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x315(app_server) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x315(app_server) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x315(app_server) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x315(app_server) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xca(_kern_set_area_protection)
Last message repeated 10 times.
syscall_dispatcher: thread 0x314(registrar) call 0xf2(_kern_get_system_info)
syscall_dispatcher: thread 0x314(registrar) call 0xf2(_kern_get_system_info)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xc2(_kern_create_area)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0xd6(_kern_create_port)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(registrar) call 0xd9(_kern_find_port)
syscall_dispatcher: thread 0x314(registrar) call 0xda(_kern_get_port_info)
syscall_dispatcher: thread 0x314(registrar) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(registrar) call 0xda(_kern_get_port_info)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xc(_kern_create_sem)
Last message repeated 5 times.
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x65(_kern_read_fs_info)
syscall_dispatcher: thread 0x314(registrar) call 0x8a(_kern_read_index_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x89(_kern_create_index)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x65(_kern_read_fs_info)
syscall_dispatcher: thread 0x314(registrar) call 0x8a(_kern_read_index_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x89(_kern_create_index)
syscall_dispatcher: thread 0x314(registrar) call 0x50(_kern_getuid)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
Last message repeated 9 times.
syscall_dispatcher: thread 0x314(registrar) call 0xda(_kern_get_port_info)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0x41(_kern_get_thread_info)
syscall_dispatcher: thread 0x314(registrar) call 0xda(_kern_get_port_info)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(registrar) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(registrar) call 0xc8(_kern_resize_area)
syscall_dispatcher: thread 0x314(registrar) call 0xc8(_kern_resize_area)
syscall_dispatcher: thread 0x314(registrar) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
Last message repeated 3 times.
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(registrar) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(registrar) call 0x94(_kern_read_dir)
syscall_dispatcher: thread 0x314(registrar) call 0x6d(_kern_open_dir_entry_ref)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x82(_kern_read_attr)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x5e(_kern_image_relocated)
syscall_dispatcher: thread 0x314(registrar) call 0xca(_kern_set_area_protection)
syscall_dispatcher: thread 0x314(registrar) call 0x83(_kern_write_attr)
syscall_dispatcher: thread 0x314(registrar) call 0xc3(_kern_delete_area)
syscall_dispatcher: thread 0x314(registrar) call 0xc3(_kern_delete_area)
syscall_dispatcher: thread 0x314(registrar) call 0x5d(_kern_unregister_image)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x6a(_kern_normalize_path)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0xcc(_kern_reserve_address_range)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0xce(_kern_map_file)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x5c(_kern_register_image)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x5e(_kern_image_relocated)
syscall_dispatcher: thread 0x314(registrar) call 0xca(_kern_set_area_protection)
syscall_dispatcher: thread 0x314(registrar) call 0x94(_kern_read_dir)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
Last message repeated 3 times.
syscall_dispatcher: thread 0x314(registrar) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x61(_kern_get_next_image_info)
Last message repeated 3 times.
syscall_dispatcher: thread 0x314(registrar) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(registrar) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x6b(_kern_open_entry_ref)
syscall_dispatcher: thread 0x314(registrar) call 0x99(_kern_dup)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
Last message repeated 3 times.
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
Last message repeated 3 times.
syscall_dispatcher: thread 0x314(registrar) call 0x84(_kern_stat_attr)
syscall_dispatcher: thread 0x314(registrar) call 0x82(_kern_read_attr)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x6b(_kern_open_entry_ref)
syscall_dispatcher: thread 0x314(registrar) call 0x6b(_kern_open_entry_ref)
syscall_dispatcher: thread 0x314(registrar) call 0x6d(_kern_open_dir_entry_ref)
syscall_dispatcher: thread 0x314(registrar) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(registrar) call 0x99(_kern_dup)
syscall_dispatcher: thread 0x314(registrar) call 0x6f(_kern_open_parent_dir)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x69(_kern_entry_ref_to_path)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(registrar) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(registrar) call 0x6c(_kern_open)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x82(_kern_read_attr)
Last message repeated 3 times.
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(registrar) call 0xda(_kern_get_port_info)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xd9(_kern_find_port)
syscall_dispatcher: thread 0x314(registrar) call 0xda(_kern_get_port_info)
syscall_dispatcher: thread 0x314(registrar) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(registrar) call 0xda(_kern_get_port_info)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(registrar) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(registrar) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(registrar) call 0xd6(_kern_create_port)
syscall_dispatcher: thread 0x314(registrar) call 0x43(_kern_get_team_info)
syscall_dispatcher: thread 0x314(registrar) call 0x61(_kern_get_next_image_info)
syscall_dispatcher: thread 0x314(registrar) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x6b(_kern_open_entry_ref)
syscall_dispatcher: thread 0x314(registrar) call 0x99(_kern_dup)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
Last message repeated 3 times.
syscall_dispatcher: thread 0x314(registrar) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(registrar) call 0x8f(_kern_read)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(registrar) call 0x84(_kern_stat_attr)
syscall_dispatcher: thread 0x314(registrar) call 0x82(_kern_read_attr)
syscall_dispatcher: thread 0x314(registrar) call 0x84(_kern_stat_attr)
syscall_dispatcher: thread 0x314(registrar) call 0x82(_kern_read_attr)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(registrar) call 0xdd(_kern_port_count)
syscall_dispatcher: thread 0x314(registrar) call 0xe0(_kern_write_port_etc)
syscall_dispatcher: thread 0x314(registrar) call 0x36(_kern_set_thread_priority)
syscall_dispatcher: thread 0x314(registrar) call 0x35(_kern_rename_thread)
syscall_dispatcher: thread 0x314(roster) call 0xdc(_kern_port_buffer_size_etc)
syscall_dispatcher: thread 0x314(roster) call 0xde(_kern_read_port_etc)
syscall_dispatcher: thread 0x314(roster) call 0xdd(_kern_port_count)
syscall_dispatcher: thread 0x314(roster) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(roster) call 0x31(_kern_spawn_thread)
syscall_dispatcher: thread 0x314(roster) call 0x34(_kern_resume_thread)
syscall_dispatcher: thread 0x314(roster) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(roster) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(roster) call 0x31(_kern_spawn_thread)
syscall_dispatcher: thread 0x314(roster) call 0x34(_kern_resume_thread)
syscall_dispatcher: thread 0x314(roster) call 0xd9(_kern_find_port)
syscall_dispatcher: thread 0x314(roster) call 0xda(_kern_get_port_info)
syscall_dispatcher: thread 0x314(roster) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(roster) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(roster) call 0xdf(_kern_set_port_owner)
syscall_dispatcher: thread 0x314(roster) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(roster) call 0x61(_kern_get_next_image_info)
syscall_dispatcher: thread 0x314(roster) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(roster) call 0x6d(_kern_open_dir_entry_ref)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(roster) call 0x50(_kern_getuid)
syscall_dispatcher: thread 0x314(roster) call 0x6c(_kern_open)
syscall_dispatcher: thread 0x314(roster) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(roster) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(roster) call 0xd6(_kern_create_port)
syscall_dispatcher: thread 0x314(roster) call 0x50(_kern_getuid)
Last message repeated 2 times.
syscall_dispatcher: thread 0x314(roster) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(roster) call 0xc(_kern_create_sem)
syscall_dispatcher: thread 0x314(roster) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(roster) call 0x6f(_kern_open_parent_dir)
syscall_dispatcher: thread 0x314(roster) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(roster) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(roster) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(roster) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(roster) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(roster) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x98(_kern_close)
syscall_dispatcher: thread 0x314(roster) call 0x6e(_kern_open_dir)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x70(_kern_fcntl)
syscall_dispatcher: thread 0x314(roster) call 0x96(_kern_read_stat)
syscall_dispatcher: thread 0x314(roster) call 0x75(_kern_create_dir)
syscall_dispatcher: thread 0x316(message deliverer) call 0xbd(_kern_snooze_etc)

// freeze here, no more syslog output
9 Likes

ARMv7 generic timer should be functional since hrev56329 - at least the interrupts are arriving, however I haven’t done so extensive testing so it might get stuck at some point.

stack traces on the other hand never worked, i had this written down in the list of items to look into… but i see you already submitted a patch for that.

the thread switching sounds more suspicious to me at this point as i get different crashes at different attempts.
most common it’s in BMessage::delete

Register external event 'initial_volumes_mounted': -2147483641
msg thread: 778; this: 0x18bc0b18; header: 0x18bc06b8; fields: (nil); data: (nil); what: 0x5f525452 'RTR_'; line: 182; func: virtual BMessage::~BMessage()
msg thread: 778; this: 0x18bc0b18; header: 0x18bc06b8; fields: (nil); data: (nil); what: 0x5f525452 'RTR_'; line: 402; func: status_t BMessage::_Clear()
msg thread: 778; this: 0x18bc0b18; header: 0x18bc06b8; fields: (nil); data: (nil); what: 0x5f525452 'RTR_'; line: 836; func: bool BMessage::IsSourceWaiting() const
msg thread: 778; line: 273: func: static void BMessage::operator delete(void*, size_t)

FPU context could be one problem, but I get the same issue on my dev branch where I do save FPU regs on syscall and thread switch. (see: https://github.com/davidkaroly/haiku/tree/arm)

7 Likes

some more tracing but little progress.

it seems that we get stuck in an infinite loop, calling _kern_port_buffer_size_etc ad nauseam

Register external event 'initial_volumes_mounted': -2147483641
syscall_dispatcher: thread 0x30a call 0x12(_kern_release_sem)
syscall_dispatcher: done with syscall 0x12
syscall_dispatcher: thread 0x30a call 0x12(_kern_release_sem)
syscall_dispatcher: done with syscall 0x12
syscall_dispatcher: thread 0x30a call 0x12(_kern_release_sem)
syscall_dispatcher: done with syscall 0x12
syscall_dispatcher: thread 0x30a call 0x12(_kern_release_sem)
syscall_dispatcher: done with syscall 0x12
syscall_dispatcher: thread 0x30a call 0x12(_kern_release_sem)
syscall_dispatcher: done with syscall 0x12
syscall_dispatcher: thread 0x30a call 0x12(_kern_release_sem)
syscall_dispatcher: done with syscall 0x12
syscall_dispatcher: thread 0x30a call 0x12(_kern_release_sem)
syscall_dispatcher: done with syscall 0x12
syscall_dispatcher: thread 0x30a call 0x12(_kern_release_sem)
syscall_dispatcher: done with syscall 0x12
msg thread: 778; this: 0x181b6b18; header: 0x181b66b8; fields: (nil); data: (nil); what: 0x5f525452 'RTR_'; line: 182; func: virtual BMessage::~BMessage()
msg thread: 778; this: 0x181b6b18; header: 0x181b66b8; fields: (nil); data: (nil); what: 0x5f525452 'RTR_'; line: 402; func: status_t BMessage::_Clear()
msg thread: 778; this: 0x181b6b18; header: 0x181b66b8; fields: (nil); data: (nil); what: 0x5f525452 'RTR_'; line: 836; func: bool BMessage::IsSourceWaiting() const
msg thread: 778; line: 273: func: static void BMessage::operator delete(void*, size_t)
syscall_dispatcher: thread 0x30a call 0xdd(_kern_port_count)
syscall_dispatcher: done with syscall 0xdd
syscall_dispatcher: thread 0x30a call 0xdd(_kern_port_count)
syscall_dispatcher: done with syscall 0xdd
syscall_dispatcher: thread 0x30a call 0xdc(_kern_port_buffer_size_etc)
syscall_dispatcher: done with syscall 0xdc
syscall_dispatcher: thread 0x30a call 0xdc(_kern_port_buffer_size_etc)
syscall_dispatcher: done with syscall 0xdc
syscall_dispatcher: thread 0x30a call 0xdc(_kern_port_buffer_size_etc)
syscall_dispatcher: done with syscall 0xdc
syscall_dispatcher: thread 0x30a call 0xdc(_kern_port_buffer_size_etc)
syscall_dispatcher: done with syscall 0xdc
syscall_dispatcher: thread 0x30a call 0xdc(_kern_port_buffer_size_etc)

and then the last 2 lines repeated indefinitely

edit:
@X512 you were right about the timer issue, system_time() is wrong.

3 Likes

That might just be a BLooper checking its message queue. It’s likely that something is waiting for something that doesn’t happen.

2 Likes

yep that was not a really good clue.

once I fix the timer, launch daemon tries starting mount_server, debug_server, autologin
so now I have 3 problems instead of 1 :wink:

4 Likes

Note that fork support is needed to run GUI from launch_daemon. But you can run any program directly from kernel including app_server for testing.

1 Like

It doesn’t use posix_spawn? does it preload libbe in it’s adress space?

1 Like

It seems recently changed to posix_spawn. But fork() is still used. Not sure is it essential for booting.

1 Like

i added a panic() call inside fork but it never gets triggered. so we fail before any forking is attempted.

3 Likes

a bit more troubleshooting:

runtime_loader loads launch_daemon
launch_daemon is able to start
then it tries starting the other daemons according to the configuration

unfortunately we’re not able to start any additional teams, as something goes wrong in the kernel at this point
it’s trying to execute from below 0x80000000 in kernel mode which looks wrong. this is visible once I enable PXN bit for addresses below 0x80000000.

Can't open RTC settings file
Can't open Time settings file
launch_daemon: read file /boot/system/data/launch/system
  add job "x-vnd.haiku-autologin"
_user_load_image: argc = 1
load_image_internal: name '/boot/system/bin/autologin', args = 0x80c90dd0, argCount = 1
team_create_thread_start: entry thread 781
team_create_thread_start: loading elf binary '/boot/system/bin/autologin'
team_create_thread_start: loaded elf. entry = 0x19bd928
rld: load /boot/system/bin/autologin
Exception: Prefetch Abort
R00=8000000a R01=00000008 R02=ffffffff R03=7fffffff
R04=8000000a R05=18714018 R06=7fffffff R07=ffffffff
R08=72954f64 R09=72954f80 R10=72954f84 R11=00000000
R12=01f1c274 SPs=82107a84 LRs=01e64e04 PC =01e64e04
             SPu=72954f38 LRu=01398994 CPSR=20000053
PANIC: should not happen

Welcome to Kernel Debugging Land...
Thread 778 "launch_daemon" running on CPU 0
frame            caller     <image>:function + offset
 0 82107814 (+  52) 80163da0   <kernel_arm> arch_debug_call_with_fault_handler + 0x1c
 1 82107848 (+  56) 800c0c10   <kernel_arm> kernel_debugger_loop(char const*: 0x800c113c "�1��", char const*: 0x8020b6a0 "0x8020b6a0", std::__va_list: 0x35, int32: -2145340820) + 0x148
 2 82107880 (+  80) 800c113c   <kernel_arm> kernel_debugger_internal(char const*: 0x800c14b0 "", char const*: 0x821078e8 "�,����", std::__va_list: 0x821078f0, int32: -2112849352) + 0x1bc
 3 821078d0 (+  24) 800c14b0   <kernel_arm> panic + 0x5c
 4 821078e8 (+  72) 80162cb8   <kernel_arm> arch_arm_prefetch_abort + 0x184
 5 82107930 (+2112849616) 80161fe8   <kernel_arm> arm_prefetch_abort + 0x70
kdebug> [david@fedora generated.arm]$ 

edit:
iframe unwindig gives us some more info… it was already working just a one-liner fix was needed to get the stack trace going beyond the iframe.

frame            caller     <image>:function + offset
 0 8210181c (+  52) 80162268   <kernel_arm> arch_debug_call_with_fault_handler + 0x1c
 1 82101850 (+  56) 800bfca0   <kernel_arm> kernel_debugger_loop(char const*: 0x800c01c8 "�1��", char const*: 0x80209a20 "0x80209a20", std::__va_list: 0x35, int32: -2145348116) + 0x140
 2 82101888 (+  80) 800c01c8   <kernel_arm> kernel_debugger_internal(char const*: 0x800c0528 "", char const*: 0x821018f0 "��Ȫ��", std::__va_list: 0x821018f8, int32: -2112873852) + 0x1bc
 3 821018d8 (+  24) 800c0528   <kernel_arm> panic + 0x48
 4 821018f0 (+  64) 80161190   <kernel_arm> arch_arm_prefetch_abort + 0x158
 5 82101930 (+ 264) 80160500   <kernel_arm> arm_prefetch_abort + 0x74
iframe at 0x82101a38
   R00 0x8000000a    R01 0x00000008    R02 0xffffffff    R03 0x7fffffff
   R04 0x8000000a    R05 0x18ca2018    R06 0x7fffffff    R07 0xffffffff
   R08 0x7295df64    R09 0x7295df80    R10 0x7295df84    R11 0x00000000
   R12 0x017c2274    SPs 0x82101a84    LRs 0x0170ae04    PC  0x0170ae04
                     SPu 0x7295df38    LRu 0x00c06994   SPSR 0x20000053
 6 82101a84 (+2137035648) 0170ae04   <libroot.so> _kern_port_buffer_size_etc + 0x04
 7 82101a84 (+2137035648) 7295e000   4958:launch_daemon_778_stack@0x7195e000 + 0x1000000
 8 0170ae04 (+   0) e12fff1e   

so we’re trying to execute the _kern_port_buffer_size_etc function in libroot.so in svc mode.

disassembly from libroot.so:

00039e00 <_kern_port_buffer_size_etc>:
   39e00:       ef0000dc        svc     0x000000dc
   39e04:       e12fff1e        bx      lr
   39e08:       e320f000        nop     {0}
   39e0c:       e320f000        nop     {0}

the “bx lr” instruction seems like a good match so maybe somehow we forgot to switch back to user mode when returning from the syscall. (iframe overwritten? maybe i goofed up PULLFRAMEINSWIANDEXIT and the “movs pc, lr” doesn’t behave like it should?)

20 Likes

What is it? Instruction? Adding underscores make it more readable.

it’s a macro that I’ve adapted from FreeBSD

entry/exit for exception handlers is implemented in macros PUSHFRAMEINSVC and PULLFRAMEFROMSVCANDEXIT
in arch_exceptions.S adapted from FreeBSD exception.S

entry/exit for syscall handler is implemented in macros PUSHFRAMEINSWI and PULLFRAMEINSWIANDEXIT which has been adapted from FreeBSD’s PUSHFRAME/PULLFRAME macros

2 Likes

Can you add underscores? Too hard to read SENTENSELIKETHIS.

3 Likes

yup makes sense

2 Likes

With Latest Haiku source update, For arm qemu bootup, it failed when loading packagefs:

virtio_pci: using legacy interrupt 38
intel: ep_std_ops(0x1)
intel: ep_std_ops(0x2)
intel: pm_std_ops(0x1)
intel: pm_identify_partition(0, 0: 0, 369093632, 512)
btrfs [8262235: 14] invalid superblock!
exfat: invalid superblock!
ext2: invalid superblock!
identify(0, 0x80ba0250)
ntfs: error: identify_partition: boot signature doesn’t match
dos_std_ops()
dos_std_ops()
intel: pm_scan_partition(0, 0: 0, 369093632, 512)
intel: ep_std_ops(0x1)
intel: ep_identify_partition(0, 20966400, 33554432, 512)
intel: ep_std_ops(0x2)
intel: pm_identify_partition(0, 1: 20966400, 33554432, 512)
btrfs [8275493: 14] invalid superblock!
exfat: invalid superblock!
ext2: invalid superblock!
identify(0, 0x80ba01a0)
ntfs: error: identify_partition: boot signature doesn’t match
dos_std_ops()
intel: ep_std_ops(0x1)
intel: ep_identify_partition(0, 54520832, 314572800, 512)
intel: ep_std_ops(0x2)
intel: pm_identify_partition(0, 2: 54520832, 314572800, 512)
btrfs [8292473: 14] invalid superblock!
exfat: invalid superblock!
ext2: invalid superblock!
identify(0, 0x80ba01b0)
ntfs: error: identify_partition: boot signature doesn’t match
device 0: /dev/disk/virtual/virtio_block/0/raw
media status: No error
device flags: 2
offset: 0
size: 369093632 (351.995 MB)
content size: 369093632
block size: 512
child count: 2
index: -1
status: 0
flags: 5
volume: -1
disk system: partitioning_systems/intel/map/v1
name:
content name:
type:
content type: Intel Partition Map
params:
content params:
partition 1: /dev/disk/virtual/virtio_block/0/0
offset: 20966400
size: 33554432 (32 MB)
content size: 33554432
block size: 512
child count: 0
index: 0
status: 0
flags: 2
volume: -1
disk system: file_systems/fat/v1
name:
content name: haiku boot
type: EFI system data
content type: FAT32 File System
params: type = 239 ; active = 0
content params:
partition 2: /dev/disk/virtual/virtio_block/0/1
offset: 54520832
size: 314572800 (300 MB)
content size: 314572800
block size: 2048
child count: 0
index: 1
status: 0
flags: 2
volume: -1
disk system: file_systems/bfs/v1
name:
content name: Haiku
type: Be File System
content type: Be File System
params: type = 235 ; active = 0
content params:
Identified boot partition by partition offset.
bfs: mounted “Haiku” (root node at 131072, device = /dev/disk/virtual/virtio_block/0/1)
Mounted boot partition: /dev/disk/virtual/virtio_block/0/1
unknown [8334820: 14] Adding packages from “/boot/system/packages”
unknown [8336510: 14] Failed to open packages activation file: No such file or directory
unknown [8336818: 14] Loading packages from activation file failed. Loading all packages in packages directory.

2 Likes