running OS on bochs returned error - bochs

I'm working on an OS programming project called pintos. It is run on bochs following the command pintos run nameOfProcess
And here's the error message I get
Writing command line to /tmp/eKW3NMXoGT.dsk...
squish-pty bochs -q
========================================================================
Bochs x86 Emulator 2.5.1.svn
Built from SVN snapshot, after release 2.5.1
Compiled on Apr 6 2012 at 19:37:19
========================================================================
00000000000i[ ] reading configuration from bochsrc.txt
00000000000i[ ] installing x module as the Bochs GUI
00000000000i[ ] using log file bochsout.txt
Next at t=0
Writing command line to /tmp/eKW3NMXoGT.dsk...
squish-pty bochs -q
========================================================================
Bochs x86 Emulator 2.5.1.svn
Built from SVN snapshot, after release 2.5.1
Compiled on Apr 6 2012 at 19:37:19
========================================================================
00000000000i[ ] reading configuration from bochsrc.txt
00000000000i[ ] installing x module as the Bochs GUI
00000000000i[ ] using log file bochsout.txt
Next at t=0
(0) [0x00000000fffffff0] f000:fff0 (unk. ctxt): (invalid) ; ffff
<bochs:1> fgets() returned ERROR.
debugger interrupt request was 0
(0).[0] [0x00000000fffffff0] f000:fff0 (unk. ctxt): (invalid) ; ffff
(0) [0x00000000fffffff0] f000:fff0 (unk. ctxt): (invalid) ; ffff
<bochs:1> fgets() returned ERROR.
debugger interrupt request was 0
(0).[0] [0x00000000fffffff0] f000:fff0 (unk. ctxt): (invalid) ; ffff
Also my bochsrc.txt
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xe0000
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
boot: disk
cpu: ips=1000000
megs: 4
log: bochsout.txt
panic: action=fatal
clock: sync=none, time0=0
ata0-master: type=disk, path=/tmp/eKW3NMXoGT.dsk, mode=flat, cylinders=1, heads=16, spt=63, translation=none
com1: enabled=1, mode=term, dev=/dev/stdout
Bochs was built from source with extra configurations on my Ubuntu 11.04

I had the same problem and I asked a question on OSDev forum.
I used file=$BXSHARE/BIOS-bochs-legacy because I needed 64K BIOS. It didn't work with:
romimage: file=$BXSHARE/BIOS-bochs-legacy, address=0xf0000
in .bochsrc file. And it works without "address=0xf0000" part.
Try to delete the start address of BIOS here:
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xe0000
Just leave:
romimage: file=$BXSHARE/BIOS-bochs-latest
in your bochsrc.txt

Install qemu instead of bosch:
sudo apt-get install qemu
If the version of qemu is recent then you need create a simbolyc link from "qemu-system-i386" to "qemu"
sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu
If the version of qemu is minor to 1.0 you don't need to do that. Now you can run Pintos using qemu, for example:
pintos --qemu -- run alarm-multiple

Related

RTL8188FU driver couldn't be installed because of a missing kernel tree module?

I am relatively new to Arch Linux.
So i have been dealing with this issue for quite a long time now. I got this new RTL8188FTV wireless USB network adapter and i have tried installing the drivers for it with Paru AUR helper. The installation seems to fail, as it throws this error at the end :
==> ERROR: Missing 5.15.70-1-lts kernel modules tree for module 8188fu/r112.89d7288.
I can confirm the wireless adapter is functional, since it works on Windows
Package Name: 8188fu-kelebek333-dkms-git
Is there a way to install this "kernel modules tree" so i could finish the installation?
Thanks!
Edit: back with more errors
Building module:
Cleaning build area...
'make' all KVER=6.0.5-arch1-1.............(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.0.5-arch1-1 (x86_64)
Consult /var/lib/dkms/8188fu/r113.f5df53d/build/make.log for more information.
error: command failed to execute correctly
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Install DKMS modules
==> dkms install --no-depmod 8188fu/r113.f5df53d -k 6.0.5-arch1-1
Error! Bad return status for module build on kernel: 6.0.5-arch1-1 (x86_64)
Consult /var/lib/dkms/8188fu/r113.f5df53d/build/make.log for more information.
==> WARNING: `dkms install --no-depmod 8188fu/r113.f5df53d -k 6.0.5-arch1-1' exited 10
==> ERROR: Missing 5.15.75-1-lts kernel modules tree for module 8188fu/r113.f5df53d.
(3/3) Performing snapper post snapshots for the following configurations...
The command
echo 'alias usb:v0BDApF179d*dc*dsc*dp*icFFiscFFipFFin* rtl8188fu' | sudo tee /etc/modprobe.d/r8188eu-blacklist.conf
doesn't seem to do much.
Installation still fails.
Your on kernel 5.15 so you have to backlist the rl8188eu driver. You can do that with this command
echo 'alias usb:v0BDApF179d*dc*dsc*dp*icFFiscFFipFFin* rtl8188fu' | sudo tee /etc/modprobe.d/r8188eu-blacklist.conf
The code was taken from the same repo the aur package was made from
https://github.com/kelebek333/rtl8188fu

uboot fails to execute load cmd from uboot.env

I am working with
U-boot v2021.10
BeagleBone Black rev C
I've created an uboot.env image with mkenvimage tool from file
loadfromsd=load mmc 0:1 0x82000000 /zImage; load mmc 0:1 0x88000000 /am335x-boneblack.dtb
set_bootargs=setenv bootargs console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
uenvcmd=setenv auotload no; run set_bootargs; run loadfromsd; printenv bootargs; bootz 0x82000000 - 0x88000000
The problem is in files loading to memory with load cmd in first line.
Full message from start is:
U-Boot SPL 2021.10 (Oct 14 2021 - 20:41:20 -0700)
Trying to boot from MMC1
U-Boot 2021.10 (Oct 14 2021 - 20:41:20 -0700)
CPU : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM: 512 MiB
ti_sysc target-module#9000: failed to get fck clock
WDT: Started with servicing (60s timeout)
NAND: nand_base: timeout while waiting for chip to become ready
nand_base: No NAND device found
0 MiB
MMC: ti_sysc target-module#7000: failed to get fck clock
OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... OK
<ethaddr> not set. Validating first E-fuse MAC
Net: eth2: ethernet#4a100000, eth3: usb_ether
=> run uenvcmd
4295456 bytes read in 282 ms (14.5 MiB/s)
'ailed to load '/am335x-boneblack.dtb
bootargs=console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
Kernel image # 0x82000000 [ 0x000000 - 0x418b20 ]
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
Actual error is
=> run uenvcmd
4295456 bytes read in 282 ms (14.5 MiB/s)
'ailed to load '/am335x-boneblack.dtb
P.S. My u-boot fails to recognize ${} substitutions properly, and usage of
console=ttyS0,115200n8
bootpartition=mmcblk0p2
set_bootargs=setenv bootargs console=${console} root=/dev/${bootpartition} rw rootfstype=ext4 rootwait
caused and error
syntax error:
rootfstype=ext4 rootwait0n8
this 0n8 was appended after rootwait and shouldn't be there. So I've written this "straight" file without variables.
Thanks to sawdust for info that carriage return character matters and overrides first letter of error msg - I've got an idea that it also matters for path to file in load cmd, and it matters.
If I use space+\r, NOT just \r - everything works fine.

uwsgi upgrade to python3.7 to fix ImportError: No module named 'encodings'

Honestly, I have no idea what I am doing, so be gentle with me. I am trying to use uwsgi to run my django application on a aws ubuntu instance. I have a virtual environment with python3.7 running, but when I try to run uwsgi. I get this in the logs:
*** Starting uWSGI 2.0.14 (64bit) on [Sun Jan 5 14:51:32 2020] ***
compiled with version: 5.4.0 20160609 on 20 October 2016 05:56:34
os: Linux-4.4.0-109-generic #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 2018
nodename: ip-172-31-41-139
machine: x86_64
clock source: unix
detected number of CPU cores: 1
current working directory: /
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
chdir() to /home/ubuntu/web/graff
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 3804
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /home/ubuntu/web/graffuwsgi.sock fd 3
Python version: 3.5.2 (default, Oct 8 2019, 13:06:37) [GCC 5.4.0 20160609]
Set PythonHome to /home/ubuntu/.virtualenvs/graff
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Here is my uwsgi.conf
# file: /etc/init/graffuwsgi.conf
description "uWSGI server for graff"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec /usr/local/bin/uwsgi --home /home/ubuntu/web/graff/ --socket /home/ubuntu/web/graffuwsgi.sock --chmod-socket=666 --module=graff.wsgi --pythonpath /home/ubuntu/web -H /home/ubuntu/.virtualenvs/graff --logto /home/ubuntu/web/logs/graffuwsgi.log --chdir=/home/ubuntu/web/graff --chmod-socket=666
It seems like python3.5 just doesn't work anymore. I feel like I've had to replace python3.5 with 3.7 in several places lately to fix various bugs, and I have it in my head that if I can get uwsgi to run python3.7 instead of 3.5 then that will solve this error too. Anyway, any help is much appreciated.
Looks like your uwsgi is compiled with different python version, make sure you compile with python 3.5
PYTHON=python3.5 uwsgi --build-plugin "/usr/src/uwsgi/plugins/python python35"
mv python35_plugin.so /usr/lib/uwsgi/plugins/python35_plugin.so
chmod 644 /usr/lib/uwsgi/plugins/python35_plugin.so
you can follow this guide:
https://www.paulox.net/2017/04/04/how-to-use-uwsgi-with-python3-6-in-ubuntu/
The source of error is PythonHome (pyhome, venv, home) setting.
See at the official Python docs on Environment variables
Is your path /home/ubuntu/.virtualenvs/graff suited for Python requirements?
In short:
Use pythonpath (pp) and let the system to find modules.
You can set several repeated options in your uwsgi config to custom modules search, eg:
pythonpath = /opt/web2py/
pythonpath = /opt/anaconda/lib/python3.9/site-packages/
So, I had the same error. And it was fixed by editing uwsgi vassal config.
I thing the core of problem that virtual envs are created with symlinks or have some inner relative paths, so an isolated process inside uwsgi could not find modules.

Ruby installation exited with Error running 'requirements_osx_port_update_system ruby-2.0.0-p247',

I was installing ruby on my mac with os x 10.8.5 using following command:
$ \curl -L https://get.rvm.io | bash -s stable --ruby
and all of sudden I got following errors:
Error running 'requirements_osx_port_update_system ruby-2.0.0-p247',
please read /Users/home/.rvm/log/1380202439_ruby-2.0.0-p247/update_system.log
Requirements installation failed with status: 1.
and this is the content of log file:
[2013-09-26 17:03:59] requirements_osx_port_update_system
requirements_osx_port_update_system () {
__rvm_try_sudo port -dv selfupdate || return $? } current path: /Users/home/.rvm/src/rvm command(2):
requirements_osx_port_update_system ruby-2.0.0-p247 DEBUG: Copying
/Users/home/Library/Preferences/com.apple.dt.Xcode.plist to
/opt/local/var/macports/home/Library/Preferences DEBUG: MacPorts
sources location:
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs
---> Updating MacPorts base sources using rsync receiving file list ... done base.tar
sent 13396 bytes received 10185 bytes 3627.85 bytes/sec total size
is 4925440 speedup is 208.87 receiving file list ... done
base.tar.rmd160
sent 64 bytes received 635 bytes 199.71 bytes/sec total size is 512
speedup is 0.73 DEBUG: successful verification with key
/opt/local/share/macports/macports-pubkey.pem DEBUG: /usr/bin/tar -C
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/tmp
-xf /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base.tar
MacPorts base version 2.1.3 installed, DEBUG: Rebuilding and
reinstalling MacPorts if needed MacPorts base version 2.2.0
downloaded.
---> Updating the ports tree Synchronizing local ports tree from rsync://rsync.macports.org/release/tarballs/ports.tar DEBUG:
/usr/bin/rsync -rtzv --delete-after
rsync://rsync.macports.org/release/tarballs/ports.tar
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs
receiving file list ... done ports.tar
sent 51725 bytes received 31635 bytes 11114.67 bytes/sec total size
is 54435840 speedup is 653.02 DEBUG: /usr/bin/rsync -rtzv
--delete-after rsync://rsync.macports.org/release/tarballs/ports.tar.rmd160
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs
receiving file list ... done ports.tar.rmd160
sent 64 bytes received 636 bytes 155.56 bytes/sec total size is 512
speedup is 0.73 DEBUG: successful verification with key
/opt/local/share/macports/macports-pubkey.pem DEBUG: /usr/bin/tar -C
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/tmp
-xf /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports.tar
DEBUG: /usr/bin/rsync -rtzv --delete-after
rsync://rsync.macports.org/release/tarballs/PortIndex_darwin_12_i386/PortIndex
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs
receiving file list ... done PortIndex
"~/.rvm/log/1380202439_ruby-2.0.0-p247/update_system.log" 176L, 8429C
You should uninstall macports... homebrew and macports don't mix well. issue the command from the terminal:
$ sudo port -fp uninstall installed
http://guide.macports.org/chunked/installing.macports.uninstalling.html
You may also need to clean up homebrew
$ brew cleanup
Then you should be able to install via homebrew.

Erlang causes page faults

When I run the script described here with my user, everything is well:
lorenzo#enzo:~/erlang/pei$ time erl -noshell -smp enabled -S 4 -s fib4 main 10000000
real 0m54.952s
user 1m16.090s
sys 0m0.070s
When I run it as root, it crashed:
lorenzo#enzo:~/erlang/pei$ sudo time erl -noshell -smp enabled -S 4 -s fib4 main 10000000
[sudo] password for lorenzo:
74.68user 0.04system 0:53.56elapsed 139%CPU (0avgtext+0avgdata 66064maxresident)k
0inputs+0outputs (0major+8306minor)pagefaults 0swaps
The error is reproduceable.
My questions are:
Can someone try to explain me what is happending there?
Is it a problem with the erlang runtime or with my OS?
Can someone reproduce this error?
I am running erlang 5.7.4 on ubuntu natty with kernel
Linux enzo 2.6.38-10-generic #46-Ubuntu SMP Tue Jun 28 15:07:17 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
on a Phenom X4.
Why do you think it crashed? time just shows more info when running as root. Page fault is not an error but just the way virtual memory works.
The difference between the two runs is that in the first run, you're running the shell builtin time, but in the second run, you're running whatever sudo finds in the path, which is /usr/bin/time. These two tools have different output formats.
$ type time
time is a shell keyword
$ time echo
real 0m0.000s
user 0m0.000s
sys 0m0.000s
$ type /usr/bin/time
/usr/bin/time is /usr/bin/time
$ /usr/bin/time echo
0.01user 0.00system 0:00.00elapsed 1000%CPU (0avgtext+0avgdata 2784maxresident)k
0inputs+0outputs (0major+217minor)pagefaults 0swaps

Resources