MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 7 as of 2023-08-07 11:05:11
  • LinuxFromScratch

LinuxFromScratch

  • https://www.linuxfromscratch.org/

Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own custom Linux system, entirely from source code.

  • https://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-11.3-NOCHUNKS.html

  • https://www.linuxfromscratch.org/hints/downloads/files/boot-cd_easy.txt

  • https://www.linuxfromscratch.org/lfs/downloads/stable/wget-list

List of the required downloads for LFS 11.3

   1 cd ~
   2 mkdir lfs
   3 cd lfs
   4 wget https://www.linuxfromscratch.org/lfs/downloads/stable/wget-list
   5 xargs -l wget < wget-list
   6 
   7 # wget --input-file=wget-list --continue --directory-prefix=$LFS/sources
   8 mkdir sources
   9 mv *patch  *xz *gz   *bz2  sources/

initramfs with static program

  • https://www.kernel.org/doc/html/latest/filesystems/ramfs-rootfs-initramfs.html#contents-of-initramfs

A good first step is to get initramfs to run a statically linked "hello world" program as init

sudo apt install qemu-system 

cd /tmp 
wget https://saimei.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-12.1.0-amd64-netinst.iso
sudo mount -o loop /vagrant/debian-12.1.0-amd64-netinst.iso /mnt/iso

cat > hello.c << EOF
#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
  printf("Hello world!\n");
  sleep(999999999);
}
EOF
gcc -static hello.c -o init
echo init | cpio -o -H newc | gzip > test.cpio.gz

cp test.cpio.gz debiancd/install.amd/test.cpio.gz

cat > debiancd/isolinux/isolinux.cfg << EOF 
default bootcd
prompt 1
timeout 40

label bootcd
  kernel /install.amd/vmlinuz
  append initrd=/install.amd/test.cpio.gz vga=788
EOF

cd /tmp/
mkisofs -o /tmp/output2.iso  -R -l -L -D -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "LFS_$(date +%Y%m%d)" /tmp/debiancd/ 
rm /vagrant/output2.iso
cp output2.iso /vagrant

qemu-system-x86_64 -kernel debiancd/install.amd/vmlinuz -initrd test.cpio.gz /dev/zero

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01