kernel: refine boot screen options, show message that <=8 MB memory is not enough
This commit is contained in:
@@ -1037,6 +1037,38 @@ end if
|
||||
; GET MEMORY MAP
|
||||
include '../detect/biosmem.inc'
|
||||
|
||||
; SANITY-CHECK THE AMOUNT. The 32-bit kernel's physical layout is fixed:
|
||||
; its heap starts at phys 8MB (HEAP_BASE) and the top usable pages are eaten
|
||||
; by E820 reservations, so with less RAM the very first kernel allocation
|
||||
; (the OS ring0 stack) comes from an empty heap and the boot dies in a
|
||||
; silent triple-fault reboot loop long before anything is printed. Refuse
|
||||
; HERE, while the text screen can still say why. Machines without E820
|
||||
; (memmap_block_cnt = 0, pre-Pentium BIOSes) are not checked - they fall
|
||||
; back to mem_test in the 32-bit init.
|
||||
xor edx, edx ; edx = highest usable top
|
||||
movzx ecx, byte [es:BOOT_LO.memmap_block_cnt]
|
||||
jcxz mem_floor_ok
|
||||
mov di, BOOT_LO.memmap_blocks
|
||||
mem_floor_next:
|
||||
cmp byte [es:di + e820entry.type], 1
|
||||
jne mem_floor_skip
|
||||
cmp dword [es:di + e820entry.addr.hi], 0
|
||||
jne mem_floor_skip
|
||||
mov eax, [es:di + e820entry.addr.lo]
|
||||
add eax, [es:di + e820entry.size.lo]
|
||||
jc mem_floor_skip
|
||||
cmp edx, eax
|
||||
jae mem_floor_skip
|
||||
mov edx, eax
|
||||
mem_floor_skip:
|
||||
add di, sizeof.e820entry
|
||||
loop mem_floor_next
|
||||
cmp edx, 8*1024*1024
|
||||
jae mem_floor_ok
|
||||
mov si, low_memory_error
|
||||
jmp sayerr
|
||||
mem_floor_ok:
|
||||
|
||||
; READ DISKETTE TO MEMORY
|
||||
|
||||
cmp byte [es:BOOT_LO.rd_load_from], RD_LOAD_FROM_FLOPPY
|
||||
|
||||
@@ -89,6 +89,7 @@ loading_msg db "Lade KolibriOS...",0
|
||||
if ~ defined extended_primary_loader
|
||||
save_quest db "Aktuelle Einstellungen speichern? [y/n]: ",0
|
||||
loader_block_error db "Bootloader Daten ungueltig, Kann nicht fortfahren. Angehalten.",0
|
||||
low_memory_error db "Nicht genügend Arbeitsspeicher: KolibriOS benötigt mindestens 9 MB. Abgebrochen.",0
|
||||
write_err_msg db "Schreiben fehlgeschlagen. Zum Booten eine beliebige Taste drucken...",0
|
||||
end if
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
d80x25_bottom:
|
||||
db 186,' KolibriOS comes with ABSOLUTELY NO WARRANTY. See file COPYING for details ',186
|
||||
db 186,' If you find any bugs, please report them at: https://board.kolibrios.org ',186
|
||||
db 186,' If you find any bugs, please report them at: https://git.kolibrios.org ',186
|
||||
line_full_bottom
|
||||
d80x25_bottom_num = 3
|
||||
|
||||
@@ -29,12 +29,12 @@ gr_mode db "Select a videomode: ",13,10,0
|
||||
ask_bd db "Add disks visible by BIOS emulated in V86-mode? [1-yes, 2-no]: ",0
|
||||
|
||||
if defined extended_primary_loader
|
||||
bdev db "Load ramdisk from [1-floppy; 2-kolibri.img; 3-don't load]: ",0
|
||||
bdev db "Load system from [1-floppy; 2-kolibri.img; 3-don't load]: ",0
|
||||
else
|
||||
bdev db "Load ramdisk from [1-floppy; 2-C:\kolibri.img (FAT32);"
|
||||
db 13,10,186," "
|
||||
bdev db "Load system from [1-floppy; 2-C:\kolibri.img (FAT32);"
|
||||
db 13,10,186," "
|
||||
db "3-preloaded ram-image (flash-disk, dualboot, "
|
||||
db 13,10,186," "
|
||||
db 13,10,186," "
|
||||
db "kernel restart, etc.)]: ",0
|
||||
end if
|
||||
|
||||
@@ -55,23 +55,23 @@ start_msg db "Press [abcde] to change settings, press [Enter] to continue b
|
||||
time_msg db " or wait "
|
||||
time_str db " 5 seconds"
|
||||
db " to continue automatically",13,10,0
|
||||
current_cfg_msg db "Current settings:",13,10,0
|
||||
curvideo_msg db " [a] Videomode: ",0
|
||||
current_cfg_msg db "Boot options:",13,10,0
|
||||
curvideo_msg db " [a] Video mode...............",0
|
||||
usebd_msg db " [b] BIOS disks...............",0
|
||||
debug_mode_msg db " [c] On-screen debug..........",0
|
||||
launcher_msg db " [d] Start LAUNCHER...........",0
|
||||
preboot_device_msg db " [e] Boot from................",0
|
||||
|
||||
mode0 db "320x200, EGA/CGA 256 colors",13,10,0
|
||||
mode9 db "640x480, VGA 16 colors",13,10,0
|
||||
|
||||
usebd_msg db " [b] Add disks visible by BIOS:",0
|
||||
on_msg db " on",13,10,0
|
||||
off_msg db " off",13,10,0
|
||||
on_msg db "on",13,10,0
|
||||
off_msg db "off",13,10,0
|
||||
|
||||
debug_mode_msg db " [c] Duplicate debug output to the screen:",0
|
||||
ask_debug db "Duplicate debug output to the screen? [1-yes, 2-no]: ",0
|
||||
|
||||
launcher_msg db " [d] Start LAUNCHER after kernel is loaded:",0
|
||||
ask_launcher db "Start first application (LAUNCHER) after kernel is loaded? [1-yes, 2-no]: ",0
|
||||
ask_launcher db "Autostart applications and services after kernel is loaded? [1-yes, 2-no]: ",0
|
||||
|
||||
preboot_device_msg db " [e] Floppy image: ",0
|
||||
|
||||
if defined extended_primary_loader
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,0
|
||||
@@ -82,7 +82,7 @@ else
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4,0
|
||||
pdm1 db "real floppy",13,10,0
|
||||
pdm2 db "C:\kolibri.img (FAT32)",13,10,0
|
||||
pdm3 db "use already loaded image",13,10,0
|
||||
pdm3 db "preloaded ram-image",13,10,0
|
||||
pdm4 db "create blank image",13,10,0
|
||||
end if
|
||||
|
||||
@@ -93,6 +93,7 @@ save_quest db "New settings have been applied.",13,10,13,10,186
|
||||
db " Do you want to save them for future boots?",13,10,186
|
||||
db " Answer 'yes' only if your booting device is writable. [y/n]: ",0
|
||||
loader_block_error db "Bootloader data invalid. Stopped.",0
|
||||
low_memory_error db "Not enough RAM: KolibriOS needs at least 9 MB. Stopped.",0
|
||||
write_err_msg db "Recording the configuration has failed. Press any key to resume booting...",0
|
||||
end if
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
d80x25_bottom:
|
||||
cp850 '║ KolibriOS viene ABSOLUTAMENTE SIN GARANTíA. Lee el archivo COPYING por más ║'
|
||||
cp850 '║ detalles. Por favor, informar de los errores en: http://board.kolibrios.org ║'
|
||||
cp850 '║ detalles. Por favor, informar de los errores en: http://git.kolibrios.org ║'
|
||||
line_full_bottom
|
||||
d80x25_bottom_num = 3
|
||||
|
||||
@@ -54,23 +54,23 @@ start_msg cp850 "Presiona [abcde] para cambiar la configuración, [Enter] para
|
||||
time_msg cp850 " o espera "
|
||||
time_str cp850 " 5 segundos"
|
||||
cp850 " para que inicie automáticamente",13,10,0
|
||||
current_cfg_msg cp850 "Configuración actual:",13,10,0
|
||||
curvideo_msg cp850 " [a] Modo de video: ",0
|
||||
current_cfg_msg cp850 "Opciones de arranque:",13,10,0
|
||||
curvideo_msg cp850 " [a] Modo de video.................",0
|
||||
usebd_msg cp850 " [b] Discos BIOS..................",0
|
||||
debug_mode_msg cp850 " [c] Depuracion en pantalla.......",0
|
||||
launcher_msg cp850 " [d] Iniciar LAUNCHER.............",0
|
||||
preboot_device_msg cp850 " [e] Arrancar desde...............",0
|
||||
|
||||
mode0 cp850 "320x200, EGA/CGA 256 colores",13,10,0
|
||||
mode9 cp850 "640x480, VGA 16 colores",13,10,0
|
||||
|
||||
usebd_msg cp850 " [b] Agregar discos visibles por el BIOS:",0
|
||||
on_msg cp850 " activado",13,10,0
|
||||
off_msg cp850 " desactivado",13,10,0
|
||||
|
||||
debug_mode_msg cp850 " [c] Duplicar depurar salida a la pantalla:",0
|
||||
ask_debug cp850 "¿Duplicar depurar la salida a la pantalla? [1-si, 2-no]: ",0
|
||||
|
||||
launcher_msg cp850 " [d] Iniciar LAUNCHER después de cargar kernel:",0
|
||||
ask_launcher cp850 "¿Inicie la primera aplicación después de cargar el kernel? [1-si, 2-no]: ",0
|
||||
|
||||
preboot_device_msg cp850 " [e] Imagen de disquete: ",0
|
||||
|
||||
if defined extended_primary_loader
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,0
|
||||
@@ -89,6 +89,7 @@ loading_msg cp850 "Cargando KolibriOS...",0
|
||||
if ~ defined extended_primary_loader
|
||||
save_quest cp850 "¿Recordar configuración actual? [s/n]: ",0
|
||||
loader_block_error cp850 "Bootloader inválido, no puedo continuar. Detenido.",0
|
||||
low_memory_error cp850 "Memoria RAM insuficiente: KolibriOS necesita al menos 9 MB. Proceso detenido.",0
|
||||
write_err_msg cp850 "La grabación ha fallado. Presione cualquier tecla para continuar...",0
|
||||
end if
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@ loading_msg latin1 "Laadin KolibriOS...",0
|
||||
if ~ defined extended_primary_loader
|
||||
save_quest latin1 "Jäta meelde praegused seaded? [y/n]: ",0
|
||||
loader_block_error latin1 "Alglaaduri andmed vigased, ei saa jätkata. Peatatud.",0
|
||||
low_memory_error latin1 "Not enough RAM: KolibriOS needs at least 9 MB. Stopped.",0
|
||||
write_err_msg latin1 "Salvestamine ebaõnnestus. Käivitamise jätkamiseks vajutage suvalist klahvi...",0
|
||||
end if
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
d80x25_bottom:
|
||||
cp866 '║ KolibriOS НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРАНТИЙ. Подробнее смотрите в файле ║'
|
||||
cp866 '║ COPYING.TXT. О найденных ошибках сообщайте на http://board.kolibrios.org ║'
|
||||
cp866 '║ COPYING.TXT. О найденных ошибках сообщайте на http://git.kolibrios.org ║'
|
||||
line_full_bottom
|
||||
d80x25_bottom_num = 3
|
||||
|
||||
@@ -32,7 +32,8 @@ bdev cp866 "Загрузить образ из [1-дискета; 2-ko
|
||||
cp866 "║ 3-не загружать]: ",0
|
||||
else
|
||||
bdev cp866 "Загрузить образ из [1-дискета; 2-C:\kolibri.img (FAT32);",13,10
|
||||
cp866 "║ 3-использовать уже загруженный образ]:",0
|
||||
cp866 "║ 3-предзагруженный образ (USB флэш, дуалбут,",13,10
|
||||
cp866 "║ рестарт ядра и т.д.)]: ",0
|
||||
end if
|
||||
|
||||
prnotfnd cp866 "Ошибка - Видеорежим не найден.",0
|
||||
@@ -52,23 +53,23 @@ start_msg cp866 "Нажмите [abcde] для изменения наст
|
||||
time_msg cp866 " или подождите "
|
||||
time_str cp866 " 5 секунд "
|
||||
cp866 " до автоматического продолжения",13,10,0
|
||||
current_cfg_msg cp866 "Текущие настройки:",13,10,0
|
||||
curvideo_msg cp866 " [a] Видеорежим: ",0
|
||||
current_cfg_msg cp866 "Параметры загрузки:",13,10,0
|
||||
curvideo_msg cp866 " [a] Видеорежим...........................",0
|
||||
usebd_msg cp866 " [b] Диски, видимые через BIOS............",0
|
||||
debug_mode_msg cp866 " [c] Вывод отладки на экран...............",0
|
||||
launcher_msg cp866 " [d] Запустить LAUNCHER...................",0
|
||||
preboot_device_msg cp866 " [e] Загрузить систему из.................",0
|
||||
|
||||
mode0 cp866 "320x200, EGA/CGA 256 цветов",13,10,0
|
||||
mode9 cp866 "640x480, VGA 16 цветов",13,10,0
|
||||
|
||||
usebd_msg cp866 " [b] Добавить диски, видимые через BIOS:",0
|
||||
on_msg cp866 " вкл",13,10,0
|
||||
off_msg cp866 " выкл",13,10,0
|
||||
on_msg cp866 "вкл",13,10,0
|
||||
off_msg cp866 "выкл",13,10,0
|
||||
|
||||
debug_mode_msg cp866 " [c] Дублировать дебаг-вывод на экран монитора:",0
|
||||
ask_debug cp866 "Дублировать дебаг-вывод на экран монитора? [1-да, 2-нет]: ",0
|
||||
|
||||
launcher_msg cp866 " [d] Запустить программу LAUNCHER после загрузки ядра:",0
|
||||
ask_launcher cp866 "Запустить первую программу (LAUNCHER) после загрузки ядра? [1-да, 2-нет]: ",0
|
||||
ask_launcher cp866 "Автозапуск программ и служб после загрузки ядра? [1-да, 2-нет]: ",0
|
||||
|
||||
preboot_device_msg cp866 " [e] Образ дискеты: ",0
|
||||
|
||||
if defined extended_primary_loader
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,0
|
||||
@@ -79,7 +80,7 @@ else
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3,pdm4,0
|
||||
pdm1 cp866 "настоящая дискета",13,10,0
|
||||
pdm2 cp866 "C:\kolibri.img (FAT32)",13,10,0
|
||||
pdm3 cp866 "использовать уже загруженный образ",13,10,0
|
||||
pdm3 cp866 "предзагруженный образ",13,10,0
|
||||
pdm4 cp866 "создать чистый образ",13,10,0
|
||||
end if
|
||||
|
||||
@@ -90,6 +91,7 @@ save_quest cp866 "Новые настройки были применены.
|
||||
cp866 "║ Хотите записать их для будущих загрузок? Отвечайте да, только",13,10
|
||||
cp866 "║ если ваше загрузочное устройство доступно для записи. [y/n]: ",0
|
||||
loader_block_error cp866 "Ошибка в данных начального загрузчика, продолжение невозможно.",0
|
||||
low_memory_error cp866 "Мало памяти: нужно минимум 9 Мб ОЗУ.",0
|
||||
write_err_msg cp866 "Не удалось записать. Нажмите любую клавишу, для продолжения загрузки...",0
|
||||
end if
|
||||
|
||||
|
||||
Reference in New Issue
Block a user