Skip to content

Enhance README with multi-distro and custom image info#16

Merged
genedna merged 1 commit intobuck2hub:mainfrom
userhaptop:patch-1
Feb 12, 2026
Merged

Enhance README with multi-distro and custom image info#16
genedna merged 1 commit intobuck2hub:mainfrom
userhaptop:patch-1

Conversation

@userhaptop
Copy link
Contributor

Add multi-distribution support details and usage examples for Ubuntu, Fedora, and Arch Linux. Include custom image creation instructions with checksum verification.

Add multi-distribution support details and usage examples for Ubuntu, Fedora, and Arch Linux. Include custom image creation instructions with checksum verification.
@genedna genedna merged commit ee0c64f into buck2hub:main Feb 12, 2026
1 check passed
Copy link
Collaborator

@jjl9807 jjl9807 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

None of the Quick Start examples documented for different distributions (Ubuntu, Fedora, Arch) are functional:

  • Ubuntu: Fails to establish vsock connectivity after initialization; manual debugging reveals "Connection closed by UNKNOWN port" errors.
  • Fedora & Arch: Initialization fails entirely—sysroot cannot be mounted and the system drops into emergency mode, indicating a broken initrd.

This documentation update is completely untested and misleading. Submitting instructions that fail across ALL listed distributions demonstrates a total disregard for basic validation. After your previous submission of untested code, this repeat negligence is unacceptable.

@userhaptop Stop polluting the project repository immediately!

Comment on lines +166 to +187
```rust
use anyhow::Result;
use qlean::{Distro, create_image, MachineConfig, with_machine};

#[tokio::test]
async fn test_ubuntu_vm() -> Result<()> {
// Ubuntu - WSL friendly, no guestfish required
let image = create_image(Distro::Ubuntu, "ubuntu-noble-cloudimg").await?;
let config = MachineConfig::default();

with_machine(&image, &config, |vm| {
Box::pin(async {
let result = vm.exec("lsb_release -a").await?;
assert!(result.status.success());
Ok(())
})
})
.await?;

Ok(())
}
```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you bother to run this example before submitting?


- 🔗 **Flexible Sources**: Download from URL or use local qcow2 files
- 🔒 **Security First**: Mandatory SHA-256/SHA-512 checksum verification
- 🪟 **WSL Compatible**: Optional pre-extracted kernel/initrd mode
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What exactly were you planning to put here—an emoji?

}
```

> **💡 Tip**: Ubuntu is the recommended distribution for WSL users as it doesn't require guestfish for boot file extraction.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What motivated the focus on WSL compatibility here? Did you encounter a specific runtime issue under WSL? If so, please share details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments