INSTALL
changeset 2 cdf62add5d6f
parent 1 8ff135ba3a93
child 3 93e43fd0f3c4
equal deleted inserted replaced
1:8ff135ba3a93 2:cdf62add5d6f
     1 Zuerst machen wir ein sparse Image für unsere später CF-Card
     1 Zuerst machen wir ein sparse Image für unsere später CF-Card
     2 und partitionieren dies.
     2 und partitionieren dies.
     3 
     3 
     4     # dd of=<IMAGE> bs=1K count=0 seek=<BLOCKS of CF>
     4     $ dd of=<IMAGE> bs=1K count=0 seek=<BLOCKS of CF>
     5     # parted -a optimal -s -- <LOOP> mklabel msdos
     5     $ parted -a optimal -s -- <IMAGE> mklabel msdos
     6     # parted -a optimal -s -- <LOOP> mkpart primary ext4 1 -1
     6     $ parted -a optimal -s -- <IMAGE> mkpart primary ext4 1 -1
     7 
     7 
     8 Nun mappen wir uns ein paar Loop-Devices, damit wir erfolgreich
     8 Nun mappen wir uns ein paar Loop-Devices, damit wir erfolgreich
     9 ein Filesystem und den GRUB installieren können. (Nur der Offset
     9 ein Filesystem und den GRUB installieren können. (Nur der Offset
    10 der ersten Partition reicht nicht, denn wir müssten auch wissen, wie
    10 der ersten Partition reicht nicht, denn wir müssten auch wissen, wie
    11 groß das FS werden soll, darum lassen wir kpartx für uns arbeiten.)
    11 groß das FS werden soll, darum lassen wir kpartx für uns arbeiten.)
    12 
    12 
    13     # kpartx -av <IMAGE>
    13     # kpartx -av <IMAGE>
    14     # mkfs -text4 <LOOP0p1>
    14     # mkfs -text4 <LOOP0p1>
    15     # tune2fs -O ^has_journal <LOOP0p1>
    15     # tune2fs -O ^has_journal <LOOP0p1>
    16     # e2label <LOOP0p1> <LABEL>
    16     # tune2fs -L <volume name> <LOOP0p1>
    17 
    17 
    18 Nun muß das FS gemountet werden, damit der Grub seine Files
    18 Nun muß das FS gemountet werden, damit der Grub seine Files
    19 dort rein tun kann.
    19 dort rein tun kann.
    20 
    20 
    21 {{ Es scheint einen Bug im Grub zu geben, der ihn hindert, von einem 
    21 {{ Es scheint einen Bug im Grub zu geben, der ihn hindert, von einem 
    23 jetzt mal ein Block-Device mit der Major/Minor-Number von
    23 jetzt mal ein Block-Device mit der Major/Minor-Number von
    24 /dev/mapper/loop0p1 anlegen und dann funktioniert auch grub-install,
    24 /dev/mapper/loop0p1 anlegen und dann funktioniert auch grub-install,
    25 oder wir machen noch ein weiteres Loop-Device, und mounten dieses}}
    25 oder wir machen noch ein weiteres Loop-Device, und mounten dieses}}
    26 
    26 
    27     # losetup -fv <LOOP0p1>
    27     # losetup -fv <LOOP0p1>
    28     # mount <LOOP2> <MNT>
    28     # mount <LOOP1> <TARGET>
    29 
    29 
    30 Aus irgendwelchen Gründen hat Grub nicht bemerkt, welcher Partitionstabellen-
    30 Aus irgendwelchen Gründen hat Grub nicht bemerkt, welcher Partitionstabellen-
    31 Typ das ist, also muss das Modul noch mit eingebettet werden:
    31 Typ das ist, also muss das Modul noch mit eingebettet werden:
    32 
    32 
    33     # grub-install --modules='part_msdos' --root-directory=<MNT> <LOOP>
    33     # grub-install --modules='part_msdos' --root-directory=<TARGET> <LOOP0>
    34     # Grub-Config einspielen <grub/grub.cfg> und anpassen!
    34     # cp ROOT/boot/grub/grub.cfg <TARGET>/boot/
       
    35     # [edit] <TARGET>/boot/grub.cfg
       
    36 	     [%ROOTLABEL%]
    35     
    37     
    36 Zum Test kann das mit KVM probiert werden:
    38 Zum Test kann das mit KVM probiert werden (-nographic gibt der VM einen
       
    39 seriellen Port, der auf die Konsole umgeleitet wird)
    37 
    40 
    38     # kvm -hda image
    41     # kvm -hda image -nographic
       
    42 
       
    43 Das Boot-Menu ist noch nicht zu sehen, weil ja die Einträge für initrd
       
    44 und vmlinuz noch nicht wirklich gültig sind.
    39     
    45     
    40 Dann können wir „bootstrappen“:
    46 Dann können wir „bootstrappen“:
    41 
    47 
    42     # http_proxy=http://localhost:3128/ debootstrap \
    48     # http_proxy=http://localhost:3128/ debootstrap \
    43 	--arch i386 stable \
    49 	--arch i386 stable \
    44 	<MNT> http://ftp.de.debian.org/debian
    50 	<TARGET> http://ftp.de.debian.org/debian
    45 
    51 
    46     # chroot <MNT>
    52     # echo [%HOSTNAME%] > <TARGET>/etc/hostname
    47     # <MNT> > /etc/apt/apt.conf.d/10alix
    53     # cat ROOT/etc/environment >> <TARGET>/etc/environment
    48     'APT::Install-Recommends "false";'
       
    49 
    54 
    50     # <MNT> > /etc/hostname
    55     # cp ROOT/root/.bashrc <TARGET>/root/
    51     alix
    56     # cp ROOT/etc/udev/rules.d/10-alix.rules <TARGET>/etc/udev/rules.d/
       
    57     # cp ROOT/etc/apt/apt.conf.d/10-alix <TARGET>/etc/apt/apt.conf.d/
    52 
    58 
    53     [] vi /etc/default/rcS
    59     # [edit] <TARGET>/etc/default/rcS
    54     RAMRUN=yes
    60 	RAMRUN=yes
    55     RAMLOCK=yes
    61 	RAMLOCK=yes
    56     RAMTMP=yes
    62 	RAMTMP=yes
    57     RAMSHM=yes
    63 	RAMSHM=yes
       
    64 	FSCKFIX=yes
    58 
    65 
    59     # <MNT> rm /etc/mtab
    66     # cp ROOT/etc/fstab <TARGET>/etc/fstab
    60     # <MNT> ln -s /proc/mounts /etc/mtab
    67     # cp  ROOT/etc/network/interfaces <TARGET>/etc/network/interfaces>
    61     # <MNT> rm /etc/resolv.conf
       
    62     ln -s /var/run/resolv.conf /etc/
       
    63 
    68 
    64     # <MNT> >> /etc/fstab
    69     # echo > <TARGET>/etc/udev/rules.d/70-persistent-net.rules
    65     /dev/disk/by-label/<LABEL> / ext4 defaults,ro,relatime 0 0
       
    66     tmp /tmp tmpfs defaults 0 0
       
    67     log /var/log tmpfs defaults 0 0
       
    68     /var/run /var/lib/urandom auto bind,defaults 0 0
       
    69     /var/run /var/lib/logrotate auo bind,defaults 0 0
       
    70 
    70 
       
    71     # chroot <TARGET> rm /etc/mtab
       
    72     # chroot <TARGET> ln -s /proc/mounts /etc/mtab
       
    73     # chroot <TARGET> rm /etc/resolv.conf
       
    74     # chroot <TARGET> ln -s /var/run/resolv.conf /etc/
       
    75     # chroot <TARGET> passwd root
       
    76     # chroot <TARGET> aptitude update
       
    77     # chroot <TARGET> aptitude purge isc-dhcp-client
       
    78     # chroot <TARGET> aptitude install linux-image-686 openssh-server udhcpc ifplugd 
       
    79     # chroot <TARGET> aptitude install vim ferm 
       
    80     # chroot <TARGET> dpkg-reconfigure tzdata
    71 
    81 
    72     [] etc/inittab anpassen:
    82     # -> die folgenden vielleicht in der VM installieren, da sonst
    73      - serielle Konsole eintragen
    83     # gemeckert wird
    74      - eine normale lassen (für Simulation in kvm)
    84     # chroot <TARGET> aptitude install busybox-syslogd chrony
    75 
    85 
    76     # <MNT> > /etc/udev/rules.d/70-persistent-net.rules
    86     # [edit] <TARGET>/etc/fstab 
       
    87 	[%ROOTLABEL%]
       
    88     # [edit] <TARGET>/etc/network/interfaces
       
    89     # [edit] <TARGET>/etc/inittab 
       
    90 	- serielle Konsole eintragen (38400)
       
    91 	- eine normale lassen (für Simulation in kvm)
       
    92     # [edit] <TARGET>/etc/default/ifplugd
       
    93     # [edit] <TARGET>etc/logrotate.conf
       
    94     # [edit] <TARGET>etc/logrotate.d/*
       
    95     # [edit] <TARGET>/etc/default/ferm [cache=no]
    77 
    96 
    78     [] etc/network/interfaces <etc/network/interfaces>
    97     # umount <TARGET>
    79     [] etc/udev/rules.d/70-alix.rules <etc/udev/rules.d/10-alix.rules>
    98     # kpartx -d <IMAGE>
       
    99     # buffer -z 32K -i image -o <CFCARD>
    80 
   100 
    81     # passwd root
   101 ---
    82     # aptitude update
       
    83     # aptitude purge isc-dhcp-client
       
    84     # aptitude install linux-image-686 openssh-server udhcpc ifplugd vim busybox-syslogd ferm
       
    85     # aptitude install chrony
       
    86 
       
    87     # <MNT> vi /etc/default/ifplugd
       
    88     [] vi etc/logrotate.conf
       
    89     [] vi etc/logrotate.d/*
       
    90 
       
    91     # root/.bashrc <root/.bashrc>
       
    92 
       
    93     [] vi etc/environment
       
    94     export BLKID_FILE=/run/blkid.tab 
       
    95 
       
    96     # <MNT> dpkg-reconfigure tzdata
       
    97 
       
    98     [] vi etc/default/apache2
   102     [] vi etc/default/apache2
    99     mkdir /var/log/apache2
   103     mkdir /var/log/apache2
   100 
   104 
   101 ferm ohne cache (/etc/default/ferm)