Skip to main content

Multi-boot from ISO on USB with Grub 2

Last time we've talked about how to Manually UEFI Boot Linux and Windows 10 USB from Grub, today we'd like to talk about creating a multi-boot usb stick with grub 2.

Sometimes we need to create multiple linux distribution installation media or bootable usb stick. However, it is always so annoying to re-flush the usb stick again and again.

However, grub actually enables us to boot most of the linux distributions through loop format or iso image files. The iso image format is known for its original design for CD disks or DVD disks so that the distributions are bootable through your CD-ROM drivers. If the distribution is bootable through the CD-ROM drivers and the CD or DVD media is not writable, which it effectively means that we can actually boot from the non-writable iso image file as well.

Read more…

Linux Device Tree Pinctrl Tutorial

When porting drivers on a specific board for a comparatively new linux kernel, it is common to edit the linux device tree files to put together all the device configurations with register values, working modes and pin control offsets set to expected values.

Here in this post we focus on the exact steps one needs to find the correct pin control offset for specific devices. Here we'd take TI's AM4379 (AM437x) chip as an example for this tutorial.

Read more…

Manually UEFI Boot Linux and Windows 10 USB from Grub

Introduction

Dead boot of Linux or Windows needs a lot of labor when sometimes it just does not work.

Legacy boot mode does not support hard drives that provides more than 2TB disk space, and mostly you would like to use UEFI mode for better Windows 10 support.

With this tutorial you may:

  1. Learn how to boot from a blank computer into grub via changing BIOS options
    • You need a working computer with Linux
    • Note: it may differ from BIOS to BIOS, but the basic idea does not change
  2. Learn how to boot from multiple different Linux distribution ISO images from a UEFI compatible USB device
  3. Learn how to boot Windows 10 USB in grub

Read more…

A Humble Introduction to the Basics of Unicode

Unicode诞生之前——单字节编码 (Single-Byte Encoding)

ASCII

!"#$%&'()*+,-./0123456789:;<=>[email protected][\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  • 7位二进制编码
  • 32个控制字符
  • 95个可显示字符
  • 基本通用,但经常使用替换和扩展
  • 适合英语的编码方式,但不适合其他语言

http://en.wikipedia.org/wiki/ASCII

扩展ASCII

  • IBM提出Code Page概念
  • CP437 (Latin US)
  • CP737 (Greek)
  • Apple: Mac OS Roman
  • DEC: Multinational Character Set
  • ISO/IEC 8859
  • … 扩展ASCII种类不计其数

http://en.wikipedia.org/wiki/Extended_ASCII

Read more…

A Humble Introduction to the Basics of GDB

What is GDB?

GDB is a user process that attaches on to another user process.

That's all.

Project Build Type

  • Debug build: gcc -g
    • Works with gdb
    • Shows source code
    • Easy mode
  • Release with debug information build:
    • Works with gdb
    • Shows source code, however messy because of optimizations
    • Hard mode
  • Release build: gcc -O2
    • Works with gdb
    • No source code information available
    • Debug with disassembled application
    • Hell mode

Read more…