redox-os issueshttps://gitlab.redox-os.org/groups/redox-os/-/issues2018-06-15T11:40:05Zhttps://gitlab.redox-os.org/redox-os/redox/-/issues/231String URL parsing vs Types?2018-06-15T11:40:05ZJeremy SollerString URL parsing vs Types?*Created by: james-darkfox*
URLs everywhere! Strings? Not ideal for performance. Has anyone considered using builders? If the usage is the concern, then builder macros can also be used.
If various schemes need to be accepted, then a tr...*Created by: james-darkfox*
URLs everywhere! Strings? Not ideal for performance. Has anyone considered using builders? If the usage is the concern, then builder macros can also be used.
If various schemes need to be accepted, then a trait may be used and implemented over the respective types. (This can also be used to restrict inputs with marker traits. I.e. Only accept a context [file, remote, hardware, etc])
One limitation of the sample macro I'm providing here is that we cannot use `//` due to comments.
``` rust
let server: Tcp = url!(Tcp:"10.0.0.1"/80);
takes_url(server); // Tcp implements Url
takes_tcp(server);
```
This sample code does not implement full URL parsing but it is a start demonstrating the idea. https://play.rust-lang.org/?gist=af1d8867e0a10feddaaa&version=nightly
Enums could be used to accept different types. I.e. `10.0.0.1 = Ipv4([0u8;4])`, `"hostname" = Host(&'a str)`, `aa:bb:cc:dd:ee:ff = Mac([u8; 6])`, etc.
Files **COULD** be parsed by identifiers; namely. `url!(File:file)` `url!(File:/foo/bar)` but this would limit the dirs/files to having names that are valid identifiers. Alternatively an expression `"/foo/bar-baz"` could be an option too (if not the only option).
https://gitlab.redox-os.org/redox-os/ion/-/issues/862Broken pipe and arrow keys are not working in Ion shell.2020-05-01T08:55:22ZFlipChipBroken pipe and arrow keys are not working in Ion shell.For some reason when for some reason ssh to something breaks arrow keys aren't working as they should, me thinks.
I have videoscreehottythingie, I can provide to devs, but not going to post it online publicly.
Thanks!For some reason when for some reason ssh to something breaks arrow keys aren't working as they should, me thinks.
I have videoscreehottythingie, I can provide to devs, but not going to post it online publicly.
Thanks!https://gitlab.redox-os.org/redox-os/redox/-/issues/41Joining Teams, Comment Here!2018-11-11T19:15:48ZJeremy SollerJoining Teams, Comment Here!I have created teams for various projects, like @redox-os/package-management @redox-os/shell @redox-os/zfs @redox-os/window-management
If you want to join a team, or create a team, please comment here!
I have created teams for various projects, like @redox-os/package-management @redox-os/shell @redox-os/zfs @redox-os/window-management
If you want to join a team, or create a team, please comment here!
https://gitlab.redox-os.org/redox-os/redox/-/issues/230Updated intrinsics have broken the provided libcore2018-06-15T11:40:05ZJeremy SollerUpdated intrinsics have broken the provided libcore*Created by: james-darkfox*
Redox cannot be compiled with the latest nightly due to changes in the intrinsics.
`$ make qemu`
https://gist.github.com/james-darkfox/7b08cf832acf44e90da0
*Created by: james-darkfox*
Redox cannot be compiled with the latest nightly due to changes in the intrinsics.
`$ make qemu`
https://gist.github.com/james-darkfox/7b08cf832acf44e90da0
https://gitlab.redox-os.org/redox-os/ion/-/issues/863Better differentiation for relative vs absolute file paths2019-04-05T02:44:16ZAudrey Yeena ToskinBetter differentiation for relative vs absolute file pathsI guess I'm not sure if this is an issue for Ion specifically or Redox more generally... But I feel like Redox expanding the "Everything is a file" concept to be "Everything is a URL" means that it's in a good position to fix a very comm...I guess I'm not sure if this is an issue for Ion specifically or Redox more generally... But I feel like Redox expanding the "Everything is a file" concept to be "Everything is a URL" means that it's in a good position to fix a very common user mistake.
The relative file paths `./file` and just `file` are both only a single character away from the absolute file path `/file`. So in basically every existing shell language, accidentally deleting or overwriting a file under root instead of the current working directory, or vice versa, is a fairly common mistake. The typo becomes more dangerous when combined with globs -- accidentally writing `./fiel` instead of `./file` will probably produce a "no such file" error, but `rm -rf /*` and `rm -rf ./*` will both always work. Obviously, it is up to the terminal user and script writer to proofread their own commands, but since this is such a common *and dangerous* mistake, it seems like it would have been a good idea to make sure relative and absolute paths have a greater difference than the absence or presence of a small single dot. Redox and Rust care a lot about code "safety" -- trying to avoid inevitably common typos maybe isn't quite what they meant, but I do feel like improving the safety of shell code in this area is at least a closely related idea.
I'm imagining file prefixes like `here:`, `relative:`, or `cwd:` for relative paths, and `root:`, `absolute:`, or `file:` for absolute paths, but you may think of something better. *Removing* the `./` and `/` file path prefixes might be too controversial, I dunno, but having something like `cwd:` and `root:` or similar, at least as an option, would be nice.https://gitlab.redox-os.org/redox-os/redox/-/issues/227Fix clone() syscall2018-06-15T11:40:05ZJeremy SollerFix clone() syscallCurrently the clone() syscall fails because the stack is moved. If the new stack were mapped in the same location, it may work correctly.
Currently the clone() syscall fails because the stack is moved. If the new stack were mapped in the same location, it may work correctly.
https://gitlab.redox-os.org/redox-os/ion/-/issues/864Unquoted strings aren't being condensed2019-04-14T18:18:59ZMichael Aaron Murphymmstick@pm.meUnquoted strings aren't being condensed```
let a = "$(echo -e 'foo bar\nfizz buzz')"
echo $a
```
This outputs
```
foo bar fizz buzz
```
Ideally this should be
```
foo bar fizz buzz
``````
let a = "$(echo -e 'foo bar\nfizz buzz')"
echo $a
```
This outputs
```
foo bar fizz buzz
```
Ideally this should be
```
foo bar fizz buzz
```https://gitlab.redox-os.org/redox-os/redox/-/issues/191Make fail on OSX Yosemite2018-06-15T11:40:05ZJeremy SollerMake fail on OSX Yosemite*Created by: tfroseman*
Fresh clone on osx running `make all` halts with error 1
```
build/i386/../../filesystem/schemes/zfs/zfs.rs:426:21: 426:81 note: in this expansion of write! (defined in <redox macros>)
i386-elf-ld -m elf_i386 ...*Created by: tfroseman*
Fresh clone on osx running `make all` halts with error 1
```
build/i386/../../filesystem/schemes/zfs/zfs.rs:426:21: 426:81 note: in this expansion of write! (defined in <redox macros>)
i386-elf-ld -m elf_i386 -o filesystem/schemes/zfs/zfs.bin -T kernel/scheme.ld build/i386/`basename zfs/zfs`.rlib build/i386/libredox.rlib
find filesystem -not -path '*/\.*' -type f -o -type l | cut -d '/' -f2- | sort | awk '{printf("file %d,\"%s\"\n", NR, $0)}' > build/i386/filesystem.gen
nasm -f bin -o build/i386/harddrive.bin -ibuild/i386/ -ikernel/ -ifilesystem/ kernel/loader-i386.asm
kernel/loader-i386.asm:243: error: expression syntax error
kernel/loader-i386.asm:250: error: expression syntax error
kernel/loader-i386.asm:286: error: unknown preprocessor directive `%unmacro'
kernel/loader-i386.asm:286: error: label or instruction expected at start of line
kernel/loader-i386.asm:289: warning: redefining multi-line macro `file'
kernel/loader-i386.asm:298: error: unknown preprocessor directive `%unmacro'
kernel/loader-i386.asm:298: error: label or instruction expected at start of line
make: *** [build/i386/harddrive.bin] Error 1
```
https://gitlab.redox-os.org/redox-os/redox/-/issues/1194[idea] Fuchsia OS driver compatibility layer2023-06-13T04:25:55ZAndrzej J. Skalski[idea] Fuchsia OS driver compatibility layerHi,
I am just curious would you consider (or how hard it would be) to get a compatibility layer to run Fuchsia OS's drivers. It would be nice way to get some drivers from a big-company backed project, maybe the shortest path to get some...Hi,
I am just curious would you consider (or how hard it would be) to get a compatibility layer to run Fuchsia OS's drivers. It would be nice way to get some drivers from a big-company backed project, maybe the shortest path to get some hardware working.
What do you think?https://gitlab.redox-os.org/redox-os/ion/-/issues/865Speculative execution in interactive mode2021-06-01T11:44:42ZNagy Tiborxnagytibor@gmail.comSpeculative execution in interactive modeThis could increase the percieved speed of the shell by speculatively executing a carefully selected subset of commands before the user presses the return key. But of course I'm aware adding a feature like this is like opening Pandora's ...This could increase the percieved speed of the shell by speculatively executing a carefully selected subset of commands before the user presses the return key. But of course I'm aware adding a feature like this is like opening Pandora's box.
The idea comes from [Chrome's prerendering](https://www.chromium.org/developers/design-documents/prerender) feature. Most of their general considerations about resource usage, unintended side effects, etc. should still apply here. I don't think there's prior art in context of system shells out there.
I've been thinking about this feature for a long time. If you think this idea just too crazy, feel free to close the issue.unplannedhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1195multiple definition of `__floatdisf'2018-10-20T11:51:58Zbhzhu203multiple definition of `__floatdisf'perl utils/git-testament.pl /home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/netsurf build/Linux-framebuffer/testament.h
TESTMENT: unchanged
LINK: nsfb
x86_64-unknown-redox-gcc -o nsfb build/Linux-framebuffer/build_Linux-frameb...perl utils/git-testament.pl /home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/netsurf build/Linux-framebuffer/testament.h
TESTMENT: unchanged
LINK: nsfb
x86_64-unknown-redox-gcc -o nsfb build/Linux-framebuffer/build_Linux-framebuffer_image-caret_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-hand_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-history_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-history_image_g.o build/Linux-framebuffer/build_Linux-framebuffer_image-left_arrow.o build/Linux-framebuffer/build_Linux-framebuffer_image-left_arrow_g.o build/Linux-framebuffer/build_Linux-framebuffer_image-menu_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-move_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-osk_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-pointer_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-progress_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-reload.o build/Linux-framebuffer/build_Linux-framebuffer_image-reload_g.o build/Linux-framebuffer/build_Linux-framebuffer_image-right_arrow.o build/Linux-framebuffer/build_Linux-framebuffer_image-right_arrow_g.o build/Linux-framebuffer/build_Linux-framebuffer_image-scrolld.o build/Linux-framebuffer/build_Linux-framebuffer_image-scrolll.o build/Linux-framebuffer/build_Linux-framebuffer_image-scrollr.o build/Linux-framebuffer/build_Linux-framebuffer_image-scrollu.o build/Linux-framebuffer/build_Linux-framebuffer_image-stop_image.o build/Linux-framebuffer/build_Linux-framebuffer_image-stop_image_g.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber0.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber1.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber2.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber3.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber4.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber5.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber6.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber7.o build/Linux-framebuffer/build_Linux-framebuffer_image-throbber8.o build/Linux-framebuffer/content_content.o build/Linux-framebuffer/content_content_factory.o build/Linux-framebuffer/content_dirlist.o build/Linux-framebuffer/content_fetch.o build/Linux-framebuffer/content_fetchers_about.o build/Linux-framebuffer/content_fetchers_curl.o build/Linux-framebuffer/content_fetchers_data.o build/Linux-framebuffer/content_fetchers_file.o build/Linux-framebuffer/content_fetchers_resource.o build/Linux-framebuffer/content_handlers_css_css.o build/Linux-framebuffer/content_handlers_css_dump.o build/Linux-framebuffer/content_handlers_css_hints.o build/Linux-framebuffer/content_handlers_css_internal.o build/Linux-framebuffer/content_handlers_css_select.o build/Linux-framebuffer/content_handlers_css_utils.o build/Linux-framebuffer/content_handlers_image_bmp.o build/Linux-framebuffer/content_handlers_image_gif.o build/Linux-framebuffer/content_handlers_image_ico.o build/Linux-framebuffer/content_handlers_image_image.o build/Linux-framebuffer/content_handlers_image_image_cache.o build/Linux-framebuffer/content_handlers_image_jpeg.o build/Linux-framebuffer/content_handlers_image_nssprite.o build/Linux-framebuffer/content_handlers_image_png.o build/Linux-framebuffer/content_handlers_javascript_fetcher.o build/Linux-framebuffer/content_handlers_javascript_none_none.o build/Linux-framebuffer/content_hlcache.o build/Linux-framebuffer/content_llcache.o build/Linux-framebuffer/content_mimesniff.o build/Linux-framebuffer/content_no_backing_store.o build/Linux-framebuffer/content_urldb.o build/Linux-framebuffer/desktop_browser.o build/Linux-framebuffer/desktop_browser_history.o build/Linux-framebuffer/desktop_cookie_manager.o build/Linux-framebuffer/desktop_download.o build/Linux-framebuffer/desktop_font_haru.o build/Linux-framebuffer/desktop_frames.o build/Linux-framebuffer/desktop_global_history.o build/Linux-framebuffer/desktop_gui_factory.o build/Linux-framebuffer/desktop_hotlist.o build/Linux-framebuffer/desktop_knockout.o build/Linux-framebuffer/desktop_local_history.o build/Linux-framebuffer/desktop_mouse.o build/Linux-framebuffer/desktop_netsurf.o build/Linux-framebuffer/desktop_plot_style.o build/Linux-framebuffer/desktop_print.o build/Linux-framebuffer/desktop_save_complete.o build/Linux-framebuffer/desktop_save_pdf.o build/Linux-framebuffer/desktop_save_text.o build/Linux-framebuffer/desktop_scrollbar.o build/Linux-framebuffer/desktop_search.o build/Linux-framebuffer/desktop_searchweb.o build/Linux-framebuffer/desktop_selection.o build/Linux-framebuffer/desktop_sslcert_viewer.o build/Linux-framebuffer/desktop_system_colour.o build/Linux-framebuffer/desktop_textarea.o build/Linux-framebuffer/desktop_textinput.o build/Linux-framebuffer/desktop_treeview.o build/Linux-framebuffer/desktop_version.o build/Linux-framebuffer/frontends_framebuffer_bitmap.o build/Linux-framebuffer/frontends_framebuffer_clipboard.o build/Linux-framebuffer/frontends_framebuffer_corewindow.o build/Linux-framebuffer/frontends_framebuffer_fbtk_bitmap.o build/Linux-framebuffer/frontends_framebuffer_fbtk_event.o build/Linux-framebuffer/frontends_framebuffer_fbtk_fbtk.o build/Linux-framebuffer/frontends_framebuffer_fbtk_fill.o build/Linux-framebuffer/frontends_framebuffer_fbtk_osk.o build/Linux-framebuffer/frontends_framebuffer_fbtk_scroll.o build/Linux-framebuffer/frontends_framebuffer_fbtk_text.o build/Linux-framebuffer/frontends_framebuffer_fbtk_user.o build/Linux-framebuffer/frontends_framebuffer_fbtk_window.o build/Linux-framebuffer/frontends_framebuffer_fetch.o build/Linux-framebuffer/frontends_framebuffer_findfile.o build/Linux-framebuffer/frontends_framebuffer_font_freetype.o build/Linux-framebuffer/frontends_framebuffer_framebuffer.o build/Linux-framebuffer/frontends_framebuffer_gui.o build/Linux-framebuffer/frontends_framebuffer_local_history.o build/Linux-framebuffer/frontends_framebuffer_schedule.o build/Linux-framebuffer/render_box.o build/Linux-framebuffer/render_box_construct.o build/Linux-framebuffer/render_box_normalise.o build/Linux-framebuffer/render_box_textarea.o build/Linux-framebuffer/render_font.o build/Linux-framebuffer/render_form.o build/Linux-framebuffer/render_html.o build/Linux-framebuffer/render_html_css.o build/Linux-framebuffer/render_html_css_fetcher.o build/Linux-framebuffer/render_html_forms.o build/Linux-framebuffer/render_html_interaction.o build/Linux-framebuffer/render_html_object.o build/Linux-framebuffer/render_html_redraw.o build/Linux-framebuffer/render_html_redraw_border.o build/Linux-framebuffer/render_html_script.o build/Linux-framebuffer/render_imagemap.o build/Linux-framebuffer/render_layout.o build/Linux-framebuffer/render_search.o build/Linux-framebuffer/render_table.o build/Linux-framebuffer/render_textplain.o build/Linux-framebuffer/utils_bloom.o build/Linux-framebuffer/utils_corestrings.o build/Linux-framebuffer/utils_file.o build/Linux-framebuffer/utils_filename.o build/Linux-framebuffer/utils_filepath.o build/Linux-framebuffer/utils_hashtable.o build/Linux-framebuffer/utils_http_challenge.o build/Linux-framebuffer/utils_http_content-disposition.o build/Linux-framebuffer/utils_http_content-type.o build/Linux-framebuffer/utils_http_generics.o build/Linux-framebuffer/utils_http_parameter.o build/Linux-framebuffer/utils_http_primitives.o build/Linux-framebuffer/utils_http_www-authenticate.o build/Linux-framebuffer/utils_idna.o build/Linux-framebuffer/utils_libdom.o build/Linux-framebuffer/utils_log.o build/Linux-framebuffer/utils_messages.o build/Linux-framebuffer/utils_nsoption.o build/Linux-framebuffer/utils_nsurl_nsurl.o build/Linux-framebuffer/utils_nsurl_parse.o build/Linux-framebuffer/utils_punycode.o build/Linux-framebuffer/utils_talloc.o build/Linux-framebuffer/utils_time.o build/Linux-framebuffer/utils_url.o build/Linux-framebuffer/utils_useragent.o build/Linux-framebuffer/utils_utf8.o build/Linux-framebuffer/utils_utils.o -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/../sysroot/lib -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -ljpeg -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -lcss -lparserutils -lwapcaplet -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -ldom -lexpat -lhubbub -lparserutils -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -lnsutils -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -lutf8proc -lz -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot//lib -lcurl -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot//lib -lssl -lcrypto -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot//lib -lpng16 -lz -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -lnsbmp -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -lnsgif -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -lrosprite -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -lnspsl -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -lnslog -lm -Wl,--whole-archive -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/inst-framebuffer/lib -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot//lib -lnsfb -lSDL -Wl,--gc-sections -lorbital -Wl,--no-whole-archive -L/home/tmp/Desktop/redox/cookbook/recipes/netsurf/sysroot//lib -lfreetype
/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/../sysroot/lib/liborbital.a(floatdisf.o): In function `__floatdisf':
floatdisf.c:(.text.__floatdisf+0x0): multiple definition of `__floatdisf'
/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/../sysroot/lib/liborbital.a(compiler_builtins-456005cc621b3bbc.compiler_builtins0-637714d659e95dc41ae40f9eddeff677.rs.rcgu.o):compiler_builtins0-637714d659e95dc41ae40f9eddeff677.rs:(.text.__floatdisf+0x0): first defined here
collect2: error: ld returned 1 exit status
Makefile:697: recipe for target 'nsfb' failed
make[2]: *** [nsfb] Error 1
make[2]: Leaving directory '/home/tmp/Desktop/redox/cookbook/recipes/netsurf/build/netsurf'
How to solve this ? Thanks.Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1196Proper fmap support2023-06-28T10:06:06ZjD91mZM2Proper fmap supportI'd like input on something. As you might have noticed, the fmap support I added to redoxfs (https://gitlab.redox-os.org/redox-os/redoxfs/merge_requests/35 and https://gitlab.redox-os.org/redox-os/redoxfs/merge_requests/36) is horrible. ...I'd like input on something. As you might have noticed, the fmap support I added to redoxfs (https://gitlab.redox-os.org/redox-os/redoxfs/merge_requests/35 and https://gitlab.redox-os.org/redox-os/redoxfs/merge_requests/36) is horrible. It loads in the entire chunk of the file you ask for, and then write the entire chunk on sync.
Unfortunately I only learned how linux does it after I actually got this implemented. What I optimally should do is this:
- Read PAGE_SIZE bytes of the file
- On page fault because it tries to access bytes that have not been loaded, read another page
- Write to the file on sync like normal.
But of course the pointer that the user has can't ever move. Not sure if this means that nothing can ever be reallocated or if it means that some virtual mapping thing needs to be updated to point to the new location.
Linux solves this by finding a chunk in memory that can fit the entire file. Would this be a reasonable approach? How would this even be done, with a new syscall?
Another issue is that the bytes that aren't yet loaded can't be allocated because that wouldn't generate a page fault, but they also cannot be used by another program.Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/ion/-/issues/867Ctrl-C is broken2019-04-15T20:21:31ZAdminXVIICtrl-C is brokenSelf-descriptiveSelf-descriptivehttps://gitlab.redox-os.org/redox-os/redox/-/issues/1197Compile Redox with Docker on macOS 10.12 (Sierra)2023-06-13T04:26:01ZMichael HölzlCompile Redox with Docker on macOS 10.12 (Sierra)First i tried to compile Redox on macOS but i can't build the toolchain.
```
Compiling compiler_builtins v0.1.0 (https://github.com/rust-lang-nursery/compiler-builtins.git#2a2f6d96)
Compiling platform v0.1.0 (file:///Users/michaelho...First i tried to compile Redox on macOS but i can't build the toolchain.
```
Compiling compiler_builtins v0.1.0 (https://github.com/rust-lang-nursery/compiler-builtins.git#2a2f6d96)
Compiling platform v0.1.0 (file:///Users/michaelhoelzl/libc/build/cross/relibc/src/platform)
Compiling itoa v0.4.1
error[E0432]: unresolved import `sys`
--> src/platform/src/lib.rs:15:9
|
15 | pub use sys::*;
| ^^^ Maybe a missing `extern crate sys;`?
error[E0423]: expected function, found macro `write`
--> src/platform/src/lib.rs:89:9
|
89 | write(self.0, buf)
| ^^^^^ did you mean `write!(...)`?
help: possible better candidates are found in other modules, you can import them into scope
|
15 | use core::fmt::write;
|
15 | use core::ptr::write;
|
error[E0425]: cannot find function `read` in this scope
--> src/platform/src/lib.rs:111:9
|
111 | read(self.0, buf)
| ^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
|
15 | use core::ptr::read;
|
Compiling quote v0.3.15
error: aborting due to 3 previous errors
You've got a few errors: E0423, E0425, E0432
If you want more information on an error, try using "rustc --explain E0423"
error: Could not compile `platform`.
warning: build failed, waiting for other jobs to finish...
error: build failed
make: *** [target/debug/libc.a] Error 101
Michaels-MacBook-Pro-2:libc michaelhoelzl$
```
Then i tried to use the Docker image and now i get this error.
```
Already up-to-date.
cook - smith fetch
Already up-to-date.
cook - userutils fetch
Already up-to-date.
cook - uutils fetch
Already up-to-date.
cook - zerod fetch
Already up-to-date.
fusermount -u build/filesystem/ || true
fusermount: entry for /Users/michaelhoelzl/redox/build/filesystem not found in /etc/mtab
rm -rf build/filesystem.bin build/filesystem.bin.partial build/filesystem/
dd if=/dev/zero of=build/filesystem.bin.partial bs=1048576 count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 2.11981 s, 127 MB/s
cargo run --manifest-path redoxfs/Cargo.toml --release --bin redoxfs-mkfs build/filesystem.bin.partial
Finished release [optimized] target(s) in 1.04s
Running `redoxfs/target/release/redoxfs-mkfs build/filesystem.bin.partial`
redoxfs-mkfs: created filesystem on build/filesystem.bin.partial, reserved 0 blocks, size 268 MB, uuid c036f8cd-ec60-4817-a0a8-889b87bfb015
mkdir -p build/filesystem/
cargo build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs
Finished release [optimized] target(s) in 1.25s
cargo run --manifest-path redoxfs/Cargo.toml --release --bin redoxfs -- build/filesystem.bin.partial build/filesystem/
Finished release [optimized] target(s) in 0.45s
Running `redoxfs/target/release/redoxfs build/filesystem.bin.partial build/filesystem/`
redoxfs: opening build/filesystem.bin.partial
redoxfs: opened filesystem on build/filesystem.bin.partial with uuid c036f8cd-ec60-4817-a0a8-889b87bfb015
fuse: failed to open /dev/fuse: Permission denied
redoxfs: failed to mount build/filesystem.bin.partial to build/filesystem/: Permission denied (os error 13)
redoxfs: not able to mount path build/filesystem.bin.partial
mk/filesystem.mk:2: recipe for target 'build/filesystem.bin' failed
make: *** [build/filesystem.bin] Error 1
Michaels-MacBook-Pro-2:redox michaelhoelzl$
```Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1198Redox Won't boot in Virtualbox2023-06-13T04:17:53ZFilipRedox Won't boot in Virtualbox**Reproduction**: [describe how you are able to reproduce ("trigger") this bug/issue.]
Make a virtual machine with all the default settings then add the redox os iso as cdrom and start it
**Expected behavior**: [describe the behavior you...**Reproduction**: [describe how you are able to reproduce ("trigger") this bug/issue.]
Make a virtual machine with all the default settings then add the redox os iso as cdrom and start it
**Expected behavior**: [describe the behavior you would expect the repro to yield.]
Start Redox OS
**Actual behavior**: [describe the actual behavior, which is presented through the repro.].
stuck on:
Redox Loader - Stage Two
00000007#007F 0000:8A00
![VirtualBox_Redox_OS](/uploads/fa76030d95202871100c55ef16ea13b0/VirtualBox_Redox_OS_Again_01_07_2018_07_47_09.png)
**Build information**: [only when using a self build version: output of `rustc -V`, `git rev-parse HEAD` `qemu-i386 -version`, `uname -a`, etc.]
**Redox release**: [only when using a prebuild version: redox version]
0.3.5
**Blocking/related**: [issues or PRs blocking or being related to this issue.]
**Misc**: [optional: for other relevant information that should be known or cannot be described in the other fields.]Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1199ISO not booting in Hyper-V: Failed to load ldlinux.c322018-07-06T00:49:01ZSijmen J. MulderISO not booting in Hyper-V: Failed to load ldlinux.c32I've set up an Hyper-V VM on Windows 10 (1803) as a "Generation 1" VM with all the defaults. Assigned 256 MB of memory and 2 GB of disk space. The default virtual optical drive is connected on IDE. The machine is amd64.
When I boot the ...I've set up an Hyper-V VM on Windows 10 (1803) as a "Generation 1" VM with all the defaults. Assigned 256 MB of memory and 2 GB of disk space. The default virtual optical drive is connected on IDE. The machine is amd64.
When I boot the machine from CD from redox_0.3.5.iso I get the error: `Failed to load ldlinux.c32`.
Is there anything I can do? I thought about pulling in the .bin but I'm not sure how I'd approach mounting that to the VM.https://gitlab.redox-os.org/redox-os/ion/-/issues/870cd panics inside user declared fn2019-04-18T16:13:37ZXeoeencd panics inside user declared fn## What happens
Function builtin_cd `panics` and crashes ion.
## How to reproduce
Declare function:
```
fn panic_cd name
cd $name
end
```
And simply use it on existing directory:
```
panic_cd /etc/
```
### Backtrace
```
thread 'mai...## What happens
Function builtin_cd `panics` and crashes ion.
## How to reproduce
Declare function:
```
fn panic_cd name
cd $name
end
```
And simply use it on existing directory:
```
panic_cd /etc/
```
### Backtrace
```
thread 'main' panicked at 'internal error: entered unreachable code', src/lib/shell/directory_stack.rs:244:21
stack backtrace:
0: 0x5631c01c7fb3 - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::headdb40944432803
at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
1: 0x5631c01c64bb - std::panicking::default_hook::{{closure}}::h5d35079c45240518
at src/libstd/sys_common/backtrace.rs:71
at src/libstd/sys_common/backtrace.rs:59
at src/libstd/panicking.rs:197
2: 0x5631c01c54e0 - std::panicking::rust_panic_with_hook::h7a721f63a163d404
at src/libstd/panicking.rs:211
at src/libstd/panicking.rs:474
3: 0x5631c001cab3 - std::panicking::begin_panic::h1ad27cb578f7eb9c
4: 0x5631c00e9c8d - ion_shell::builtins::builtin_cd::h82f16379669ef877
5: 0x5631c00c2de2 - ion_shell::shell::Shell::run_pipeline::h471982589f6df2f4
6: 0x5631c00be461 - <ion_shell::shell::Shell as ion_shell::shell::flow::FlowLogic>::execute_statement::he4eb3cbcb68e7bfd
7: 0x5631c0089275 - <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold::h13785fe303ca1810
8: 0x5631c00c6633 - <ion_shell::shell::Shell as ion_shell::shell::flow::FlowLogic>::execute_statements::h659952c7251c30cf
9: 0x5631c0048a7a - ion_shell::shell::flow_control::Function::execute::h88da4c4bbd68b46a
10: 0x5631c00c2b78 - ion_shell::shell::Shell::run_pipeline::h471982589f6df2f4
11: 0x5631c00be461 - <ion_shell::shell::Shell as ion_shell::shell::flow::FlowLogic>::execute_statement::he4eb3cbcb68e7bfd
12: 0x5631c00bbe89 - <ion_shell::shell::Shell as ion_shell::shell::flow::FlowLogic>::on_command::hde139f9e9101e868
13: 0x5631c00ba7c2 - <ion_shell::shell::Shell as ion_shell::shell::binary::Binary>::execute_interactive::ha3a98915b45028ca
14: 0x5631c01e41e2 - ion::main::hb006e309ff3cbfcf
15: 0x5631c01e4b62 - std::rt::lang_start::{{closure}}::hc6e922937af3ec9c
16: 0x5631c01e3460 - main
17: 0x7fe9ad581222 - __libc_start_main
18: 0x5631c000a15d - _start
19: 0x0 - <unknown>
ion: process (28709) had a core dump
```https://gitlab.redox-os.org/redox-os/ion/-/issues/871Make the initrc file more obvious2019-06-01T15:47:05ZCaleb JAMake the initrc file more obviousI was in the process of getting ion set up on my linux box when I realized `ls` didn't automatically output with color (tbf the only shell I know that does is bash and they just include an alias in the bashrc by default) so I went to go ...I was in the process of getting ion set up on my linux box when I realized `ls` didn't automatically output with color (tbf the only shell I know that does is bash and they just include an alias in the bashrc by default) so I went to go find the config file for ion. I head to .config, notice an `ion/` directory and enter it, it's empty. I went to the Ion manual (https://doc.redox-os.org/ion-manual/) and search for **config** and **settings**, neither of which bring up what I'm looking for.
Since I couldn't find anything useful I try creating `config` (which doesn't work) and `ionrc` (which doesn't work) in the `.config/ion/` folder. Then I tried `.ionrc` in my home directory (doesn't work), so then I try editing `~/.profile`, which doesn't work.
At this point I'm wondering if ion even has a config file, so I head to the issues section to search for other people asking the same thing.
I found redox-os/ion#47 by searching for **config** which leads me to this old pull request on github, https://github.com/redox-os/ion/pull/102 where I click on the pull request commit [`c6c479c`](https://github.com/redox-os/ion/commit/c6c479c690edc734e5282729cae82bfa9890b4f3) and notice that it uses the phrasing "init", just like issue #47 does. So I head back to the ion manual and search for **init** where I finally find this page https://doc.redox-os.org/ion-manual/misc/02-xdg.html and then proceed to learn that the config file should be `~/.config/ion/initrc`.
I then add my line `alias ls="ls --color=always"` and wonder why I didn't try naming the file initrc before.
**TL;DR**
I'm can't find the config file for quite a long time and finally realize it should be called initrc.
To try and keep others from having this issue in the future I have two suggestions
1. Add the word "configuration" somewhere to https://doc.redox-os.org/ion-manual/misc/02-xdg.html so that it shows up when searching for "config" or "configuration" or,
2. create initrc by default (as an empty file or with a comment) so you don't have to hunt down the name or,
3. look for `ionrc` or `config` files as well.
if looking for files, maybe something like this? `$XDG_CONFIG_HOME/ion/*` (ionrc, initrc, or config), `$HOME/.config/ion/*`, `~/.ionrc` in that order.
**EDIT**: and as for the last sentence of the ion manual page on XDG App dirs, ion only outputs `ion: creating history file at "/home/username/.local/share/ion/history"` because it only creates the history file.https://gitlab.redox-os.org/redox-os/redox/-/issues/1201build fails, "failed to load source for a dependency on `tokio`"2018-07-30T21:19:35ZChris Cripplebuild fails, "failed to load source for a dependency on `tokio`"Hello. Today I cloned and attempted to build Redox, however the build fails with `Failed to load source for a dependency on 'tokio'".
Just incase it is needed, here is the full output
```bash
mkdir -p build
nasm -f bin -o build/bootloa...Hello. Today I cloned and attempted to build Redox, however the build fails with `Failed to load source for a dependency on 'tokio'".
Just incase it is needed, here is the full output
```bash
mkdir -p build
nasm -f bin -o build/bootloader -D ARCH_x86_64 -ibootloader/x86_64/ bootloader/x86_64/disk.asm
cd kernel && xargo clean
rm -rf build/initfs
mkdir -p build/initfs
cargo run --manifest-path installer/Cargo.toml -- --cookbook=cookbook -c initfs.toml build/initfs/
Compiling either v1.4.0
Compiling scopeguard v0.3.3
Compiling libc v0.2.33
Compiling rayon-core v1.3.0
Compiling lazy_static v0.2.10
Compiling gcc v0.3.54
Compiling typenum v1.9.0
Compiling version_check v0.1.3
Compiling matches v0.1.6
Compiling untrusted v0.5.1
Compiling winapi-build v0.1.1
Compiling unicode-xid v0.0.4
Compiling unicode-normalization v0.1.5
Compiling build_const v0.2.0
Compiling crc-core v0.1.0
Compiling pkg-config v0.3.9
Compiling log v0.3.8
Compiling byteorder v1.1.0
Compiling quote v0.3.15
Compiling safemem v0.2.0
Compiling percent-encoding v1.0.1
Compiling unicode-width v0.1.4
Compiling httparse v1.2.3
Compiling byteorder v0.5.3
Compiling winapi v0.2.8
Compiling language-tags v0.2.2
Compiling typeable v0.1.2
Compiling traitobject v0.1.0
Compiling constant_time_eq v0.1.3
Compiling adler32 v1.0.2
Compiling fixedbitset v0.1.8
Compiling bitflags v0.9.1
Compiling thread-scoped v1.0.2
Compiling pkgutils v0.1.1 (https://github.com/redox-os/pkgutils.git#767c4d24)
Compiling serde v1.0.21
Compiling ordermap v0.3.1
Compiling scoped_threadpool v0.1.8
Compiling extra v0.1.0 (https://github.com/redox-os/libextra.git#40293208)
Compiling serde v0.8.23
Compiling bidir-map v0.6.0
Compiling spin v0.4.6
Compiling redox_syscall v0.1.31
Compiling ordermap v0.2.13
Compiling version-compare v0.0.4
Compiling arg_parser v0.1.0 (https://github.com/redox-os/arg-parser.git#d16e2d02)
Compiling coco v0.1.1
Compiling num_cpus v1.7.0
Compiling rand v0.3.18
Compiling time v0.1.38
Compiling xattr v0.1.11
Compiling termion v1.5.1
Compiling unicase v1.4.2
Compiling unicode-bidi v0.3.4
Compiling synom v0.11.3
Compiling kernel32-sys v0.2.2
Compiling crc v1.5.0
Compiling mime v0.2.6
Compiling base64 v0.6.0
Compiling fuse v0.3.1
Compiling textwrap v0.9.0
Compiling syn v0.10.8
Compiling blake2-rfc v0.2.17
Compiling petgraph v0.4.10
Compiling uuid v0.5.1
Compiling tar v0.4.13 (https://github.com/redox-os/tar-rs#b71c2202)
Compiling liner v0.1.5
Compiling syn v0.11.11
Compiling toml v0.2.1
Compiling idna v0.1.4
Compiling clap v2.27.1
Compiling argon2rs v0.2.5
Compiling toml v0.4.5
Compiling rayon v0.7.1
Compiling serde_codegen_internals v0.11.3
Compiling generic-array v0.2.1
Compiling url v1.6.0
Compiling serde_derive_internals v0.17.0
Compiling redox_users v0.1.0 (https://github.com/redox-os/users.git#50f4022e)
Compiling ring v0.11.0
Compiling pbr v1.0.0 (https://github.com/ids1024/pb?branch=duration#abe4d6e4)
Compiling static-buffer v0.2.0
Compiling serde_codegen v0.8.23
Compiling libflate v0.1.12
Compiling redoxfs v0.3.1
Compiling hyper v0.10.13
Compiling serde_derive v1.0.21
Compiling octavo-digest v0.1.2 (https://github.com/libOctavo/octavo.git#2eff2009)
Compiling serde_derive v0.8.23
Compiling octavo v0.1.1 (https://github.com/libOctavo/octavo.git#2eff2009)
Compiling webpki v0.14.0
Compiling rustls v0.9.0
Compiling webpki-roots v0.11.0
Compiling hyper-rustls v0.6.1
Compiling redox_installer v0.2.0 (file:///home/jacob/os-dev/redox/installer)
Finished dev [unoptimized + debuginfo] target(s) in 3m 58s
Running `installer/target/debug/redox_installer --cookbook=cookbook -c initfs.toml build/initfs/`
Install Config {
general: GeneralConfig {
prompt: false
},
packages: {
"drivers": PackageConfig {
version: None,
git: None,
path: None
},
"init": PackageConfig {
version: None,
git: None,
path: None
},
"redoxfs": PackageConfig {
version: None,
git: None,
path: None
}
},
files: [
FileConfig {
path: "/etc/init.rc",
data: "export PATH /bin\nexport TMPDIR /tmp\nvesad T T G\nstdio display:1\nps2d us\npcid /etc/pcid/initfs.toml\nredoxfs --uuid $REDOXFS_UUID file\ncd file:\nexport PATH file:/bin\nrun.d /etc/init.d\n",
symlink: false
}
],
users: {}
} to build/initfs/
Create directory build/initfs/
repo - fetching drivers
cook - drivers fetch
Cloning into 'source'...
remote: Counting objects: 1886, done.
remote: Compressing objects: 100% (1055/1055), done.
remote: Total 1886 (delta 830), reused 1840 (delta 811)
Receiving objects: 100% (1886/1886), 466.49 KiB | 373.00 KiB/s, done.
Resolving deltas: 100% (830/830), done.
Already up-to-date.
repo - preparing drivers
cook - drivers prepare
repo - building drivers
cook - drivers build
Updating registry `https://github.com/rust-lang/crates.io-index`
Compiling cc v1.0.18
Compiling core v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/libcore)
Compiling unwind v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/libunwind)
Compiling build_helper v0.1.0 (file:///home/jacob/os-dev/redox/rust/src/build_helper)
Compiling compiler_builtins v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/rustc/compiler_builtins_shim)
Compiling std v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/libstd)
Compiling libc v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/rustc/libc_shim)
Compiling alloc v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/liballoc)
Compiling std_unicode v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/libstd_unicode)
Compiling panic_abort v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/libpanic_abort)
Compiling alloc_system v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/liballoc_system)
Compiling panic_unwind v0.0.0 (file:///home/jacob/os-dev/redox/rust/src/libpanic_unwind)
warning: dropping unsupported crate type `dylib` for target `x86_64-unknown-redox`
Finished release [optimized] target(s) in 3m 40s
Updating git repository `https://gitlab.redox-os.org/redox-os/netutils.git`
Updating git repository `https://gitlab.redox-os.org/redox-os/event.git`
Updating git repository `https://gitlab.redox-os.org/redox-os/arg-parser.git`
Updating git repository `https://gitlab.redox-os.org/redox-os/libextra.git`
Updating git repository `https://gitlab.redox-os.org/redox-os/mio`
Updating git repository `https://github.com/a8m/pb`
Updating git repository `https://gitlab.redox-os.org/redox-os/tokio`
error: failed to load source for a dependency on `tokio`
Caused by:
Unable to update https://gitlab.redox-os.org/redox-os/tokio#4db6ce75
Caused by:
revspec '4db6ce75b5059c42cbbad56d7c441da19fe18c1a' not found; class=Reference (4); code=NotFound (-3)
./repo.sh failed.mk/initfs.mk:2: recipe for target 'build/initfs.tag' failed
make: *** [build/initfs.tag] Error 1
```https://gitlab.redox-os.org/redox-os/ion/-/issues/872Implement More Escape Codes2019-05-02T03:59:23ZRenzixImplement More Escape Codes```sh
echo -e "\033]52;c;$(base64 <<< HelloWorld )\a"
```
prints
```
\033]52;c;SGVsbG9Xb3JsZAo=
```
instead of copying it to my clipboard. (tested with st and alacritty and both work in bash)
I am unsure if you guys want to implement O...```sh
echo -e "\033]52;c;$(base64 <<< HelloWorld )\a"
```
prints
```
\033]52;c;SGVsbG9Xb3JsZAo=
```
instead of copying it to my clipboard. (tested with st and alacritty and both work in bash)
I am unsure if you guys want to implement OSC 52, its not a priority, or if its already planned