[FreeVMS] build problem

Alessandro Sangiuliano alex22_7 at hotmail.com
Mon Dec 16 13:16:28 CET 2013


Il 16/12/2013 12:51, BERTRAND Joël ha scritto:
> alex a écrit :
>>
>> Il 16/12/2013 10:35, BERTRAND Joël ha scritto:
>>> Alessandro Sangiuliano a écrit :
>>>>
>>>> Il giorno 15/dic/2013, alle ore 16:56, BERTRAND Joël
>>>> <joel.bertrand at systella.fr <mailto:joel.bertrand at systella.fr>> ha
>>>> scritto:
>>>>
>>>>> Alessandro Sangiuliano a écrit :
>>>>>>
>>>>>> Il giorno 15/dic/2013, alle ore 12:13, BERTRAND Joël
>>>>>> <joel.bertrand at systella.fr <mailto:joel.bertrand at systella.fr>
>>>>>> <mailto:joel.bertrand at systella.fr>> ha scritto:
>>>>>>
>>>>>>> Your failure is not gcc related. I have downloaded git tree and 
>>>>>>> built
>>>>>>> all FreeVMS with gcc-4.8.2 (I haven't checked if binaries are
>>>>>>> bootables).
>>>>>>>
>>>>>>> I have found two mistakes I have fixed in git today (freetype 
>>>>>>> include
>>>>>>> directory has changed and grub configure is broken as aclocal has
>>>>>>> been
>>>>>>> upgraded on recent linux workstations).
>>>>>>>
>>>>>> Thanks for the fix, I no more have the grub-mkconfig_li error, but
>>>>>> another kind of error.
>>>>>>
>>>>>> Effectively the build process on grub configuration looks broken,
>>>>>> or at
>>>>>> least on my system.
>>>>>>
>>>>>> Actually I get the error on autogen.sh, it says:
>>>>>> make /home/alex/FrreVMS/build/bootloader/autogen.sh Command non 
>>>>>> found.
>>>>>>
>>>>>> I looked in that directory and effectively there is no autogen.sh,
>>>>>> instead it is in sources/bootloader/, so I tired to change from
>>>>>> $(BUILDDIR)/etc/etc to $(SRCDIR)/etc/etc, at least the build process
>>>>>> continued until it says another error:
>>>>>
>>>>> Right. I have done a mistake.
>>>>>
>>>>>> po/POTFILES.in not found… effectively this file is
>>>>>> sources/bootloader/po/
>>>>>> but seems that the build system is looking in the root of the 
>>>>>> project,
>>>>>> so in the FreeVMS/po/POTFILES.in.
>>>>>
>>>>> I suppose that autogen.sh is broken. Please replace in main Makefile
>>>>> $(SRCDIR)/bootloader/autogen.sh by @(cd $(SRCDIR)/bootloader &&
>>>>> autogen.sh).
>>>>
>>>> Thanks, $(SRCDIR)/bootloader/autogen.sh by @(cd 
>>>> $(SRCDIR)/bootloader &&
>>>> autogen.sh), not worked so I modified in this way:
>>>>
>>>> $(SRCDIR)/bootloader/autogen.sh by @(cd $(SRCDIR)/bootloader &&
>>>> ./autogen.sh)
>>>>
>>>> After a while, the output resulted in a lot of error of the kind “No
>>>> such file or directory” on files like:
>>>> .deps-util/grub_fstest-grub_fstest_init.Po, and similar.
>>>>
>>>> So, maybe I can confirm that the autogen.sh is broken.
>>>
>>>     I think in a first time you have to delete build/bootloader. Your
>>> tree is broken as you should have grub_fstest-grub_fstest_init.Po in
>>> build/bootloader/.deps-util
>>>
>>>     Regards,
>>>
>>>     JKB
>>>
>>>
>>
>> Actually I switched to the most recent Ubuntu (should it point jessie?),
>> installed gcc4.7, modified in my locale the include in the grub-mkfont.c
>> to be again <freetype/ ftsynth.h> and finally I got the system compiled.
>>
>>
>> After that, I made the image, and copied the grub.cfg from the
>> freevms-img on the site.
>>
>> Grub gives me the selection of FreeVMS, but when I boot the system I
>> have this error:
>>
>>
>>
>> alex at omega:~$ qemu-system-x86_64 -hdc image.img -smp 1 -serial stdio -m
>> 128M -k it
>> qemu: fatal: Trying to execute code outside RAM or ROM at 
>> 0x00000000c061e950
>>
>> EAX=000000b0 EBX=00d16000 ECX=00000f00 EDX=000003fe
>> ESI=00000000 EDI=00010000 EBP=00000000 ESP=00d163f4
>> EIP=c061e950 EFL=00200042 [---Z---] CPL=0 II=0 A20=1 SMM=0 HLT=0
>> ES =0018 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
>> CS =0010 00000000 ffffffff 00cf9a00 DPL=0 CS32 [-R-]
>> SS =0018 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
>> DS =0018 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
>> FS =0018 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
>> GS =0018 00000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
>> LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
>> TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
>> GDT=     0011abf0 00000020
>> IDT=     00000000 00000000
>> CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
>> DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
>> DR3=0000000000000000
>> DR6=00000000ffff0ff0 DR7=0000000000000400
>> CCS=00000018 CCD=00d163f8 CCO=CLR
>> EFER=0000000000000000
>> FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
>> FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
>> FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
>> FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
>> FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
>> XMM00=00000000000000000000000000000000
>> XMM01=00000000000000000000000000000000
>> XMM02=00000000000000000000000000000000
>> XMM03=00000000000000000000000000000000
>> XMM04=00000000000000000000000000000000
>> XMM05=00000000000000000000000000000000
>> XMM06=00000000000000000000000000000000
>> XMM07=00000000000000000000000000000000
>>
>>
>>
>> What I wrong? It says is trying to execute code out of the ram.
>
>     Very strange.
>
>     I don't know what is your grub.cfg. Mine is :
>
> set timeout=10
>
> menuentry 'FreeVMS' {
>   multiboot /boot/kickstart maxmem=128M kmem=8M
>   module /boot/x86-kernel
>   module /boot/sigma0
>   module /boot/vmskernel.sys vmskernel.sys root=dqa0.0 console=opa0 \
>           nodbg\$virtual_memory \
>           dbg\$sys_pagefault dbg\$vms_pagefault
>   module /boot/pager.sys pager.sys
>   module /boot/init.exe init.exe
>   #œmodule /boot/drv/dq\$pxii.sys
>   #œmodule /boot/drv/dp\$pc99.sys
>   #œmodule /boot/drv/fs\$ext2.sys
> }
>
> menuentry 'FreeVMS-test' {
>   multiboot /boot/kickstart maxmem=128M kmem=8M
>   module /boot/x86-kernel-test
>   module /boot/sigma0
>   module /boot/vmskernel.sys vmskernel.sys root=dqa0.0 console=opa0 \
>           nodbg\$virtual_memory \
>           dbg\$sys_pagefault dbg\$vms_pagefault
>   module /boot/pager.sys pager.sys
>   module /boot/init.exe init.exe
>   #œmodule /boot/drv/dq\$pxii.sys
>   #œmodule /boot/drv/dp\$pc99.sys
>   #œmodule /boot/drv/fs\$ext2.sys
> }
>
>     kickstart is used to map all modules into memory. Today, it 
> requires two arguments : maxmem (amount of memory) and kmem (reserved 
> kernel memory). I suppose you have forgotten these arguments (or 
> maxmem has a erroneous value). Indeed, in some cases, kickstart is not 
> able to determine these values.
>
>     On console, you should have :
> - grub
> - kickstart 'version' and some memory indications
>
>     On serial line, you should obtain :
>
> riemann:[~/openvms] > ./qemu
>
> L4Ka::Pistachio - built on Jun 23 2013 22:23:41 by bertrand at riemann 
> using gcc version 4.7.3
> // comes from L4/X2 (and of course sigma0)
>
> // Following lines come from freevms.sys, init.exe and pager.sys
> >>> FreeVMS 0.4.0 (R)
>
> %SYSBOOT-I-SYSBOOT, leaving kernel privileges
> %SYSBOOT-I-SYSBOOT, launching FreeVMS kernel with executive privileges
> %SYSBOOT-I-SYSBOOT, booting main processor
> %SYSBOOT-I-SYSBOOT, computing page size: 4096 bytes
> %SYSBOOT-I-SYSBOOT, booting 1 secondary processor
> %SYSBOOT-I-SYSBOOT, CPU0 EXTFREQ=1001 MHz, INTFREQ=1649 MHz
> %SYSBOOT-I-SYSBOOT, CPU1 EXTFREQ=1001 MHz, INTFREQ=1648 MHz
> %SYSBOOT-I-SYSBOOT, parsing command line: vmskernel.sys root=dqa0.0 
> console=opa0 nodbg$virtual_memory dbg$sys_pagefault dbg$vms_pagefault
> %SYSBOOT-I-SYSBOOT, selecting root device: DQA0.0
> %SYSBOOT-I-SYSBOOT, selecting console device: OPA0
> %SYSBOOT-I-SYSBOOT, initializing memory
> ...
>
>     Regards,
>
>     JKB
>
>

This is the mine:


set timeout=10

menuentry 'FreeVMS' {
   multiboot /boot/kickstart maxmem=128M kmem=8M
   module /boot/x86-kernel
   module /boot/sigma0
   module /boot/vmskernel.sys vmskernel.sys root=dqa0.0 console=opa0 \
           nodbg\$virtual_memory \
           dbg\$sys_pagefault dbg\$vms_pagefault
   module /boot/pager.sys pager.sys
   module /boot/init.exe init.exe
   #œmodule /boot/drv/dq\$pxii.sys
   #œmodule /boot/drv/dp\$pc99.sys
   #œmodule /boot/drv/fs\$ext2.sys
}


I will check later if something gone wrong

Regards,
Alex



More information about the FreeVMS mailing list