Changeset 2124

Show
Ignore:
Timestamp:
10/21/07 08:38:05 (1 year ago)
Author:
alexander
Message:

Split initramfs into 32-bit and 64-bit parts, allowing the CD to boot on
computers with 32 MB of RAM.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Makefile

    r2110 r2124  
    291291        ch-hibernate-script ch-slang ch-mc ch-fuse ch-dosfstools ch-ntfsprogs \ 
    292292        ch-libaal ch-reiser4progs ch-vbetool ch-bin86 ch-lilo ch-syslinux \ 
    293         ch-scsi-firmware ch-net-firmware ch-linux32 
     293        ch-scsi-firmware ch-net-firmware ch-linux32 ch-initramfs 
    294294ifeq ($(CD_ARCH),x86) 
    295295        make ch-grub 
     
    299299endif 
    300300        make ch-linux64 
    301         make ch-initramfs 
    302301        make ch-gcc33 
    303302        make update-caches 
  • trunk/doc/lfscd-remastering-howto.txt

    r2044 r2124  
    1616 
    1717For LFS LiveCD 6.2-x, see the old "lfscd-remastering-howto-6.2.txt" hint. 
     18 
     19For LFS LiveCD 6.3-rX with x<2124, see the old "lfscd-remastering-howto-6.3-old.txt" hint. 
    1820 
    1921HINT: 
     
    9799additional packages you want. Modify other files as necessary. 
    98100 
    99 Check out the initramfs files: 
    100         svn co svn://svn.linuxfromscratch.org/livecd/trunk/packages/initramfs 
    101  
    102 Remove the "include $(ROOT)/scripts/functions" and 
    103 "cp initramfs_data.cpio.gz /boot/isolinux/initramfs_data.cpio.gz" lines 
    104 from the Makefile. Generate the initramfs image for your CD: 
     101Generate initramfs images for your CD by running the create-initramfs command 
     102for each kernel. This command accepts the following parameters: the LiveCD 
     103version, the kernel version, and the name of the initramfs file to create. 
    105104 
    106105For x86: 
    107         make compile-stage2 VERSION="x86-6.3-custom" LINKER=ld-linux.so.2 
     106        create-initramfs x86-6.3-custom 2.6.22.5 initramfs_data.cpio.gz 
     107        create-initramfs x86-6.3-custom 2.6.22.5-64bit initramfs_data64.cpio.gz 
    108108 
    109109For x86_64: 
    110         make compile-stage2 VERSION="x86_64-6.3-custom" \ 
    111             LINKER=ld-linux-x86-64.so.2 64bit=true 
     110        create-initramfs x86_64-6.3-custom 2.6.22.5-64bit initramfs_data64.cpio.gz 
    112111 
    113112(you can replace the "6.3-custom" with your own string). This produces the 
    114 initramfs_data.cpio.gz file in the current directory. Copy it to /build: 
    115         cp initramfs_data.cpio.gz /build 
     113initramfs_data.cpio.gz and possibly initramfs_data64.cpio.gz files in the 
     114current directory. Copy them to /build: 
     115        cp initramfs_data*.cpio.gz /build 
    116116 
    117117Exit from the chroot and clean up the mounts: 
     
    152152        cp -r /media/cdrom/*/ $WORK/iso 
    153153 
    154 Replace the stock initramfs image with your own: 
    155         cp $WORK/build/initramfs_data.cpio.gz \ 
    156             $WORK/iso/boot/isolinux/initramfs_data.cpio.gz 
     154Replace the stock initramfs images with your own: 
     155        cp $WORK/build/initramfs_data*.cpio.gz \ 
     156            $WORK/iso/boot/isolinux/ 
    157157 
    158158Recompress the root.ext2 file: 
     
    187187   [2007-08-28] 
    188188    * Updated for the final 6.3 version 
     189 
     190   [2007-10-21] 
     191    * Updated for the new create-initramfs script 
  • trunk/isolinux/isolinux.cfg

    r2102 r2124  
    2020label linux64 
    2121  kernel linux64 
    22   append initrd=initramfs_data_cpio.gz quiet 
     22  append initrd=initramfs_data64_cpio.gz quiet 
  • trunk/packages/initramfs/Makefile

    r2068 r2124  
    33NM= initramfs 
    44VRS= 1 
    5  
    6 WDIR= temp 
    75 
    86# Targets 
     
    2018 
    2119compile-stage2: 
    22         mkdir -p $(WDIR)/{bin,dev,etc/udev/rules.d,lib/firmware,sbin,sys,proc} 
    23 ifdef 64bit 
    24         ln -s lib $(WDIR)/lib64 
    25 endif 
    26         cp /etc/udev/udev.conf $(WDIR)/etc/udev/udev.conf 
    27         cp /etc/udev/rules.d/{05-*,2*,60-*} $(WDIR)/etc/udev/rules.d 
    28         sed -i 's/, *GROUP="[^"]*"//' $(WDIR)/etc/udev/rules.d/* 
    29         echo "blacklist generic" >$(WDIR)/etc/modprobe.conf 
    30         echo "blacklist ata_generic" >>$(WDIR)/etc/modprobe.conf 
    31         sed -e s/@VERSION@/$(VERSION)/ -e s/@LINKER@/$(LINKER)/ init.in >$(WDIR)/init 
    32         chmod 755 $(WDIR)/init 
    33         cp fakecd.iso.head $(WDIR) 
    34         mknod -m 640 $(WDIR)/dev/console c 5 1 
    35         mknod -m 664 $(WDIR)/dev/null c 1 3 
    36         cp /bin/{sh,dd,cat,cp,killall,ls,mkdir,mount,umount,sed,sleep,ln,rm,uname} $(WDIR)/bin 
    37         cp /lib/{librt.so.1,libpthread.so.0} $(WDIR)/lib 
    38         cp /lib/{libblkid.so.1,libc.so.6,libdl.so.2,$(LINKER)} $(WDIR)/lib 
    39         cp /lib/{libncursesw.so.5,libreadline.so.5,libhistory.so.5} $(WDIR)/lib 
    40         cp /lib/{libpthread.so.0,librt.so.1,libuuid.so.1} $(WDIR)/lib 
    41         cp /lib/{libvolume_id.so.0,libsysfs.so.2} $(WDIR)/lib 
    42         cp /usr/lib/libdevmapper.so.1.02 $(WDIR)/lib 
    43         cp -a /lib/udev $(WDIR)/lib 
    44         cp -a /lib/firmware/{aic94xx-seq.fw,ql*.bin} $(WDIR)/lib/firmware 
    45         cp /sbin/{losetup,blockdev,udevd,udevtrigger,udevsettle,modprobe} $(WDIR)/sbin 
    46         cp /sbin/pcmcia-{check-broken-cis,socket-startup} $(WDIR)/sbin 
    47         cp /usr/bin/stat $(WDIR)/bin 
    48         cp /usr/sbin/dmsetup $(WDIR)/sbin 
    49         find /lib/modules/*/kernel/drivers/{ata,base,block,cdrom,ide,ieee1394,firewire,hid,message,scsi,pcmcia,usb/{core,host,storage}} \ 
    50             /lib/modules/*/kernel/fs/{mbcache.ko,ext2,ext3,ext4,jbd,jbd2,jfs,reiserfs,reiser4,xfs,fat,vfat,ntfs,isofs,udf,nls} \ 
    51             /lib/modules/*/kernel/lib -type f | cpio --make-directories -p $(WDIR) 
    52         for a in /lib/modules/* ; do ver=$${a##*/} ; depmod -b $(WDIR) $$ver ; done 
    53         cd $(WDIR); find . | cpio -o -H newc | gzip -9 > ../initramfs_data.cpio.gz 
    54         cp initramfs_data.cpio.gz /boot/isolinux/initramfs_data.cpio.gz 
    55         rm -rf $(WDIR) 
     20        mkdir -p /usr/share/initramfs 
     21        cp fakecd.iso.head /usr/share/initramfs 
     22        sed -e 's/@LINKER@/$(LINKER)/' init.in >/usr/share/initramfs/init.in 
     23        sed -e 's/@LINKER@/$(LINKER)/' create-initramfs.in > /usr/bin/create-initramfs 
     24        chmod 755 /usr/bin/create-initramfs 
    5625 
    5726clean: 
    58         -rm -rf $(WDIR) 
    59         -rm -f initramfs_data* 
    6027 
    6128.PHONY: clean chroot compile-stage2 
  • trunk/packages/linux/Makefile

    r2103 r2124  
    9898        make modules_install 
    9999        cp -v arch/i386/boot/bzImage /boot/isolinux/linux 
     100        create-initramfs $(VERSION) $(VRS) /boot/isolinux/initramfs_data.cpio.gz 
    100101        sed 's/VERSION/$(VRS)/' ../fakes-for-fglrx/uname.in >../fakes-for-fglrx/uname 
    101102        sed 's/VERSION/$(VRS)/' ../fakes-for-fglrx/cat.in >../fakes-for-fglrx/cat 
  • trunk/packages/linux64/Makefile

    r2103 r2124  
    106106        $(CROSS_MAKE) 
    107107        $(CROSS_MAKE) modules_install 
     108        cp -v arch/x86_64/boot/bzImage /boot/isolinux/linux64 
     109        create-initramfs $(VERSION) $(VRS) /boot/isolinux/initramfs_data64.cpio.gz 
    108110        sed 's/VERSION/$(VRS)/' ../fakes-for-fglrx/uname.in >../fakes-for-fglrx/uname 
    109111        sed 's/VERSION/$(VRS)/' ../fakes-for-fglrx/cat.in >../fakes-for-fglrx/cat 
     
    134136ifeq ($(CD_ARCH),x86) 
    135137        rm /lib/modules/*-64bit/{source,build} 
    136         cp -v arch/x86_64/boot/bzImage /boot/isolinux/linux64 
    137138endif 
    138139ifeq ($(CD_ARCH),x86_64) 
    139         cp -v arch/x86_64/boot/bzImage /boot/isolinux/linux 
    140140        rm -rf $(DIR2) $(DIR3) $(DIR4) $(DIR5) $(DIR6) $(DIR7) $(DIR8) $(DIR9) $(DIR10) 
    141141        ../debian-style-headers.sh 
    142142endif 
    143143        mv *.tgz /drivers 
    144  
    145144 
    146145clean: 
  • trunk/packages/syslinux/Makefile

    r2118 r2124  
    2727        cp -v $(ROOT)/isolinux/{isolinux.cfg,boot.msg,splash.lss} /boot/isolinux 
    2828ifeq ($(CD_ARCH),x86_64) 
    29         sed -i 's/kernel linux64/kernel linux/' /boot/isolinux/isolinux.cfg 
     29        sed -i  -e 's/kernel linux$$/kernel linux64/' \ 
     30                -e 's/data_cpio/data64_cpio/'/boot/isolinux/isolinux.cfg 
    3031endif 
    3132