Posts
4437
Following
315
Followers
470
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

Jarkko Sakkinen

Edited 1 year ago
software products of finnish software company arisoft. it is fun observation that the whole serial link thing that they had on-going is generation over what people use today when they connect TTL-USB-cable. Arisoft had a MS-DOS software in the early 90s that made possible to "smurf" your way in through the serial and have simultaneous file transfer at the same time. multitasking is imho the future.

so when i look at this web page i'm literally not looking into the past but to one generation ahead in the hopefully not so distant future.

#zmodem #smodem #bbs #serial #tty
1
0
2

Jarkko Sakkinen

it is 2023 and i'm implementing #zmodem just a sub-portion of it: 32-bit binary transfers. So ignoring 16-bit and alternative hex protocol. There's some non lively looking zmodem crate and of course lrzsz but neither of them feel too inspiring to contribute or build on top off.
1
0
1

Jarkko Sakkinen

all sort of glitch with #rustlang community comes to personally in the end how you look at a programming language: a language or purely just an opcode generator. one example of such glitch is IMHO unrobust handling of OOM conditions. So you end up getting safe but and super fat and resource wasteful user space programs. But still memory-safe in the language level, which does not provide safety for e.g. any possible DoS attack.
1
0
1

Jarkko Sakkinen

tonights jam, something in progress #bitwig
0
0
0

Jarkko Sakkinen

Lot's of RISC-V posts but here's one more. I think it has a strong future in post-#quantum world. QPU is like GPU, i.e. it is great for certain types of computations but it sucks for branching binary logic that I/O relies on. In that world correctness of stuff that is done with semiconductors is hugely more important than now and that's where open, modular and within constraints formally verifiable CPU architecture shines.

#riscv
0
0
2

Jarkko Sakkinen

If most of firmware stack in RISC-V was rustified so that you could build compatible SBI implementation with cargo build, that would be the most effective embedded product creation platform that I could think of. You could move from product idea rapidly to a product PoC.

#riscv #rustlang
2
3
6

Jarkko Sakkinen

I wonder if #BeagleV has similar #DIP switch as #VisionFive2, which works as a selector for different boot modes?

In VisionFive2 you can choose to:

  1. Boot from SPI flash.
  2. Boot from SD (including U-boot and OpenSBI, assumes a particular partition layout).
  3. Rescue UART boot mode.

These VisionFive2 e.g. pretty capable board for prototyping CPU extensions.

#riscv #sbc #uboot #opensbi

0
1
2

Jarkko Sakkinen

Edited 1 year ago
I like how easy it is with RISC-V to emulation ISA extensions by emulating privileged instructions in M-mode. that makes it pretty good production creation platform when you have something in-between FPGA and QEMU. I.e. you can take ASIC board and build a PoC with customized OpenSBI. #riscv #opensbi #fpga #qemu
0
1
5

Jarkko Sakkinen

after years of using #voxengo #span i've started using #tokyodawnlab's new and free #prism: https://www.tokyodawn.net/tdr-prism/
0
0
0

Jarkko Sakkinen

Edited 1 year ago
Nice, with the DIP switches Starfive VisionFive 2 SBC can be made to boot the full chain from SD card. Initially booting from SPI flash for any possible use for this never really makes sense. It is a badly chosen default for this sort of maker and/or developer product :-) #riscv #opensbi #uboot #starfive #visionfive2 #keystone
2
0
1

Jarkko Sakkinen

Log grabbing pattern for pretty_env_logger. when tracing #Rust #TUI applications;

RUST_LOG=debug target/debug/tior open /dev/ttyUSB0 2> log.txt

#rustlang

0
1
2

Jarkko Sakkinen

great, now #tior #serial #terminal tool has UTF-8/escape code encoder for most relevant key presses without modifier key. i guess now is a good time to look at #zmodem support. it is just disjoint state for the TTY session, and in the end might be easier part.
0
0
0

Jarkko Sakkinen

beginnings of an input encoder for my serial tool. it is probably better to have in-tool encoder because it also affects a lot to the user experience. next stop probably supporting also backspace :-) https://github.com/jarkkojs/tior/commit/08bc02c0acf8d3424eb35db44f49debc5394989a

#tior #serial #terminal
1
0
0

Jarkko Sakkinen

Edited 1 year ago
a public git for my serial port tool development aimed for mainly kernel testing with various SBC's: https://github.com/jarkkojs/tior. Just a skeleton I'll work on the user input part next, and later on zmodem.
1
0
0

Jarkko Sakkinen

Edited 1 year ago

For managing #terminal in #Rust the best option after trying a bunch is avt. The reason is that it has been thrown out a lot with the applications it has been used for. Not so easily found as not available in the #cargo repository. For framework like #ratatui it is pretty trivia to integrate as the the representation is just frame buffer as a byte array.

All various ratatui and tui-rs derived frameworks are pretty immature compared to its robustness. It is much better idea to just decorate avt as it feels quite rock solid with the streamed data.

#rustlang

1
0
1

Jarkko Sakkinen

moving from line editor world to the screen editor world #serial #terminal #vt100 #zmodem
0
0
0

Jarkko Sakkinen

My new CI environment for TPM, ARM TEE (TrustZone/SMC) and Linux keyring. Made itself useful within 5 minutes after power on: https://lore.kernel.org/linux-integrity/CX342W32D30U.330BVFC336MA8@kernel.org/T/#t.

Environment: https://github.com/jarkkojs/buildroot-tpmdd/tree/linux-6.6.y
1
0
0

Jarkko Sakkinen

Fix sudo in #OpenSUSE #Tumbleweed:

$ sudo cat /etc/polkit-1/rules.d/60-local.rules
polkit.addRule(function(action, subject) {
    if (subject.isInGroup("wheel")) {
        return polkit.Result.AUTH_SELF_KEEP;
    }
});
$ sudo systemctl restart polkit.service

I.e. when root login has been disabled earlier with:

# passwd -d root
# passwd -l root

#note

1
0
0

Jarkko Sakkinen

In #OpenSUSE, the package name you want to install is systemd-devel, not libudev-devel 🙂 #udev #linux

0
0
0

Jarkko Sakkinen

Edited 1 year ago

Installing #rustup:

alias rustup="curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s --"

E.g.

rustup --no-modify-path

Just though that good to write this up since I see some distributions packaging rustup, which makes no sense (for #rustc and #cargo it does for obvious reasons).

It is also totally safe to run rustup this way kudos to the amazing #TLS 1.2.

#rustlang

2
0
1
Show older