Hi all,
I’m sorry to bother, again… But I keep getting problems hope you can give me some advice.
I’m trying to test out L4re +L4Linux on X86 and ARM i.MX6. I downloaded the newest l4re-snapshot-2006082114. I built Fiasco with Intel Pentium Pro and Virtualization (did not change anything else). I built L4re with Pentium Pro type CPU (everything else are default settings). Then I built L4Linux with the L4re builddir. I turned off 64-bit kernel, CPU selected Pentium-Pro, turned off most of the settings as the warning instructed.
These are the settings of L4Linux that I enabled:
Processor type and features: * DMA memory allocation support * Processor feature human-readable name * Fast CPU feature tests * Support for extended X86 platform * Single-depth WCHAN output * High memory support is OFF * Enable bounce buffers * X86 architectural random number generator * Enable seccomp to safety compute untrusted bytecode * Enable the LDT
Power Management and ACPI options: * Suspend to RAM and standby * device power management core functionality * CPU Frequency scaling is OFF Bus Options: * PCI support * PCI access mode is Direct
I was able to compile all three parts and build both iso image (for vmware fusion on macOS) and qemu simulator. I first tested hello, hello-cfg, hello-shared, frame buffer-example-x86, all of those works as expected.
However when I tried to build L4Linux-basic and L4Linux-mag-x86. Not of them works.
for L4Linux-mag-x86 the system shows a diagram “system is booting” then hang forever.
for L4Linux-basic the image boot but freeze soon. The screen shows:
l4cdds: No name given, not starting brd: module loaded l4cdds: no name given, not starting moused: ps/2 mouse device common for all mice l4x: Faking dummy RTC rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 rtc_cmos rtc_cmos: only 24-hr supported rtc_l4x: l4x-rtc: Could not find ‘rtc’ cap rtc_l4x: probe of rtc-l4x failed with error -2 NET: Registered protocol family 17 L4IRQ: set irq type of 64 to 1 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 3072KiB [1 disk] into ram disk… done. VFS: Mounted root (ext2 filesystem) on device 1:0. Freeing unused kernel memory 188K (00494000 - 004c3000) Write protecting the kernel text: 2684K Write protecting the kernel read-only data 768k rodata_test: test data was not read only
Please press Enter to activate this console. clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2845e81c5f6, max-idle_ns: 440795276432 ns clocksource: Switched to clocksource tsc
Initially I thought it might related RTC so I checked out all Real time clock in L4Linux, but it still the same. Any help would be appreciated.
Thanks -Dan
On Wed Jun 21, 2017 at 16:25:01 -0500, Daniel (Xiaolong) Wang wrote:
I’m sorry to bother, again… But I keep getting problems hope you can give me some advice.
I’m trying to test out L4re +L4Linux on X86 and ARM i.MX6. I downloaded the newest l4re-snapshot-2006082114. I built Fiasco with Intel Pentium Pro and Virtualization (did not change anything else). I built L4re with Pentium Pro type CPU (everything else are default settings). Then I built L4Linux with the L4re builddir. I turned off 64-bit kernel, CPU selected Pentium-Pro, turned off most of the settings as the warning instructed.
These are the settings of L4Linux that I enabled:
Processor type and features:
- DMA memory allocation support
- Processor feature human-readable name
- Fast CPU feature tests
- Support for extended X86 platform
- Single-depth WCHAN output
- High memory support is OFF
- Enable bounce buffers
- X86 architectural random number generator
- Enable seccomp to safety compute untrusted bytecode
- Enable the LDT
Power Management and ACPI options:
- Suspend to RAM and standby
- device power management core functionality
- CPU Frequency scaling is OFF
Bus Options:
- PCI support
- PCI access mode is Direct
That's ok. You can also use one of the defconfigs, e.g. x86_32-mp_vPCI_defconfig.
I was able to compile all three parts and build both iso image (for vmware fusion on macOS) and qemu simulator. I first tested hello, hello-cfg, hello-shared, frame buffer-example-x86, all of those works as expected.
Ok, good.
However when I tried to build L4Linux-basic and L4Linux-mag-x86. Not of them works.
for L4Linux-mag-x86 the system shows a diagram “system is booting” then hang forever.
In such a case it is essential to have the serial output to see what's going on as we won't see anything on the graphical screen in this case.
for L4Linux-basic the image boot but freeze soon. The screen shows:
l4cdds: No name given, not starting brd: module loaded l4cdds: no name given, not starting moused: ps/2 mouse device common for all mice l4x: Faking dummy RTC rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 rtc_cmos rtc_cmos: only 24-hr supported rtc_l4x: l4x-rtc: Could not find ‘rtc’ cap rtc_l4x: probe of rtc-l4x failed with error -2 NET: Registered protocol family 17 L4IRQ: set irq type of 64 to 1 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 3072KiB [1 disk] into ram disk… done. VFS: Mounted root (ext2 filesystem) on device 1:0. Freeing unused kernel memory 188K (00494000 - 004c3000) Write protecting the kernel text: 2684K Write protecting the kernel read-only data 768k rodata_test: test data was not read only
Please press Enter to activate this console. clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2845e81c5f6, max-idle_ns: 440795276432 ns clocksource: Switched to clocksource tsc
That actually looks good. It finished booting as it is supposed to do. Is input not working, i.e. pressing enter?
Adam
Thank you very much Adam! I pressed entered but no matter what I do it just hang there without loading the Linux kernel. It is the same situation on both QEMU and VMware.
I think it might be somehow related to the virtual environment (QEMU or VMware). After I tried that I decided to test on a real board, then it works (even though it shows some weird problems). I think it might be helpful to post here, in case there are newbies like me who is also confused (I’m sure lots of people in this community knew this already). My test board is a BeagleBone Black (BBB).
1. I first compiled the fiasco kernel: (Architecture -> ARM processor family, Platform -> TI OMAP, CPU -> ARM Cortex-A8 CPU) # make B=build-armx335 # cd build-arm335 # make config CROSS_COMPILE=arm-linux-gnueabi-
2. Compiled L4re: (Target Architecture -> ARM, CPU variant -> ARMv7A type CPU, Platform Selection -> TI OMAP AM33x) # make O=builddir config CROSS_COMPILE=arm-linux-gnueabi-
3. Compiled L4Linux: (setup L4Linux Configuration path, Target architecture -> ARM architecture, System type -> Build type -> Use ARMv7) # make O=build-arm arm_defconfig # make O=build-arm menuconfig
4. build uboot-able image copy all modules (fiasco + vmlinuz + cfg + modules.list + ramdisk-arm.rd + arm-rv.io http://arm-rv.io/, etc.) to ${L4re/buildDir/bin/arm_armv7a} # make uimage O=build-arm MODULE_SEARCH_PATH=${L4re/buildDir/bin/arm_armv7a} CROSS_COMPILE=arm-linux-gnueabi-
5. make a new FAT32 SD card, then copy the new built bootstrap_L4Linux-basic.uimage into the SD card (BBB already has a built-in uboot-SPL in ROM).
6. boot the BBB and press enter to interrupt the uboot default procedure (initially I was using uboot go command, that does not work). # fathead mmc 0 ${loadaddr} bootstrap_L4Linux-basic.uimage # bootm ${loadaddr}
Finally I see the L4Linux gets boot (attached log). But I’m not sure if I did anything wrong or because the hardware issue. After the L4Linux boot, in 5 seconds the terminal print out the following and reboot into the onboard Linux (see the attached log file):
# _fat_os: error reading image args, err - -1 # reading u-boot.img # reading u-boot.img
Have anyone see this issue? Any further advice would be much appreciated!
Other Questions: 1. Assume I got the L4Linux how can i further build a full fledge Linux environment with Libraries and drivers, I assume those things will need to somehow get into the RAMDISK, is that right? (Sorry I’m a newbie I’m not familiar with this) 2. I want to create a native app on Fiasco+L4re and communicate with the L4Linux Ethernet driver, is there any references for constructing communication between the VM and native apps?
Thanks -Dan
On Jun 22, 2017, at 5:44 PM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote:
On Wed Jun 21, 2017 at 16:25:01 -0500, Daniel (Xiaolong) Wang wrote:
I’m sorry to bother, again… But I keep getting problems hope you can give me some advice.
I’m trying to test out L4re +L4Linux on X86 and ARM i.MX6. I downloaded the newest l4re-snapshot-2006082114. I built Fiasco with Intel Pentium Pro and Virtualization (did not change anything else). I built L4re with Pentium Pro type CPU (everything else are default settings). Then I built L4Linux with the L4re builddir. I turned off 64-bit kernel, CPU selected Pentium-Pro, turned off most of the settings as the warning instructed.
These are the settings of L4Linux that I enabled:
Processor type and features:
- DMA memory allocation support
- Processor feature human-readable name
- Fast CPU feature tests
- Support for extended X86 platform
- Single-depth WCHAN output
- High memory support is OFF
- Enable bounce buffers
- X86 architectural random number generator
- Enable seccomp to safety compute untrusted bytecode
- Enable the LDT
Power Management and ACPI options:
- Suspend to RAM and standby
- device power management core functionality
- CPU Frequency scaling is OFF
Bus Options:
- PCI support
- PCI access mode is Direct
That's ok. You can also use one of the defconfigs, e.g. x86_32-mp_vPCI_defconfig.
I was able to compile all three parts and build both iso image (for vmware fusion on macOS) and qemu simulator. I first tested hello, hello-cfg, hello-shared, frame buffer-example-x86, all of those works as expected.
Ok, good.
However when I tried to build L4Linux-basic and L4Linux-mag-x86. Not of them works.
for L4Linux-mag-x86 the system shows a diagram “system is booting” then hang forever.
In such a case it is essential to have the serial output to see what's going on as we won't see anything on the graphical screen in this case.
for L4Linux-basic the image boot but freeze soon. The screen shows:
l4cdds: No name given, not starting brd: module loaded l4cdds: no name given, not starting moused: ps/2 mouse device common for all mice l4x: Faking dummy RTC rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 rtc_cmos rtc_cmos: only 24-hr supported rtc_l4x: l4x-rtc: Could not find ‘rtc’ cap rtc_l4x: probe of rtc-l4x failed with error -2 NET: Registered protocol family 17 L4IRQ: set irq type of 64 to 1 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 3072KiB [1 disk] into ram disk… done. VFS: Mounted root (ext2 filesystem) on device 1:0. Freeing unused kernel memory 188K (00494000 - 004c3000) Write protecting the kernel text: 2684K Write protecting the kernel read-only data 768k rodata_test: test data was not read only
Please press Enter to activate this console. clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2845e81c5f6, max-idle_ns: 440795276432 ns clocksource: Switched to clocksource tsc
That actually looks good. It finished booting as it is supposed to do. Is input not working, i.e. pressing enter?
Adam
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi Adam,
I’m not sure if input works. I guess it is probably due to the input not working. Is it possible that the input on both QEMU and VMware fusion failed? Have you encountered it before? Any suggestions for debug/fix?
Thanks -Dan
On Jun 22, 2017, at 5:44 PM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote:
On Wed Jun 21, 2017 at 16:25:01 -0500, Daniel (Xiaolong) Wang wrote:
I’m sorry to bother, again… But I keep getting problems hope you can give me some advice.
I’m trying to test out L4re +L4Linux on X86 and ARM i.MX6. I downloaded the newest l4re-snapshot-2006082114. I built Fiasco with Intel Pentium Pro and Virtualization (did not change anything else). I built L4re with Pentium Pro type CPU (everything else are default settings). Then I built L4Linux with the L4re builddir. I turned off 64-bit kernel, CPU selected Pentium-Pro, turned off most of the settings as the warning instructed.
These are the settings of L4Linux that I enabled:
Processor type and features:
- DMA memory allocation support
- Processor feature human-readable name
- Fast CPU feature tests
- Support for extended X86 platform
- Single-depth WCHAN output
- High memory support is OFF
- Enable bounce buffers
- X86 architectural random number generator
- Enable seccomp to safety compute untrusted bytecode
- Enable the LDT
Power Management and ACPI options:
- Suspend to RAM and standby
- device power management core functionality
- CPU Frequency scaling is OFF
Bus Options:
- PCI support
- PCI access mode is Direct
That's ok. You can also use one of the defconfigs, e.g. x86_32-mp_vPCI_defconfig.
I was able to compile all three parts and build both iso image (for vmware fusion on macOS) and qemu simulator. I first tested hello, hello-cfg, hello-shared, frame buffer-example-x86, all of those works as expected.
Ok, good.
However when I tried to build L4Linux-basic and L4Linux-mag-x86. Not of them works.
for L4Linux-mag-x86 the system shows a diagram “system is booting” then hang forever.
In such a case it is essential to have the serial output to see what's going on as we won't see anything on the graphical screen in this case.
for L4Linux-basic the image boot but freeze soon. The screen shows:
l4cdds: No name given, not starting brd: module loaded l4cdds: no name given, not starting moused: ps/2 mouse device common for all mice l4x: Faking dummy RTC rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 rtc_cmos rtc_cmos: only 24-hr supported rtc_l4x: l4x-rtc: Could not find ‘rtc’ cap rtc_l4x: probe of rtc-l4x failed with error -2 NET: Registered protocol family 17 L4IRQ: set irq type of 64 to 1 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 3072KiB [1 disk] into ram disk… done. VFS: Mounted root (ext2 filesystem) on device 1:0. Freeing unused kernel memory 188K (00494000 - 004c3000) Write protecting the kernel text: 2684K Write protecting the kernel read-only data 768k rodata_test: test data was not read only
Please press Enter to activate this console. clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2845e81c5f6, max-idle_ns: 440795276432 ns clocksource: Switched to clocksource tsc
That actually looks good. It finished booting as it is supposed to do. Is input not working, i.e. pressing enter?
Adam
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi Adam and all,
I figured the problem out. Adam was right. The issue was due to the input not working. Although I do not know why there is no response for both QEMU and VMware VM, it might be helpful for someone who has the same issue.
The default command automatically launches QEMU. But without specifying "-serial stdio” a new window will pop up and there is no way to input anything e.g. enter (at least for me). # make qemu O=${build-dir} MODULE_SEARCH_PATH=${build-dir}
The same thing when I created a iso image using grub2iso. Instead I created a ELF image use “make elfimage”, then launches it as: # qemu-system-i386 -m 256 -serial stdio -kernel ${path_of_elfimage} -append “-arg fiasco,,-serial_esc -freq=533000”
Then I can interact with the VM. Is it the correct way to run it or did I do something wrong earlier that caused it?
Also I still could not make the L4Linux run stably on BeagleBone Black as I mentioned in another email (https://www.mail-archive.com/l4-hackers@os.inf.tu-dresden.de/msg07891.html https://www.mail-archive.com/l4-hackers@os.inf.tu-dresden.de/msg07891.html)
The L4Linux got boot then shortly about 10 second the system reboot… I will try with another device but I doubt it is due to the device. Any help would be greatly appreciated!
Thanks -Dan
On Jun 26, 2017, at 3:37 PM, Daniel (Xiaolong) Wang xiaolongw@mail.usf.edu wrote:
Hi Adam,
I’m not sure if input works. I guess it is probably due to the input not working. Is it possible that the input on both QEMU and VMware fusion failed? Have you encountered it before? Any suggestions for debug/fix?
Thanks -Dan
On Jun 22, 2017, at 5:44 PM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote:
On Wed Jun 21, 2017 at 16:25:01 -0500, Daniel (Xiaolong) Wang wrote:
I’m sorry to bother, again… But I keep getting problems hope you can give me some advice.
I’m trying to test out L4re +L4Linux on X86 and ARM i.MX6. I downloaded the newest l4re-snapshot-2006082114. I built Fiasco with Intel Pentium Pro and Virtualization (did not change anything else). I built L4re with Pentium Pro type CPU (everything else are default settings). Then I built L4Linux with the L4re builddir. I turned off 64-bit kernel, CPU selected Pentium-Pro, turned off most of the settings as the warning instructed.
These are the settings of L4Linux that I enabled:
Processor type and features:
- DMA memory allocation support
- Processor feature human-readable name
- Fast CPU feature tests
- Support for extended X86 platform
- Single-depth WCHAN output
- High memory support is OFF
- Enable bounce buffers
- X86 architectural random number generator
- Enable seccomp to safety compute untrusted bytecode
- Enable the LDT
Power Management and ACPI options:
- Suspend to RAM and standby
- device power management core functionality
- CPU Frequency scaling is OFF
Bus Options:
- PCI support
- PCI access mode is Direct
That's ok. You can also use one of the defconfigs, e.g. x86_32-mp_vPCI_defconfig.
I was able to compile all three parts and build both iso image (for vmware fusion on macOS) and qemu simulator. I first tested hello, hello-cfg, hello-shared, frame buffer-example-x86, all of those works as expected.
Ok, good.
However when I tried to build L4Linux-basic and L4Linux-mag-x86. Not of them works.
for L4Linux-mag-x86 the system shows a diagram “system is booting” then hang forever.
In such a case it is essential to have the serial output to see what's going on as we won't see anything on the graphical screen in this case.
for L4Linux-basic the image boot but freeze soon. The screen shows:
l4cdds: No name given, not starting brd: module loaded l4cdds: no name given, not starting moused: ps/2 mouse device common for all mice l4x: Faking dummy RTC rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 rtc_cmos rtc_cmos: only 24-hr supported rtc_l4x: l4x-rtc: Could not find ‘rtc’ cap rtc_l4x: probe of rtc-l4x failed with error -2 NET: Registered protocol family 17 L4IRQ: set irq type of 64 to 1 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 3072KiB [1 disk] into ram disk… done. VFS: Mounted root (ext2 filesystem) on device 1:0. Freeing unused kernel memory 188K (00494000 - 004c3000) Write protecting the kernel text: 2684K Write protecting the kernel read-only data 768k rodata_test: test data was not read only
Please press Enter to activate this console. clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2845e81c5f6, max-idle_ns: 440795276432 ns clocksource: Switched to clocksource tsc
That actually looks good. It finished booting as it is supposed to do. Is input not working, i.e. pressing enter?
Adam
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi,
On Mon Jun 26, 2017 at 16:29:42 -0500, Daniel (Xiaolong) Wang wrote:
I figured the problem out. Adam was right. The issue was due to the input not working. Although I do not know why there is no response for both QEMU and VMware VM, it might be helpful for someone who has the same issue.
The default command automatically launches QEMU. But without specifying "-serial stdio” a new window will pop up and there is no way to input anything e.g. enter (at least for me). # make qemu O=${build-dir} MODULE_SEARCH_PATH=${build-dir}
The default for the system is to listen on the serial. However, the window that comes up with QEMU is actually the screen of the virtualized computer, so there we'd need PS/2 input, or USB.
The same thing when I created a iso image using grub2iso. Instead I created a ELF image use “make elfimage”, then launches it as: # qemu-system-i386 -m 256 -serial stdio -kernel ${path_of_elfimage} -append “-arg fiasco,,-serial_esc -freq=533000”
Then I can interact with the VM. Is it the correct way to run it or did I do something wrong earlier that caused it?
You should set up l4/conf/Makeconf.boot (copied from l4/conf/Makeconf.boot.example), there are the options for QEMU listed. I should make this more explicit.
Also I still could not make the L4Linux run stably on BeagleBone Black as I mentioned in another email (https://www.mail-archive.com/l4-hackers@os.inf.tu-dresden.de/msg07891.html https://www.mail-archive.com/l4-hackers@os.inf.tu-dresden.de/msg07891.html)
The L4Linux got boot then shortly about 10 second the system reboot… I will try with another device but I doubt it is due to the device. Any help would be greatly appreciated!
Here, I can only guess. If it always happens after 10 seconds, could it be that there's a watchdog running for some reason that just resets the system? Could you use the 'hello' target and check whether the same happens?
Adam
Thanks -Dan
On Jun 26, 2017, at 3:37 PM, Daniel (Xiaolong) Wang xiaolongw@mail.usf.edu wrote:
Hi Adam,
I’m not sure if input works. I guess it is probably due to the input not working. Is it possible that the input on both QEMU and VMware fusion failed? Have you encountered it before? Any suggestions for debug/fix?
Thanks -Dan
On Jun 22, 2017, at 5:44 PM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote:
On Wed Jun 21, 2017 at 16:25:01 -0500, Daniel (Xiaolong) Wang wrote:
I’m sorry to bother, again… But I keep getting problems hope you can give me some advice.
I’m trying to test out L4re +L4Linux on X86 and ARM i.MX6. I downloaded the newest l4re-snapshot-2006082114. I built Fiasco with Intel Pentium Pro and Virtualization (did not change anything else). I built L4re with Pentium Pro type CPU (everything else are default settings). Then I built L4Linux with the L4re builddir. I turned off 64-bit kernel, CPU selected Pentium-Pro, turned off most of the settings as the warning instructed.
These are the settings of L4Linux that I enabled:
Processor type and features:
- DMA memory allocation support
- Processor feature human-readable name
- Fast CPU feature tests
- Support for extended X86 platform
- Single-depth WCHAN output
- High memory support is OFF
- Enable bounce buffers
- X86 architectural random number generator
- Enable seccomp to safety compute untrusted bytecode
- Enable the LDT
Power Management and ACPI options:
- Suspend to RAM and standby
- device power management core functionality
- CPU Frequency scaling is OFF
Bus Options:
- PCI support
- PCI access mode is Direct
That's ok. You can also use one of the defconfigs, e.g. x86_32-mp_vPCI_defconfig.
I was able to compile all three parts and build both iso image (for vmware fusion on macOS) and qemu simulator. I first tested hello, hello-cfg, hello-shared, frame buffer-example-x86, all of those works as expected.
Ok, good.
However when I tried to build L4Linux-basic and L4Linux-mag-x86. Not of them works.
for L4Linux-mag-x86 the system shows a diagram “system is booting” then hang forever.
In such a case it is essential to have the serial output to see what's going on as we won't see anything on the graphical screen in this case.
for L4Linux-basic the image boot but freeze soon. The screen shows:
l4cdds: No name given, not starting brd: module loaded l4cdds: no name given, not starting moused: ps/2 mouse device common for all mice l4x: Faking dummy RTC rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 rtc_cmos rtc_cmos: only 24-hr supported rtc_l4x: l4x-rtc: Could not find ‘rtc’ cap rtc_l4x: probe of rtc-l4x failed with error -2 NET: Registered protocol family 17 L4IRQ: set irq type of 64 to 1 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 3072KiB [1 disk] into ram disk… done. VFS: Mounted root (ext2 filesystem) on device 1:0. Freeing unused kernel memory 188K (00494000 - 004c3000) Write protecting the kernel text: 2684K Write protecting the kernel read-only data 768k rodata_test: test data was not read only
Please press Enter to activate this console. clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2845e81c5f6, max-idle_ns: 440795276432 ns clocksource: Switched to clocksource tsc
That actually looks good. It finished booting as it is supposed to do. Is input not working, i.e. pressing enter?
Adam
Hi Adam,
Thank you so much for your help again! I’m sorry I’m not exactly sure how to enable PS/2 or USB input, I know in QEMU we can use “-device usb-mouse -device usb-kbd”, is that what you mean? Is there a way to enable Virtualbox or VMware to use keyboard as well when booting the iso image?
Thank you so much for pointing out the makefile.boot I’m sorry I did not aware of it. It would make the process much faster.
I tried the “hello” target as you suggested turns out it also get reboot after print out “Hello World!” 48 times. Is there a watchdog config in Fiasco or L4re I’m not aware of? Or it is due to how I load the uimage?
I loaded the bootstrap_hello.uimage as this: # Hit any key to stop autoboot: 0 # U-Boot# fatload mmc 0 ${loadaddr} bootstrap_hello.uimage # reading bootstrap_hello.uimage # 1052736 bytes read in 65 ms (15.4 MiB/s) # U-Boot# bootm ${loadaddr}
This is what it shows: # Hello World! # Hello World! # Hello World! # Hello World! # Hello World! # Hello World! # Hello World!
# U-Boot SPL 2014.04-00014-g47880f5 (Apr 22 2014 - 13:23:54) # reading args # spl_load_image_fat_os: error reading image args, err - -1 # reading u-boot.img # reading u-boot.img
Best -Dan
On Jun 26, 2017, at 5:31 PM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote:
Hi,
On Mon Jun 26, 2017 at 16:29:42 -0500, Daniel (Xiaolong) Wang wrote:
I figured the problem out. Adam was right. The issue was due to the input not working. Although I do not know why there is no response for both QEMU and VMware VM, it might be helpful for someone who has the same issue.
The default command automatically launches QEMU. But without specifying "-serial stdio” a new window will pop up and there is no way to input anything e.g. enter (at least for me). # make qemu O=${build-dir} MODULE_SEARCH_PATH=${build-dir}
The default for the system is to listen on the serial. However, the window that comes up with QEMU is actually the screen of the virtualized computer, so there we'd need PS/2 input, or USB.
The same thing when I created a iso image using grub2iso. Instead I created a ELF image use “make elfimage”, then launches it as: # qemu-system-i386 -m 256 -serial stdio -kernel ${path_of_elfimage} -append “-arg fiasco,,-serial_esc -freq=533000”
Then I can interact with the VM. Is it the correct way to run it or did I do something wrong earlier that caused it?
You should set up l4/conf/Makeconf.boot (copied from l4/conf/Makeconf.boot.example), there are the options for QEMU listed. I should make this more explicit.
Also I still could not make the L4Linux run stably on BeagleBone Black as I mentioned in another email (https://www.mail-archive.com/l4-hackers@os.inf.tu-dresden.de/msg07891.html https://www.mail-archive.com/l4-hackers@os.inf.tu-dresden.de/msg07891.html)
The L4Linux got boot then shortly about 10 second the system reboot… I will try with another device but I doubt it is due to the device. Any help would be greatly appreciated!
Here, I can only guess. If it always happens after 10 seconds, could it be that there's a watchdog running for some reason that just resets the system? Could you use the 'hello' target and check whether the same happens?
Adam
Thanks -Dan
On Jun 26, 2017, at 3:37 PM, Daniel (Xiaolong) Wang xiaolongw@mail.usf.edu wrote:
Hi Adam,
I’m not sure if input works. I guess it is probably due to the input not working. Is it possible that the input on both QEMU and VMware fusion failed? Have you encountered it before? Any suggestions for debug/fix?
Thanks -Dan
On Jun 22, 2017, at 5:44 PM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote:
On Wed Jun 21, 2017 at 16:25:01 -0500, Daniel (Xiaolong) Wang wrote:
I’m sorry to bother, again… But I keep getting problems hope you can give me some advice.
I’m trying to test out L4re +L4Linux on X86 and ARM i.MX6. I downloaded the newest l4re-snapshot-2006082114. I built Fiasco with Intel Pentium Pro and Virtualization (did not change anything else). I built L4re with Pentium Pro type CPU (everything else are default settings). Then I built L4Linux with the L4re builddir. I turned off 64-bit kernel, CPU selected Pentium-Pro, turned off most of the settings as the warning instructed.
These are the settings of L4Linux that I enabled:
Processor type and features:
- DMA memory allocation support
- Processor feature human-readable name
- Fast CPU feature tests
- Support for extended X86 platform
- Single-depth WCHAN output
- High memory support is OFF
- Enable bounce buffers
- X86 architectural random number generator
- Enable seccomp to safety compute untrusted bytecode
- Enable the LDT
Power Management and ACPI options:
- Suspend to RAM and standby
- device power management core functionality
- CPU Frequency scaling is OFF
Bus Options:
- PCI support
- PCI access mode is Direct
That's ok. You can also use one of the defconfigs, e.g. x86_32-mp_vPCI_defconfig.
I was able to compile all three parts and build both iso image (for vmware fusion on macOS) and qemu simulator. I first tested hello, hello-cfg, hello-shared, frame buffer-example-x86, all of those works as expected.
Ok, good.
However when I tried to build L4Linux-basic and L4Linux-mag-x86. Not of them works.
for L4Linux-mag-x86 the system shows a diagram “system is booting” then hang forever.
In such a case it is essential to have the serial output to see what's going on as we won't see anything on the graphical screen in this case.
for L4Linux-basic the image boot but freeze soon. The screen shows:
l4cdds: No name given, not starting brd: module loaded l4cdds: no name given, not starting moused: ps/2 mouse device common for all mice l4x: Faking dummy RTC rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 rtc_cmos rtc_cmos: only 24-hr supported rtc_l4x: l4x-rtc: Could not find ‘rtc’ cap rtc_l4x: probe of rtc-l4x failed with error -2 NET: Registered protocol family 17 L4IRQ: set irq type of 64 to 1 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 3072KiB [1 disk] into ram disk… done. VFS: Mounted root (ext2 filesystem) on device 1:0. Freeing unused kernel memory 188K (00494000 - 004c3000) Write protecting the kernel text: 2684K Write protecting the kernel read-only data 768k rodata_test: test data was not read only
Please press Enter to activate this console. clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2845e81c5f6, max-idle_ns: 440795276432 ns clocksource: Switched to clocksource tsc
That actually looks good. It finished booting as it is supposed to do. Is input not working, i.e. pressing enter?
Adam
On 27/06/17 01:09, Daniel (Xiaolong) Wang wrote:
I tried the “hello” target as you suggested turns out it also get reboot after print out “Hello World!” 48 times. Is there a watchdog config in Fiasco or L4re I’m not aware of? Or it is due to how I load the uimage?
I loaded the bootstrap_hello.uimage as this: # U-Boot SPL 2014.04-00014-g47880f5 (Apr 22 2014 - 13:23:54)
It looks like the TI am335x has a watchdog, which is enabled by uboot (at least here in include/configs/ti_am335x_common.h, uboot 2016.11). So it looks like uboot leaves the watchdog in an enabled state and expects the booted system to handle the watchdog.
You could try to disable the watchdog in uboot or try to enable the watchdog driver in l4linux (or add code to pkg/bootstrap to disable the watchdog before starting fiasco, or write a small watchdog server on top of l4, ...) ...
regards, Jean
Thank you Jean! You are absolute right. Adam’s response reminded me, I checked the manual yesterday evening. Turns out there is a watchdog timer that I had never noticed.
Thank you very much! -Dan
On Jun 27, 2017, at 2:47 AM, Jean Wolter jean.wolter@kernkonzept.com wrote:
On 27/06/17 01:09, Daniel (Xiaolong) Wang wrote:
I tried the “hello” target as you suggested turns out it also get reboot after print out “Hello World!” 48 times. Is there a watchdog config in Fiasco or L4re I’m not aware of? Or it is due to how I load the uimage?
I loaded the bootstrap_hello.uimage as this: # U-Boot SPL 2014.04-00014-g47880f5 (Apr 22 2014 - 13:23:54)
It looks like the TI am335x has a watchdog, which is enabled by uboot (at least here in include/configs/ti_am335x_common.h, uboot 2016.11). So it looks like uboot leaves the watchdog in an enabled state and expects the booted system to handle the watchdog.
You could try to disable the watchdog in uboot or try to enable the watchdog driver in l4linux (or add code to pkg/bootstrap to disable the watchdog before starting fiasco, or write a small watchdog server on top of l4, ...) ...
regards, Jean
l4-hackers@os.inf.tu-dresden.de