Mini-handbook
A short reference for Open Small Linux 0.8: how to try it, install it,
and live with it. Everything below is exactly what the system ships today.
1. Requirements
| Component | Minimum | Recommended |
| CPU | x86-64 | x86-64 with SSE2 |
| RAM | 512 MB | 1 GB or more |
| Disk | 1 GB free | 2 GB+ |
| Firmware | Legacy BIOS | UEFI or Legacy BIOS |
The live system runs entirely from RAM (the initramfs is ~300 MB), so do
not try it on a machine with 256 MB of memory.
2. Live mode
Write the ISO to a USB stick and boot from it:
dd if=osl-v0_8.iso of=/dev/sdX bs=4M status=progress
sync
Welcome to Open Small Linux 0.8
osl login: root # <- no password
The live system is read-only in spirit: everything you change lives in
RAM and disappears on reboot. To keep anything, install to a disk.
3. Installation
The installer does not partition the disk for you: split it yourself
first, then let osl-install do the rest (format, copy, boot code).
cfdisk /dev/vda # 1) DOS/MBR layout for BIOS
# or: cfdisk --label gpt /dev/vda for UEFI
osl-install # 2) run the installer as root
What the installer asks:
| Question | Answer |
| Target partition | e.g. /dev/vda1 (the one you just created) |
| Destroy data? | y |
| Boot mode | 1 = DOS/MBR + BIOS, 2 = GPT + UEFI |
| ESP partition | only in mode 2, e.g. /dev/vda2 |
Then it runs, without asking anything else:
mke2fs -F on the chosen partition;
- copies the whole system (
cp -a of bin sbin lib etc usr boot ...);
- writes
/etc/fstab (and /boot/efi entry in UEFI mode);
- generates
/boot/grub/grub.cfg with the right
root=/dev/... and set root='hd0,msdos1' / 'hd0,gptN';
- installs the boot code by hand:
- BIOS: first 440 bytes of
boot.img into the MBR
(partition table untouched!) and core.img into the gap at sector 1;
- UEFI: formats the ESP as FAT32 and copies
EFI/BOOT/BOOTX64.EFI.
Requirement: the first partition must start at sector 2048
(1 MiB alignment) so that core.img fits into the MBR gap.
The installer checks this and refuses to proceed otherwise.
Reboot, remove the USB stick, done.
4. First steps after installation
osl-sysinfo # does everything look right?
osl-net status # interfaces, addresses, default route
osl-net ping 1.1.1.1 # connectivity check
passwd # SET a root password, the default is empty!
5. Built-in tools
| Command | What it does |
osl-sysinfo | OS version, kernel, CPU, memory, disks, uptime |
osl-net status | Interfaces, IPv4/IPv6 addresses, default route |
osl-net ping HOST | 3 ICMP echoes via /bin/ping |
osl-net up|down IFACE | Bring an interface up or down |
osl-power | Interactive menu: reboot / power off / halt |
osl-install | Installs the system to a hard disk (see above) |
6. Packages (opkg)
opkg is included in every image. Honest note for 0.8: no package
feed is configured yet — there is no /etc/opkg.conf and no
package database, so opkg update will fail until the official
repository launches. Installing a package from a local file works:
opkg install ./some-package.ipk
After the official repository appears, the usual workflow will be:
opkg update
opkg search <keyword>
opkg install <package>
opkg remove <package>
opkg list-installed
See also the Repository page.
7. Boot & GRUB
There is no grub-install and no grub-mkconfig
in OSL. The installer writes everything itself, which means the bootloader
is fully manual — and fully predictable:
| File | Role |
/boot/grub/grub.cfg | The boot menu. Edit it directly to change timeout, title, kernel options. There is no update-grub — the file is the configuration. |
| MBR (sector 0) | First 440 bytes of boot.img (BIOS only) |
| Sectors 1..N | core.img in the gap before the first partition (BIOS only) |
EFI/BOOT/BOOTX64.EFI | UEFI bootloader on the ESP |
An example menu entry:
set default="0"
set timeout="3"
menuentry "Open Small Linux" {
insmod ext2
set root='hd0,msdos1'
linux /boot/bzImage root=/dev/vda1 rw console=tty1
}
Notes:
- GRUB modules are not stored on the disk; everything needed
(
normal, ext2, linux, search...)
is embedded into core.img. So insmod ext2 in the
menu works, but insmod of anything else will fail with
"file not found" unless you copy the modules to
/boot/grub/i386-pc/ yourself.
- Both boot images contain a small early config that runs
search --file /boot/grub/grub.cfg, so GRUB finds the menu on
any partition, no matter how it is numbered.
- The default root password is empty. Set one with
passwd right after installation.
8. Troubleshooting
| Symptom | What to do |
| "error: no such partition" / GRUB rescue prompt | The disk moved or the menu points at the wrong partition. Boot from USB, check
/boot/grub/grub.cfg and fix set root= and
root=. |
| Installer says partition starts too early | Re-partition with 1 MiB alignment (start sector 2048). cfdisk does this by default; old tools may not. |
| Installer refuses: "current root filesystem" | You pointed it at the partition you are running from. Pick another one. |
| Black screen after GRUB on UEFI | Add console=tty1 (or console=ttyS0 for serial) to the
linux line in grub.cfg. |
| No network at boot | osl-net status, then ifup eth0 / check
/etc/network/interfaces. |
| Forgot the root password | Boot from USB, mount the installed partition, delete the password hash in
<mount>/etc/shadow. |
| Need to change a kernel parameter | Edit the linux line in /boot/grub/grub.cfg. That's all — no regeneration step exists. |
This handbook describes
Open Small Linux 0.8. Foundry programs are not yet part of the image.
|