[FreeVMS] build problem

BERTRAND Joël joel.bertrand at systella.fr
Mon Dec 16 12:51:42 CET 2013


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


More information about the FreeVMS mailing list