Arch linux full raid
I am experimenting with arch and mdadm I was using the following guide:
http://linux-101.org/howto/arch-linux-s … tion-guide
I get into trouble (at least I notice it at that point) with the bootloader. find /boot/grub/stage1 returns Error 15: File not found, so running the commands:
grub> device (hd0) /dev/sda
grub> root (hd0,0)
grub> setup (hd0)
naturally result in the same problem.
Any indication what I am doing wrong? Maybe the tutorial is out of date?
Blµb wrote:I think you're missing that 'device (hd0) /dev/sdX defines hd0 to be /dev/sdX, which is once done for sda and then for sdb.
Yes I was/am missing that. I understand what you are saying and you have a point but I still have something daunting:
find /grub/stage1
(hd0,0)
(hd1,0) <---- what's this?
running the guide grub installs went fine but running:
grub> device (hd1) /dev/sdb
grub> root (hd1,0)
grub> setup (h1)
also works. Why?
I only have two harddisks installed, what is (hd1) as I was under the impression that it was /dev/sdb, which now seems to be incorrect...
Very confusing..
Blµb wrote:I'm curious about the md= entries in this guide though. Is the goal of this to not require mdassemble to be run in an initramfs? Because mdadm usually reads from /etc/mdadm.com in the initramfs to assemble the devices.
But what do I know, mdassemble segfaults for my intel imsm raid... so I'm still sticking to DM-raid though maybe this could help... and that doesn't help me in my case either (says "bad raid superblock magic")
You are referring to the "md=" in grub's menu.lst? I also remember this happening in a later stage. The strange thing is that it seems to work though... If you know a better/other guide/tutorial about this subject I would like to know about it.
Thanks allot for the information!
Last edited by whoop (2012-02-29 20:24:30)
Similar Messages
-
Arch Linux doesn't detect RAID of SAS hard drives
Hello everyone:
I'm trying to install Arch Linux 2009.08 x86_64 on a server IBM xSeries 206m, which has hard drives connected to a SAS controller card Adaptec AIC-9405.
I put the disks in RAID 0 and starting the server, I can see on the menu of the RAID controller card that is fine, but when I'm going to make the partitions, I do not see any hard drive.
Checking with the command dmesg, I found some messages that seem to indicate the failure:
aic94xx: Adaptec aic94xx SAS/SATA driver version 1.0.3 loaded
aic94xx 0000:03:04.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
aic94xx: found Adaptec AIC-9405W SAS/SATA Host Adapter, device 0000:03:04.0
scsi2 : aic94xx
aic94xx 0000:03:04.0: firmware: requesting aic94xx-seq.fw
usb 2-1: configuration #1 chosen from 1 choice
aic94xx: Failed to load sequencer firmware file aic94xx-seq.fw, error -2
aic94xx: couldn't init seqs for 0000:03:04.0
aic94xx: couldn't init the chip
aic94xx 0000:03:04.0: PCI INT A disabled
aic94xx: probe of 0000:03:04.0 failed with error -2
Someone else with the same problem ... anyone know how to fix it ?GerBra wrote:
The error message of missing firmware file in dmesg/messages.log is gone away now?
Could you place dmesg.log or messages.log somewhere to view them? (Copy these files over network to an
other machine and load it up to some pastebin service, or attach it here).
You don't see the raid array when doing a: fdisk -l ?
Also a: cat /proc/scsi/scsi should also show the array if up and running.
SCSI modul aic94xx should also have a dir entry in /proc/scsi. Example: my Adaptec 2940 has detailled infos about the controller and device status in:
cat /proc/scsi/aic7xxx/2
If you have such a file (the number could differ on your machine) please post it also.
Maybe it's the best if you open a bugreport in http://bugs.archlinux.org/index/proj6 ....
Hi GerBra:
This is the dmesg.log:
Linux version 2.6.30-ARCH (root@T-POWA-LX) (gcc version 4.4.1 (GCC) ) #1 SMP PREEMPT Fri Jul 31 07:30:28 CEST 2009
Command line: lang=en locale=en_US.UTF-8 archisolabel=ARCHISO_KE1AECIE ramdisk_size=75%
KERNEL supported cpus:
Intel GenuineIntel
AMD AuthenticAMD
Centaur CentaurHauls
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009b800 (usable)
BIOS-e820: 000000000009b800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000bfee0000 (usable)
BIOS-e820: 00000000bfee0000 - 00000000bfee9000 (ACPI data)
BIOS-e820: 00000000bfee9000 - 00000000bff00000 (ACPI NVS)
BIOS-e820: 00000000bff00000 - 00000000c0000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
DMI present.
last_pfn = 0x140000 max_arch_pfn = 0x100000000
MTRR default type: uncachable
MTRR fixed ranges enabled:
00000-9FFFF write-back
A0000-BFFFF uncachable
C0000-C7FFF write-protect
C8000-DFFFF uncachable
E0000-FFFFF write-protect
MTRR variable ranges enabled:
0 base 0C0000000 mask FC0000000 uncachable
1 base 000000000 mask F00000000 write-back
2 base 100000000 mask FC0000000 write-back
3 base 0BFF00000 mask FFFF00000 uncachable
4 disabled
5 disabled
6 disabled
7 disabled
x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
e820 update range: 00000000bff00000 - 0000000100000000 (usable) ==> (reserved)
last_pfn = 0xbfee0 max_arch_pfn = 0x100000000
e820 update range: 0000000000001000 - 0000000000006000 (usable) ==> (reserved)
Scanning 1 areas for low memory corruption
modified physical RAM map:
modified: 0000000000000000 - 0000000000001000 (usable)
modified: 0000000000001000 - 0000000000006000 (reserved)
modified: 0000000000006000 - 000000000009b800 (usable)
modified: 000000000009b800 - 00000000000a0000 (reserved)
modified: 00000000000e0000 - 0000000000100000 (reserved)
modified: 0000000000100000 - 00000000bfee0000 (usable)
modified: 00000000bfee0000 - 00000000bfee9000 (ACPI data)
modified: 00000000bfee9000 - 00000000bff00000 (ACPI NVS)
modified: 00000000bff00000 - 00000000c0000000 (reserved)
modified: 00000000fec00000 - 00000000fec10000 (reserved)
modified: 00000000fee00000 - 00000000fee01000 (reserved)
modified: 00000000ff000000 - 0000000100000000 (reserved)
modified: 0000000100000000 - 0000000140000000 (usable)
init_memory_mapping: 0000000000000000-00000000bfee0000
0000000000 - 00bfe00000 page 2M
00bfe00000 - 00bfee0000 page 4k
kernel direct mapping tables up to bfee0000 @ 8000-d000
init_memory_mapping: 0000000100000000-0000000140000000
0100000000 - 0140000000 page 2M
kernel direct mapping tables up to 140000000 @ b000-11000
RAMDISK: 378e2000 - 37fef5c0
ACPI: RSDP 00000000000f64f0 00014 (v00 PTLTD )
ACPI: RSDT 00000000bfee3615 0003C (v01 PTLTD RSDT 06040000 LTP 00000000)
ACPI: FACP 00000000bfee8e70 00074 (v01 INTEL 06040000 PTL 00000003)
ACPI: DSDT 00000000bfee384c 05624 (v01 INTEL GLENWOOD 06040000 MSFT 0100000E)
ACPI: FACS 00000000bfee9fc0 00040
ACPI: SPCR 00000000bfee8ee4 00050 (v01 PTLTD $UCRTBL$ 06040000 PTL 00000001)
ACPI: MCFG 00000000bfee8f34 0003C (v01 PTLTD MCFG 06040000 LTP 00000000)
ACPI: APIC 00000000bfee8f70 00068 (v01 PTLTD APIC 06040000 LTP 00000000)
ACPI: BOOT 00000000bfee8fd8 00028 (v01 PTLTD $SBFTBL$ 06040000 LTP 00000001)
ACPI: SSDT 00000000bfee3651 001FB (v01 PmRef CpuPm 00003000 INTL 20030224)
ACPI: Local APIC address 0xfee00000
(8 early reservations) ==> bootmem [0000000000 - 0140000000]
#0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
#1 [0000006000 - 0000008000] TRAMPOLINE ==> [0000006000 - 0000008000]
#2 [0000200000 - 000082d0d0] TEXT DATA BSS ==> [0000200000 - 000082d0d0]
#3 [00378e2000 - 0037fef5c0] RAMDISK ==> [00378e2000 - 0037fef5c0]
#4 [000009b800 - 0000100000] BIOS reserved ==> [000009b800 - 0000100000]
#5 [000082e000 - 000082e198] BRK ==> [000082e000 - 000082e198]
#6 [0000008000 - 000000b000] PGTABLE ==> [0000008000 - 000000b000]
#7 [000000b000 - 000000c000] PGTABLE ==> [000000b000 - 000000c000]
found SMP MP-table at [ffff8800000f6520] f6520
[ffffe20000000000-ffffe200045fffff] PMD -> [ffff880028200000-ffff88002c7fffff] on node 0
Zone PFN ranges:
DMA 0x00000000 -> 0x00001000
DMA32 0x00001000 -> 0x00100000
Normal 0x00100000 -> 0x00140000
Movable zone start PFN for each node
early_node_map[4] active PFN ranges
0: 0x00000000 -> 0x00000001
0: 0x00000006 -> 0x0000009b
0: 0x00000100 -> 0x000bfee0
0: 0x00100000 -> 0x00140000
On node 0 totalpages: 1048182
DMA zone: 56 pages used for memmap
DMA zone: 1688 pages reserved
DMA zone: 2246 pages, LIFO batch:0
DMA32 zone: 14280 pages used for memmap
DMA32 zone: 767768 pages, LIFO batch:31
Normal zone: 3584 pages used for memmap
Normal zone: 258560 pages, LIFO batch:31
ACPI: PM-Timer IO Port: 0x1008
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 0, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Using ACPI (MADT) for SMP configuration information
SMP: Allowing 2 CPUs, 0 hotplug CPUs
nr_irqs_gsi: 24
PM: Registered nosave memory: 0000000000001000 - 0000000000006000
PM: Registered nosave memory: 000000000009b000 - 000000000009c000
PM: Registered nosave memory: 000000000009c000 - 00000000000a0000
PM: Registered nosave memory: 00000000000a0000 - 00000000000e0000
PM: Registered nosave memory: 00000000000e0000 - 0000000000100000
PM: Registered nosave memory: 00000000bfee0000 - 00000000bfee9000
PM: Registered nosave memory: 00000000bfee9000 - 00000000bff00000
PM: Registered nosave memory: 00000000bff00000 - 00000000c0000000
PM: Registered nosave memory: 00000000c0000000 - 00000000fec00000
PM: Registered nosave memory: 00000000fec00000 - 00000000fec10000
PM: Registered nosave memory: 00000000fec10000 - 00000000fee00000
PM: Registered nosave memory: 00000000fee00000 - 00000000fee01000
PM: Registered nosave memory: 00000000fee01000 - 00000000ff000000
PM: Registered nosave memory: 00000000ff000000 - 0000000100000000
Allocating PCI resources starting at c4000000 (gap: c0000000:3ec00000)
NR_CPUS:16 nr_cpumask_bits:16 nr_cpu_ids:2 nr_node_ids:1
PERCPU: Embedded 25 pages at ffff880028022000, static data 72352 bytes
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 1028574
Kernel command line: lang=en locale=en_US.UTF-8 archisolabel=ARCHISO_KE1AECIE ramdisk_size=75%
Initializing CPU#0
NR_IRQS:768
PID hash table entries: 4096 (order: 12, 32768 bytes)
Fast TSC calibration using PIT
Detected 2999.990 MHz processor.
Console: colour VGA+ 80x25
console [tty0] enabled
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
Checking aperture...
No AGP bridge found
Calgary: detecting Calgary via BIOS EBDA area
Calgary: Unable to locate Rio Grande table in EBDA - bailing!
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Placing 64MB software IO TLB between ffff880020000000 - ffff880024000000
software IO TLB at phys 0x20000000 - 0x24000000
Memory: 4034028k/5242880k available (3409k kernel code, 1050152k absent, 157764k reserved, 1239k data, 464k init)
SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Calibrating delay loop (skipped), value calculated using timer frequency.. 6002.97 BogoMIPS (lpj=9999966)
Security Framework initialized
Mount-cache hash table entries: 256
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU0: Thermal monitoring handled by SMI
using mwait in idle threads.
ACPI: Core revision 20090320
Setting APIC routing to flat
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
CPU0: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03
Booting processor 1 APIC 0x1 ip 0x6000
Initializing CPU#1
Calibrating delay using timer specific routine.. 6002.80 BogoMIPS (lpj=9999695)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU1: Thermal monitoring enabled (TM1)
x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
CPU1: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
Brought up 2 CPUs
Total of 2 processors activated (12004.78 BogoMIPS).
CPU0 attaching sched-domain:
domain 0: span 0-1 level SIBLING
groups: 0 1
CPU1 attaching sched-domain:
domain 0: span 0-1 level SIBLING
groups: 1 0
net_namespace: 1888 bytes
Booting paravirtualized kernel on bare hardware
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 9
PCI: Not using MMCONFIG.
PCI: Using configuration type 1 for base access
bio: create slab <bio-0> at 0
ACPI: EC: Look up EC in DSDT
ACPI: Interpreter enabled
ACPI: (supports S0 S1 S4 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 9
PCI: MCFG area at e0000000 reserved in ACPI motherboard resources
PCI: Using MMCONFIG at e0000000 - e09fffff
ACPI: No dock devices found.
ACPI Warning (nspredef-0331): \_SB_.PCI0._OSC: Parameter count mismatch - ASL declared 5, ACPI requires 4 [20090320]
ACPI: PCI Root Bridge [PCI0] (0000:00)
pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
pci 0000:00:01.0: PME# disabled
pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
pci 0000:00:1c.0: PME# disabled
pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
pci 0000:00:1c.4: PME# disabled
pci 0000:00:1c.5: PME# supported from D0 D3hot D3cold
pci 0000:00:1c.5: PME# disabled
pci 0000:00:1d.0: reg 20 io port: [0x3000-0x301f]
pci 0000:00:1d.1: reg 20 io port: [0x3020-0x303f]
pci 0000:00:1d.2: reg 20 io port: [0x3040-0x305f]
pci 0000:00:1d.7: reg 10 32bit mmio: [0xc0000000-0xc00003ff]
pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
pci 0000:00:1d.7: PME# disabled
pci 0000:00:1f.0: Force enabled HPET at 0xfed00000
pci 0000:00:1f.0: quirk: region 1000-107f claimed by ICH6 ACPI/GPIO/TCO
pci 0000:00:1f.0: quirk: region 1180-11bf claimed by ICH6 GPIO
pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0500 (mask 007f)
pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 0ca0 (mask 000f)
pci 0000:00:1f.1: reg 10 io port: [0x00-0x07]
pci 0000:00:1f.1: reg 14 io port: [0x00-0x03]
pci 0000:00:1f.1: reg 18 io port: [0x00-0x07]
pci 0000:00:1f.1: reg 1c io port: [0x00-0x03]
pci 0000:00:1f.1: reg 20 io port: [0x3080-0x308f]
pci 0000:00:1f.3: reg 20 io port: [0x3060-0x307f]
pci 0000:00:01.0: bridge io port: [0x00-0xfff]
pci 0000:00:01.0: bridge 32bit mmio: [0x000000-0x0fffff]
pci 0000:00:01.0: bridge 64bit mmio pref: [0x000000-0x0fffff]
pci 0000:02:00.0: PXH quirk detected; SHPC device MSI disabled
pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
pci 0000:02:00.0: PME# disabled
pci 0000:02:00.1: reg 10 32bit mmio: [0xc0100000-0xc0100fff]
pci 0000:00:1c.0: bridge io port: [0x4000-0x4fff]
pci 0000:00:1c.0: bridge 32bit mmio: [0xc0100000-0xc02fffff]
pci 0000:00:1c.0: bridge 64bit mmio pref: [0xc0500000-0xc05fffff]
pci 0000:03:04.0: reg 10 64bit mmio: [0xc0280000-0xc02bffff]
pci 0000:03:04.0: reg 18 64bit mmio: [0xc0500000-0xc051ffff]
pci 0000:03:04.0: reg 20 io port: [0x4000-0x40ff]
pci 0000:03:04.0: reg 30 32bit mmio: [0x000000-0x07ffff]
pci 0000:02:00.0: bridge io port: [0x4000-0x4fff]
pci 0000:02:00.0: bridge 32bit mmio: [0xc0200000-0xc02fffff]
pci 0000:02:00.0: bridge 64bit mmio pref: [0xc0500000-0xc05fffff]
pci 0000:04:00.0: reg 10 64bit mmio: [0xc0300000-0xc030ffff]
pci 0000:04:00.0: PME# supported from D3hot D3cold
pci 0000:04:00.0: PME# disabled
pci 0000:00:1c.4: bridge 32bit mmio: [0xc0300000-0xc03fffff]
pci 0000:00:1c.5: bridge io port: [0x00-0xfff]
pci 0000:00:1c.5: bridge 32bit mmio: [0x000000-0x0fffff]
pci 0000:00:1c.5: bridge 64bit mmio pref: [0x000000-0x0fffff]
pci 0000:0a:04.0: reg 10 32bit mmio: [0xc8000000-0xcfffffff]
pci 0000:0a:04.0: reg 14 io port: [0x5000-0x50ff]
pci 0000:0a:04.0: reg 18 32bit mmio: [0xc0400000-0xc040ffff]
pci 0000:0a:04.0: reg 30 32bit mmio: [0x000000-0x01ffff]
pci 0000:0a:04.0: supports D1 D2
pci 0000:00:1e.0: transparent bridge
pci 0000:00:1e.0: bridge io port: [0x5000-0x5fff]
pci 0000:00:1e.0: bridge 32bit mmio: [0xc0400000-0xc04fffff]
pci 0000:00:1e.0: bridge 64bit mmio pref: [0xc8000000-0xcfffffff]
pci_bus 0000:00: on NUMA node 0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEG_._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP1.PXHV._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP5._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP6._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 10 *11 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 *10 11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 10 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 10 11 14 15) *5
PCI: Using ACPI for IRQ routing
pci 0000:00:01.0: BAR 13: can't allocate resource
pci 0000:00:01.0: BAR 14: can't allocate resource
pci 0000:00:01.0: BAR 15: can't allocate resource
pci 0000:00:1c.5: BAR 13: can't allocate resource
pci 0000:00:1c.5: BAR 14: can't allocate resource
pci 0000:00:1c.5: BAR 15: can't allocate resource
NetLabel: Initializing
NetLabel: domain hash size = 128
NetLabel: protocols = UNLABELED CIPSOv4
NetLabel: unlabeled traffic allowed by default
hpet clockevent registered
HPET: 3 timers in total, 0 timers will be used for per-cpu timer
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp: PnP ACPI: found 12 devices
ACPI: ACPI bus type pnp unregistered
system 00:01: ioport range 0x800-0x83f has been reserved
system 00:01: ioport range 0x1000-0x107f has been reserved
system 00:01: ioport range 0x1180-0x11bf has been reserved
system 00:01: ioport range 0x4d0-0x4d1 has been reserved
system 00:01: ioport range 0x500-0x57f has been reserved
system 00:01: ioport range 0xca8-0xca8 has been reserved
system 00:01: ioport range 0xcac-0xcac has been reserved
system 00:01: ioport range 0xfe00-0xfe00 has been reserved
system 00:01: iomem range 0xfed14000-0xfed17fff has been reserved
system 00:01: iomem range 0xfed13000-0xfed13fff has been reserved
system 00:01: iomem range 0xe0000000-0xefffffff has been reserved
system 00:01: iomem range 0xfed20000-0xfed8ffff has been reserved
pci 0000:00:01.0: PCI bridge, secondary bus 0000:01
pci 0000:00:01.0: IO window: disabled
pci 0000:00:01.0: MEM window: disabled
pci 0000:00:01.0: PREFETCH window: disabled
pci 0000:02:00.0: PCI bridge, secondary bus 0000:03
pci 0000:02:00.0: IO window: 0x4000-0x4fff
pci 0000:02:00.0: MEM window: 0xc0200000-0xc02fffff
pci 0000:02:00.0: PREFETCH window: 0x000000c0500000-0x000000c05fffff
pci 0000:00:1c.0: PCI bridge, secondary bus 0000:02
pci 0000:00:1c.0: IO window: 0x4000-0x4fff
pci 0000:00:1c.0: MEM window: 0xc0100000-0xc02fffff
pci 0000:00:1c.0: PREFETCH window: 0x000000c0500000-0x000000c05fffff
pci 0000:00:1c.4: PCI bridge, secondary bus 0000:04
pci 0000:00:1c.4: IO window: disabled
pci 0000:00:1c.4: MEM window: 0xc0300000-0xc03fffff
pci 0000:00:1c.4: PREFETCH window: disabled
pci 0000:00:1c.5: PCI bridge, secondary bus 0000:05
pci 0000:00:1c.5: IO window: disabled
pci 0000:00:1c.5: MEM window: disabled
pci 0000:00:1c.5: PREFETCH window: disabled
pci 0000:00:1e.0: PCI bridge, secondary bus 0000:0a
pci 0000:00:1e.0: IO window: 0x5000-0x5fff
pci 0000:00:1e.0: MEM window: 0xc0400000-0xc04fffff
pci 0000:00:1e.0: PREFETCH window: 0x000000c8000000-0x000000cfffffff
pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pci 0000:00:01.0: setting latency timer to 64
pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
pci 0000:00:1c.0: setting latency timer to 64
pci 0000:02:00.0: setting latency timer to 64
pci 0000:00:1c.4: PCI INT A -> GSI 17 (level, low) -> IRQ 17
pci 0000:00:1c.4: setting latency timer to 64
pci 0000:00:1c.5: PCI INT B -> GSI 16 (level, low) -> IRQ 16
pci 0000:00:1c.5: setting latency timer to 64
pci 0000:00:1e.0: setting latency timer to 64
pci_bus 0000:00: resource 0 io: [0x00-0xffff]
pci_bus 0000:00: resource 1 mem: [0x000000-0xffffffffffffffff]
pci_bus 0000:01: resource 0 mem: [0x0-0xfff]
pci_bus 0000:01: resource 1 mem: [0x0-0xfffff]
pci_bus 0000:01: resource 2 mem: [0x0-0xfffff]
pci_bus 0000:02: resource 0 io: [0x4000-0x4fff]
pci_bus 0000:02: resource 1 mem: [0xc0100000-0xc02fffff]
pci_bus 0000:02: resource 2 pref mem [0xc0500000-0xc05fffff]
pci_bus 0000:03: resource 0 io: [0x4000-0x4fff]
pci_bus 0000:03: resource 1 mem: [0xc0200000-0xc02fffff]
pci_bus 0000:03: resource 2 pref mem [0xc0500000-0xc05fffff]
pci_bus 0000:04: resource 1 mem: [0xc0300000-0xc03fffff]
pci_bus 0000:05: resource 0 mem: [0x0-0xfff]
pci_bus 0000:05: resource 1 mem: [0x0-0xfffff]
pci_bus 0000:05: resource 2 mem: [0x0-0xfffff]
pci_bus 0000:0a: resource 0 io: [0x5000-0x5fff]
pci_bus 0000:0a: resource 1 mem: [0xc0400000-0xc04fffff]
pci_bus 0000:0a: resource 2 pref mem [0xc8000000-0xcfffffff]
pci_bus 0000:0a: resource 3 io: [0x00-0xffff]
pci_bus 0000:0a: resource 4 mem: [0x000000-0xffffffffffffffff]
NET: Registered protocol family 2
IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
NET: Registered protocol family 1
Unpacking initramfs...
Freeing initrd memory: 7221k freed
Simple Boot Flag at 0x3c set to 0x1
Scanning for low memory corruption every 60 seconds
audit: initializing netlink socket (disabled)
type=2000 audit(1250095030.473:1): initialized
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
msgmni has been set to 7894
alg: No test for stdrng (krng)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
PCI quirk: reroute interrupts for 0x8086:0x032c
pci 0000:0a:04.0: Boot video device
pcieport-driver 0000:00:01.0: irq 24 for MSI/MSI-X
pcieport-driver 0000:00:01.0: setting latency timer to 64
pcieport-driver 0000:00:1c.0: irq 25 for MSI/MSI-X
pcieport-driver 0000:00:1c.0: setting latency timer to 64
pcieport-driver 0000:00:1c.4: irq 26 for MSI/MSI-X
pcieport-driver 0000:00:1c.4: setting latency timer to 64
pcieport-driver 0000:00:1c.5: irq 27 for MSI/MSI-X
pcieport-driver 0000:00:1c.5: setting latency timer to 64
Linux agpgart interface v0.103
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
input: Macintosh mouse button emulation as /devices/virtual/input/input0
PNP: PS/2 Controller [PNP0303:KBC0,PNP0f13:MSE0] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
cpuidle: using governor ladder
cpuidle: using governor menu
TCP cubic registered
NET: Registered protocol family 17
registered taskstats version 1
Initalizing network drop monitor service
Freeing unused kernel memory: 464k freed
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1
Switched to high resolution mode on CPU 1
Switched to high resolution mode on CPU 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23
ehci_hcd 0000:00:1d.7: setting latency timer to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: debug port 1
ehci_hcd 0000:00:1d.7: cache line size of 128 is not supported
ehci_hcd 0000:00:1d.7: irq 23, io mem 0xc0000000
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 6 ports detected
uhci_hcd: USB Universal Host Controller Interface driver
uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
uhci_hcd 0000:00:1d.0: setting latency timer to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 23, io base 0x00003000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
uhci_hcd 0000:00:1d.1: setting latency timer to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 19, io base 0x00003020
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
uhci_hcd 0000:00:1d.2: setting latency timer to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.2: irq 18, io base 0x00003040
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
libata version 3.00 loaded.
ata_piix 0000:00:1f.1: version 2.13
ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 18
ata_piix 0000:00:1f.1: setting latency timer to 64
scsi0 : ata_piix
scsi1 : ata_piix
aic94xx: Adaptec aic94xx SAS/SATA driver version 1.0.3 loaded
aic94xx 0000:03:04.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x3080 irq 14
ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x3088 irq 15
aic94xx: found Adaptec AIC-9405W SAS/SATA Host Adapter, device 0000:03:04.0
scsi2 : aic94xx
aic94xx 0000:03:04.0: firmware: requesting aic94xx-seq.fw
aic94xx: Failed to load sequencer firmware file aic94xx-seq.fw, error -2
aic94xx: couldn't init seqs for 0000:03:04.0
aic94xx: couldn't init the chip
aic94xx 0000:03:04.0: PCI INT A disabled
aic94xx: probe of 0000:03:04.0 failed with error -2
ata1.00: ATAPI: HL-DT-STDVD-RAM GSA-H55N, 1.03, max UDMA/66
ata1.00: limited to UDMA/33 due to 40-wire cable
ata1.00: configured for UDMA/33
scsi 0:0:0:0: CD-ROM HL-DT-ST DVD-RAM GSA-H55N 1.03 PQ: 0 ANSI: 5
ata2: port disabled. ignoring.
Driver 'sr' needs updating - please use bus_type methods
sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 0:0:0:0: Attached scsi CD-ROM sr0
usb 2-1: new low speed USB device using uhci_hcd and address 2
usb 2-1: configuration #1 chosen from 1 choice
usbcore: registered new interface driver hiddev
input: USB Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/input/input2
generic-usb 0003:04B3:310C.0001: input,hidraw0: USB HID v1.11 Mouse [USB Optical Mouse] on usb-0000:00:1d.0-1/input0
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
ISO 9660 Extensions: RRIP_1991A
squashfs: version 4.0 (2009/01/31) Phillip Lougher
aufs 2-standalone.tree-20090601
loop: module loaded
aufs test_add:240:mount[635]: uid/gid/perm /tmpfs/mnt/loop0 0/0/0755, 0/0/01777
aufs test_add:240:mount[648]: uid/gid/perm /tmpfs/mnt/loop2 0/0/0755, 0/0/01777
rtc_cmos 00:04: RTC can wake from S4
rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
udev: starting version 141
input: PC Speaker as /devices/platform/pcspkr/input/input3
intel_rng: FWH not detected
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input4
ACPI: Power Button [PWRF]
input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0A03:00/PNP0C0C:00/input/input5
ACPI: Power Button [PWRB]
EDAC MC: Ver: 2.1.0 Jul 31 2009
iTCO_vendor_support: vendor-support=0
i801_smbus 0000:00:1f.3: PCI INT B -> GSI 19 (level, low) -> IRQ 19
tg3.c:v3.98 (February 25, 2009)
tg3 0000:04:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
tg3 0000:04:00.0: setting latency timer to 64
tg3 0000:04:00.0: PME# disabled
eth0: Tigon3 [partno(BCM95721) rev 4101] (PCI Express) MAC address 00:11:25:a4:42:2f
eth0: attached PHY is 5750 (10/100/1000Base-T Ethernet) (WireSpeed[1])
eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1]
eth0: dma_rwctrl[76180000] dma_mask[64-bit]
sr 0:0:0:0: Attached scsi generic sg0 type 5
iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
iTCO_wdt: Found a ICH7 or ICH7R TCO device (Version=2, TCOBASE=0x1060)
iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
processor ACPI_CPU:00: registered as cooling_device0
ACPI: Processor [CPU0] (supports 8 throttling states)
processor ACPI_CPU:01: registered as cooling_device1
ACPI: Processor [CPU1] (supports 8 throttling states)
EDAC MC0: Giving out device to 'i3000_edac' 'i3000': DEV 0000:00:00.0
EDAC PCI0: Giving out device to module 'i3000_edac' controller 'EDAC PCI controller': DEV '0000:00:00.0' (POLLED)
lp: driver loaded but no devices found
parport_pc 00:0b: reported by Plug and Play ACPI
parport0: PC-style at 0x378 (0x778), irq 7, dma 1 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
lp0: using parport0 (interrupt-driven).
ppdev: user-space parallel port driver
This is the messages.log:
Aug 12 16:37:33 archiso kernel: Linux version 2.6.30-ARCH (root@T-POWA-LX) (gcc version 4.4.1 (GCC) ) #1 SMP PREEMPT Fri Jul 31 07:30:28 CEST 2009
Aug 12 16:37:33 archiso kernel: Command line: lang=en locale=en_US.UTF-8 archisolabel=ARCHISO_KE1AECIE ramdisk_size=75%
Aug 12 16:37:33 archiso kernel: KERNEL supported cpus:
Aug 12 16:37:33 archiso kernel: Intel GenuineIntel
Aug 12 16:37:33 archiso kernel: AMD AuthenticAMD
Aug 12 16:37:33 archiso kernel: Centaur CentaurHauls
Aug 12 16:37:33 archiso kernel: BIOS-provided physical RAM map:
Aug 12 16:37:33 archiso kernel: BIOS-e820: 0000000000000000 - 000000000009b800 (usable)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 000000000009b800 - 00000000000a0000 (reserved)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 0000000000100000 - 00000000bfee0000 (usable)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 00000000bfee0000 - 00000000bfee9000 (ACPI data)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 00000000bfee9000 - 00000000bff00000 (ACPI NVS)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 00000000bff00000 - 00000000c0000000 (reserved)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
Aug 12 16:37:33 archiso kernel: BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
Aug 12 16:37:33 archiso kernel: DMI present.
Aug 12 16:37:33 archiso kernel: last_pfn = 0x140000 max_arch_pfn = 0x100000000
Aug 12 16:37:33 archiso kernel: x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
Aug 12 16:37:33 archiso kernel: last_pfn = 0xbfee0 max_arch_pfn = 0x100000000
Aug 12 16:37:33 archiso kernel: Scanning 1 areas for low memory corruption
Aug 12 16:37:33 archiso kernel: modified physical RAM map:
Aug 12 16:37:33 archiso kernel: modified: 0000000000000000 - 0000000000001000 (usable)
Aug 12 16:37:33 archiso kernel: modified: 0000000000001000 - 0000000000006000 (reserved)
Aug 12 16:37:33 archiso kernel: modified: 0000000000006000 - 000000000009b800 (usable)
Aug 12 16:37:33 archiso kernel: modified: 000000000009b800 - 00000000000a0000 (reserved)
Aug 12 16:37:33 archiso kernel: modified: 00000000000e0000 - 0000000000100000 (reserved)
Aug 12 16:37:33 archiso kernel: modified: 0000000000100000 - 00000000bfee0000 (usable)
Aug 12 16:37:33 archiso kernel: modified: 00000000bfee0000 - 00000000bfee9000 (ACPI data)
Aug 12 16:37:33 archiso kernel: modified: 00000000bfee9000 - 00000000bff00000 (ACPI NVS)
Aug 12 16:37:33 archiso kernel: modified: 00000000bff00000 - 00000000c0000000 (reserved)
Aug 12 16:37:33 archiso kernel: modified: 00000000fec00000 - 00000000fec10000 (reserved)
Aug 12 16:37:33 archiso kernel: modified: 00000000fee00000 - 00000000fee01000 (reserved)
Aug 12 16:37:33 archiso kernel: modified: 00000000ff000000 - 0000000100000000 (reserved)
Aug 12 16:37:33 archiso kernel: modified: 0000000100000000 - 0000000140000000 (usable)
Aug 12 16:37:33 archiso kernel: init_memory_mapping: 0000000000000000-00000000bfee0000
Aug 12 16:37:33 archiso kernel: init_memory_mapping: 0000000100000000-0000000140000000
Aug 12 16:37:33 archiso kernel: RAMDISK: 378e2000 - 37fef5c0
Aug 12 16:37:33 archiso kernel: ACPI: RSDP 00000000000f64f0 00014 (v00 PTLTD )
Aug 12 16:37:33 archiso kernel: ACPI: RSDT 00000000bfee3615 0003C (v01 PTLTD RSDT 06040000 LTP 00000000)
Aug 12 16:37:33 archiso kernel: ACPI: FACP 00000000bfee8e70 00074 (v01 INTEL 06040000 PTL 00000003)
Aug 12 16:37:33 archiso kernel: ACPI: DSDT 00000000bfee384c 05624 (v01 INTEL GLENWOOD 06040000 MSFT 0100000E)
Aug 12 16:37:33 archiso kernel: ACPI: FACS 00000000bfee9fc0 00040
Aug 12 16:37:33 archiso kernel: ACPI: SPCR 00000000bfee8ee4 00050 (v01 PTLTD $UCRTBL$ 06040000 PTL 00000001)
Aug 12 16:37:33 archiso kernel: ACPI: MCFG 00000000bfee8f34 0003C (v01 PTLTD MCFG 06040000 LTP 00000000)
Aug 12 16:37:33 archiso kernel: ACPI: APIC 00000000bfee8f70 00068 (v01 PTLTD APIC 06040000 LTP 00000000)
Aug 12 16:37:33 archiso kernel: ACPI: BOOT 00000000bfee8fd8 00028 (v01 PTLTD $SBFTBL$ 06040000 LTP 00000001)
Aug 12 16:37:33 archiso kernel: ACPI: SSDT 00000000bfee3651 001FB (v01 PmRef CpuPm 00003000 INTL 20030224)
Aug 12 16:37:33 archiso kernel: (8 early reservations) ==> bootmem [0000000000 - 0140000000]
Aug 12 16:37:33 archiso kernel: #0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
Aug 12 16:37:33 archiso kernel: #1 [0000006000 - 0000008000] TRAMPOLINE ==> [0000006000 - 0000008000]
Aug 12 16:37:33 archiso kernel: #2 [0000200000 - 000082d0d0] TEXT DATA BSS ==> [0000200000 - 000082d0d0]
Aug 12 16:37:33 archiso kernel: #3 [00378e2000 - 0037fef5c0] RAMDISK ==> [00378e2000 - 0037fef5c0]
Aug 12 16:37:33 archiso kernel: #4 [000009b800 - 0000100000] BIOS reserved ==> [000009b800 - 0000100000]
Aug 12 16:37:33 archiso kernel: #5 [000082e000 - 000082e198] BRK ==> [000082e000 - 000082e198]
Aug 12 16:37:33 archiso kernel: #6 [0000008000 - 000000b000] PGTABLE ==> [0000008000 - 000000b000]
Aug 12 16:37:33 archiso kernel: #7 [000000b000 - 000000c000] PGTABLE ==> [000000b000 - 000000c000]
Aug 12 16:37:33 archiso kernel: found SMP MP-table at [ffff8800000f6520] f6520
Aug 12 16:37:33 archiso kernel: Zone PFN ranges:
Aug 12 16:37:33 archiso kernel: DMA 0x00000000 -> 0x00001000
Aug 12 16:37:33 archiso kernel: DMA32 0x00001000 -> 0x00100000
Aug 12 16:37:33 archiso kernel: Normal 0x00100000 -> 0x00140000
Aug 12 16:37:33 archiso kernel: Movable zone start PFN for each node
Aug 12 16:37:33 archiso kernel: early_node_map[4] active PFN ranges
Aug 12 16:37:33 archiso kernel: 0: 0x00000000 -> 0x00000001
Aug 12 16:37:33 archiso kernel: 0: 0x00000006 -> 0x0000009b
Aug 12 16:37:33 archiso kernel: 0: 0x00000100 -> 0x000bfee0
Aug 12 16:37:33 archiso kernel: 0: 0x00100000 -> 0x00140000
Aug 12 16:37:33 archiso kernel: ACPI: PM-Timer IO Port: 0x1008
Aug 12 16:37:33 archiso kernel: ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Aug 12 16:37:33 archiso kernel: ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Aug 12 16:37:33 archiso kernel: ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
Aug 12 16:37:33 archiso kernel: ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
Aug 12 16:37:33 archiso kernel: ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
Aug 12 16:37:33 archiso kernel: IOAPIC[0]: apic_id 2, version 0, address 0xfec00000, GSI 0-23
Aug 12 16:37:33 archiso kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
Aug 12 16:37:33 archiso kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
Aug 12 16:37:33 archiso kernel: Using ACPI (MADT) for SMP configuration information
Aug 12 16:37:33 archiso kernel: SMP: Allowing 2 CPUs, 0 hotplug CPUs
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 0000000000001000 - 0000000000006000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 000000000009b000 - 000000000009c000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 000000000009c000 - 00000000000a0000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000000a0000 - 00000000000e0000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000000e0000 - 0000000000100000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000bfee0000 - 00000000bfee9000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000bfee9000 - 00000000bff00000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000bff00000 - 00000000c0000000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000c0000000 - 00000000fec00000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000fec00000 - 00000000fec10000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000fec10000 - 00000000fee00000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000fee00000 - 00000000fee01000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000fee01000 - 00000000ff000000
Aug 12 16:37:33 archiso kernel: PM: Registered nosave memory: 00000000ff000000 - 0000000100000000
Aug 12 16:37:33 archiso kernel: Allocating PCI resources starting at c4000000 (gap: c0000000:3ec00000)
Aug 12 16:37:33 archiso kernel: NR_CPUS:16 nr_cpumask_bits:16 nr_cpu_ids:2 nr_node_ids:1
Aug 12 16:37:33 archiso kernel: PERCPU: Embedded 25 pages at ffff880028022000, static data 72352 bytes
Aug 12 16:37:33 archiso kernel: Built 1 zonelists in Zone order, mobility grouping on. Total pages: 1028574
Aug 12 16:37:33 archiso kernel: Kernel command line: lang=en locale=en_US.UTF-8 archisolabel=ARCHISO_KE1AECIE ramdisk_size=75%
Aug 12 16:37:33 archiso kernel: Initializing CPU#0
Aug 12 16:37:33 archiso kernel: NR_IRQS:768
Aug 12 16:37:33 archiso kernel: PID hash table entries: 4096 (order: 12, 32768 bytes)
Aug 12 16:37:33 archiso kernel: Fast TSC calibration using PIT
Aug 12 16:37:33 archiso kernel: Detected 2999.990 MHz processor.
Aug 12 16:37:33 archiso kernel: Console: colour VGA+ 80x25
Aug 12 16:37:33 archiso kernel: console [tty0] enabled
Aug 12 16:37:33 archiso kernel: Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Aug 12 16:37:33 archiso kernel: Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
Aug 12 16:37:33 archiso kernel: Checking aperture...
Aug 12 16:37:33 archiso kernel: No AGP bridge found
Aug 12 16:37:33 archiso kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Aug 12 16:37:33 archiso kernel: Placing 64MB software IO TLB between ffff880020000000 - ffff880024000000
Aug 12 16:37:33 archiso kernel: software IO TLB at phys 0x20000000 - 0x24000000
Aug 12 16:37:33 archiso kernel: Memory: 4034028k/5242880k available (3409k kernel code, 1050152k absent, 157764k reserved, 1239k data, 464k init)
Aug 12 16:37:33 archiso kernel: SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Aug 12 16:37:33 archiso kernel: Calibrating delay loop (skipped), value calculated using timer frequency.. 6002.97 BogoMIPS (lpj=9999966)
Aug 12 16:37:33 archiso kernel: Security Framework initialized
Aug 12 16:37:33 archiso kernel: Mount-cache hash table entries: 256
Aug 12 16:37:33 archiso kernel: CPU: Trace cache: 12K uops, L1 D cache: 16K
Aug 12 16:37:33 archiso kernel: CPU: L2 cache: 2048K
Aug 12 16:37:33 archiso kernel: CPU: Physical Processor ID: 0
Aug 12 16:37:33 archiso kernel: CPU: Processor Core ID: 0
Aug 12 16:37:33 archiso kernel: using mwait in idle threads.
Aug 12 16:37:33 archiso kernel: ACPI: Core revision 20090320
Aug 12 16:37:33 archiso kernel: Setting APIC routing to flat
Aug 12 16:37:33 archiso kernel: ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
Aug 12 16:37:33 archiso kernel: CPU0: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03
Aug 12 16:37:33 archiso kernel: Booting processor 1 APIC 0x1 ip 0x6000
Aug 12 16:37:33 archiso kernel: Initializing CPU#1
Aug 12 16:37:33 archiso kernel: Calibrating delay using timer specific routine.. 6002.80 BogoMIPS (lpj=9999695)
Aug 12 16:37:33 archiso kernel: CPU: Trace cache: 12K uops, L1 D cache: 16K
Aug 12 16:37:33 archiso kernel: CPU: L2 cache: 2048K
Aug 12 16:37:33 archiso kernel: CPU: Physical Processor ID: 0
Aug 12 16:37:33 archiso kernel: CPU: Processor Core ID: 0
Aug 12 16:37:33 archiso kernel: CPU1: Thermal monitoring enabled (TM1)
Aug 12 16:37:33 archiso kernel: x86 PAT enabled: cpu 1, old 0x7040600070406, new 0x7010600070106
Aug 12 16:37:33 archiso kernel: CPU1: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03
Aug 12 16:37:33 archiso kernel: checking TSC synchronization [CPU#0 -> CPU#1]: passed.
Aug 12 16:37:33 archiso kernel: Brought up 2 CPUs
Aug 12 16:37:33 archiso kernel: Total of 2 processors activated (12004.78 BogoMIPS).
Aug 12 16:37:33 archiso kernel: net_namespace: 1888 bytes
Aug 12 16:37:33 archiso kernel: Booting paravirtualized kernel on bare hardware
Aug 12 16:37:33 archiso kernel: NET: Registered protocol family 16
Aug 12 16:37:33 archiso kernel: ACPI: bus type pci registered
Aug 12 16:37:33 archiso kernel: PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 9
Aug 12 16:37:33 archiso kernel: PCI: Not using MMCONFIG.
Aug 12 16:37:33 archiso kernel: PCI: Using configuration type 1 for base access
Aug 12 16:37:33 archiso kernel: bio: create slab <bio-0> at 0
Aug 12 16:37:33 archiso kernel: ACPI: Interpreter enabled
Aug 12 16:37:33 archiso kernel: ACPI: (supports S0 S1 S4 S5)
Aug 12 16:37:33 archiso kernel: ACPI: Using IOAPIC for interrupt routing
Aug 12 16:37:33 archiso kernel: PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 9
Aug 12 16:37:33 archiso kernel: PCI: MCFG area at e0000000 reserved in ACPI motherboard resources
Aug 12 16:37:33 archiso kernel: PCI: Using MMCONFIG at e0000000 - e09fffff
Aug 12 16:37:33 archiso kernel: ACPI: No dock devices found.
Aug 12 16:37:33 archiso kernel: ACPI Warning (nspredef-0331): \_SB_.PCI0._OSC: Parameter count mismatch - ASL declared 5, ACPI requires 4 [20090320]
Aug 12 16:37:33 archiso kernel: ACPI: PCI Root Bridge [PCI0] (0000:00)
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: PME# disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.0: PME# disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.4: PME# disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: PME# supported from D0 D3hot D3cold
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: PME# disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
Aug 12 16:37:33 archiso kernel: pci 0000:00:1d.7: PME# disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1f.0: quirk: region 1000-107f claimed by ICH6 ACPI/GPIO/TCO
Aug 12 16:37:33 archiso kernel: pci 0000:00:1f.0: quirk: region 1180-11bf claimed by ICH6 GPIO
Aug 12 16:37:33 archiso kernel: pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0500 (mask 007f)
Aug 12 16:37:33 archiso kernel: pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 0ca0 (mask 000f)
Aug 12 16:37:33 archiso kernel: pci 0000:02:00.0: PXH quirk detected; SHPC device MSI disabled
Aug 12 16:37:33 archiso kernel: pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
Aug 12 16:37:33 archiso kernel: pci 0000:02:00.0: PME# disabled
Aug 12 16:37:33 archiso kernel: pci 0000:04:00.0: PME# supported from D3hot D3cold
Aug 12 16:37:33 archiso kernel: pci 0000:04:00.0: PME# disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1e.0: transparent bridge
Aug 12 16:37:33 archiso kernel: ACPI: PCI Interrupt Link [LNKA] (IRQs 3 *10 11 14 15)
Aug 12 16:37:33 archiso kernel: ACPI: PCI Interrupt Link [LNKB] (IRQs 3 10 *11 14 15)
Aug 12 16:37:33 archiso kernel: ACPI: PCI Interrupt Link [LNKC] (IRQs 3 10 *11 14 15)
Aug 12 16:37:33 archiso kernel: ACPI: PCI Interrupt Link [LNKD] (IRQs 3 *10 11 14 15)
Aug 12 16:37:33 archiso kernel: ACPI: PCI Interrupt Link [LNKE] (IRQs 3 10 11 14 15) *0, disabled.
Aug 12 16:37:33 archiso kernel: ACPI: PCI Interrupt Link [LNKF] (IRQs 3 10 11 14 15) *0, disabled.
Aug 12 16:37:33 archiso kernel: ACPI: PCI Interrupt Link [LNKG] (IRQs 3 10 11 14 15) *0, disabled.
Aug 12 16:37:33 archiso kernel: ACPI: PCI Interrupt Link [LNKH] (IRQs 3 10 11 14 15) *5
Aug 12 16:37:33 archiso kernel: PCI: Using ACPI for IRQ routing
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: BAR 13: can't allocate resource
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: BAR 14: can't allocate resource
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: BAR 15: can't allocate resource
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: BAR 13: can't allocate resource
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: BAR 14: can't allocate resource
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: BAR 15: can't allocate resource
Aug 12 16:37:33 archiso kernel: NetLabel: Initializing
Aug 12 16:37:33 archiso kernel: NetLabel: domain hash size = 128
Aug 12 16:37:33 archiso kernel: NetLabel: protocols = UNLABELED CIPSOv4
Aug 12 16:37:33 archiso kernel: NetLabel: unlabeled traffic allowed by default
Aug 12 16:37:33 archiso kernel: HPET: 3 timers in total, 0 timers will be used for per-cpu timer
Aug 12 16:37:33 archiso kernel: pnp: PnP ACPI init
Aug 12 16:37:33 archiso kernel: ACPI: bus type pnp registered
Aug 12 16:37:33 archiso kernel: pnp: PnP ACPI: found 12 devices
Aug 12 16:37:33 archiso kernel: ACPI: ACPI bus type pnp unregistered
Aug 12 16:37:33 archiso kernel: system 00:01: ioport range 0x800-0x83f has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: ioport range 0x1000-0x107f has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: ioport range 0x1180-0x11bf has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: ioport range 0x4d0-0x4d1 has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: ioport range 0x500-0x57f has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: ioport range 0xca8-0xca8 has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: ioport range 0xcac-0xcac has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: ioport range 0xfe00-0xfe00 has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: iomem range 0xfed14000-0xfed17fff has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: iomem range 0xfed13000-0xfed13fff has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: iomem range 0xe0000000-0xefffffff has been reserved
Aug 12 16:37:33 archiso kernel: system 00:01: iomem range 0xfed20000-0xfed8ffff has been reserved
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: PCI bridge, secondary bus 0000:01
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: IO window: disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: MEM window: disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: PREFETCH window: disabled
Aug 12 16:37:33 archiso kernel: pci 0000:02:00.0: PCI bridge, secondary bus 0000:03
Aug 12 16:37:33 archiso kernel: pci 0000:02:00.0: IO window: 0x4000-0x4fff
Aug 12 16:37:33 archiso kernel: pci 0000:02:00.0: MEM window: 0xc0200000-0xc02fffff
Aug 12 16:37:33 archiso kernel: pci 0000:02:00.0: PREFETCH window: 0x000000c0500000-0x000000c05fffff
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.0: PCI bridge, secondary bus 0000:02
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.0: IO window: 0x4000-0x4fff
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.0: MEM window: 0xc0100000-0xc02fffff
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.0: PREFETCH window: 0x000000c0500000-0x000000c05fffff
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.4: PCI bridge, secondary bus 0000:04
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.4: IO window: disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.4: MEM window: 0xc0300000-0xc03fffff
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.4: PREFETCH window: disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: PCI bridge, secondary bus 0000:05
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: IO window: disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: MEM window: disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: PREFETCH window: disabled
Aug 12 16:37:33 archiso kernel: pci 0000:00:1e.0: PCI bridge, secondary bus 0000:0a
Aug 12 16:37:33 archiso kernel: pci 0000:00:1e.0: IO window: 0x5000-0x5fff
Aug 12 16:37:33 archiso kernel: pci 0000:00:1e.0: MEM window: 0xc0400000-0xc04fffff
Aug 12 16:37:33 archiso kernel: pci 0000:00:1e.0: PREFETCH window: 0x000000c8000000-0x000000cfffffff
Aug 12 16:37:33 archiso kernel: pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.4: PCI INT A -> GSI 17 (level, low) -> IRQ 17
Aug 12 16:37:33 archiso kernel: pci 0000:00:1c.5: PCI INT B -> GSI 16 (level, low) -> IRQ 16
Aug 12 16:37:33 archiso kernel: NET: Registered protocol family 2
Aug 12 16:37:33 archiso kernel: IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
Aug 12 16:37:33 archiso kernel: TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
Aug 12 16:37:33 archiso kernel: TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
Aug 12 16:37:33 archiso kernel: TCP: Hash tables configured (established 262144 bind 65536)
Aug 12 16:37:33 archiso kernel: TCP reno registered
Aug 12 16:37:33 archiso kernel: NET: Registered protocol family 1
Aug 12 16:37:33 archiso kernel: Unpacking initramfs...
Aug 12 16:37:33 archiso kernel: Freeing initrd memory: 7221k freed
Aug 12 16:37:33 archiso kernel: Simple Boot Flag at 0x3c set to 0x1
Aug 12 16:37:33 archiso kernel: Scanning for low memory corruption every 60 seconds
Aug 12 16:37:33 archiso kernel: audit: initializing netlink socket (disabled)
Aug 12 16:37:33 archiso kernel: type=2000 audit(1250095030.473:1): initialized
Aug 12 16:37:33 archiso kernel: VFS: Disk quotas dquot_6.5.2
Aug 12 16:37:33 archiso kernel: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
Aug 12 16:37:33 archiso kernel: msgmni has been set to 7894
Aug 12 16:37:33 archiso kernel: alg: No test for stdrng (krng)
Aug 12 16:37:33 archiso kernel: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
Aug 12 16:37:33 archiso kernel: io scheduler noop registered
Aug 12 16:37:33 archiso kernel: io scheduler anticipatory registered
Aug 12 16:37:33 archiso kernel: io scheduler deadline registered
Aug 12 16:37:33 archiso kernel: io scheduler cfq registered (default)
Aug 12 16:37:33 archiso kernel: PCI quirk: reroute interrupts for 0x8086:0x032c
Aug 12 16:37:33 archiso kernel: Linux agpgart interface v0.103
Aug 12 16:37:33 archiso kernel: Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
Aug 12 16:37:33 archiso kernel: serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Aug 12 16:37:33 archiso kernel: serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Aug 12 16:37:33 archiso kernel: 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Aug 12 16:37:33 archiso kernel: 00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Aug 12 16:37:33 archiso kernel: input: Macintosh mouse button emulation as /devices/virtual/input/input0
Aug 12 16:37:33 archiso kernel: PNP: PS/2 Controller [PNP0303:KBC0,PNP0f13:MSE0] at 0x60,0x64 irq 1,12
Aug 12 16:37:33 archiso kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
Aug 12 16:37:33 archiso kernel: serio: i8042 AUX port at 0x60,0x64 irq 12
Aug 12 16:37:33 archiso kernel: mice: PS/2 mouse device common for all mice
Aug 12 16:37:33 archiso kernel: cpuidle: using governor ladder
Aug 12 16:37:33 archiso kernel: cpuidle: using governor menu
Aug 12 16:37:33 archiso kernel: TCP cubic registered
Aug 12 16:37:33 archiso kernel: NET: Registered protocol family 17
Aug 12 16:37:33 archiso kernel: registered taskstats version 1
Aug 12 16:37:33 archiso kernel: Initalizing network drop monitor service
Aug 12 16:37:33 archiso kernel: Freeing unused kernel memory: 464k freed
Aug 12 16:37:33 archiso kernel: input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1
Aug 12 16:37:33 archiso kernel: SCSI subsystem initialized
Aug 12 16:37:33 archiso kernel: usbcore: registered new interface driver usbfs
Aug 12 16:37:33 archiso kernel: usbcore: registered new interface driver hub
Aug 12 16:37:33 archiso kernel: usbcore: registered new device driver usb
Aug 12 16:37:33 archiso kernel: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Aug 12 16:37:33 archiso kernel: ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23
Aug 12 16:37:33 archiso kernel: ehci_hcd 0000:00:1d.7: EHCI Host Controller
Aug 12 16:37:33 archiso kernel: ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
Aug 12 16:37:33 archiso kernel: ehci_hcd 0000:00:1d.7: debug port 1
Aug 12 16:37:33 archiso kernel: ehci_hcd 0000:00:1d.7: irq 23, io mem 0xc0000000
Aug 12 16:37:33 archiso kernel: ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
Aug 12 16:37:33 archiso kernel: usb usb1: configuration #1 chosen from 1 choice
Aug 12 16:37:33 archiso kernel: hub 1-0:1.0: USB hub found
Aug 12 16:37:33 archiso kernel: hub 1-0:1.0: 6 ports detected
Aug 12 16:37:33 archiso kernel: uhci_hcd: USB Universal Host Controller Interface driver
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.0: UHCI Host Controller
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.0: irq 23, io base 0x00003000
Aug 12 16:37:33 archiso kernel: usb usb2: configuration #1 chosen from 1 choice
Aug 12 16:37:33 archiso kernel: hub 2-0:1.0: USB hub found
Aug 12 16:37:33 archiso kernel: hub 2-0:1.0: 2 ports detected
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.1: UHCI Host Controller
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.1: irq 19, io base 0x00003020
Aug 12 16:37:33 archiso kernel: usb usb3: configuration #1 chosen from 1 choice
Aug 12 16:37:33 archiso kernel: hub 3-0:1.0: USB hub found
Aug 12 16:37:33 archiso kernel: hub 3-0:1.0: 2 ports detected
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.2: UHCI Host Controller
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
Aug 12 16:37:33 archiso kernel: uhci_hcd 0000:00:1d.2: irq 18, io base 0x00003040
Aug 12 16:37:33 archiso kernel: usb usb4: configuration #1 chosen from 1 choice
Aug 12 16:37:33 archiso kernel: hub 4-0:1.0: USB hub found
Aug 12 16:37:33 archiso kernel: hub 4-0:1.0: 2 ports detected
Aug 12 16:37:33 archiso kernel: ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Aug 12 16:37:33 archiso kernel: scsi0 : ata_piix
Aug 12 16:37:33 archiso kernel: scsi1 : ata_piix
Aug 12 16:37:33 archiso kernel: aic94xx: Adaptec aic94xx SAS/SATA driver version 1.0.3 loaded
Aug 12 16:37:33 archiso kernel: aic94xx 0000:03:04.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Aug 12 16:37:33 archiso kernel: ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x3080 irq 14
Aug 12 16:37:33 archiso kernel: ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x3088 irq 15
Aug 12 16:37:33 archiso kernel: aic94xx: found Adaptec AIC-9405W SAS/SATA Host Adapter, device 0000:03:04.0
Aug 12 16:37:33 archiso kernel: scsi2 : aic94xx
Aug 12 16:37:33 archiso kernel: aic94xx 0000:03:04.0: firmware: requesting aic94xx-seq.fw
Aug 12 16:37:33 archiso kernel: aic94xx: Failed to load sequencer firmware file aic94xx-seq.fw, error -2
Aug 12 16:37:33 archiso kernel: aic94xx: couldn't init seqs for 0000:03:04.0
Aug 12 16:37:33 archiso kernel: aic94xx: couldn't init the chip
Aug 12 16:37:33 archiso kernel: aic94xx 0000:03:04.0: PCI INT A disabled
Aug 12 16:37:33 archiso kernel: aic94xx: probe of 0000:03:04.0 failed with error -2
Aug 12 16:37:33 archiso kernel: ata1.00: ATAPI: HL-DT-STDVD-RAM GSA-H55N, 1.03, max UDMA/66
Aug 12 16:37:33 archiso kernel: ata1.00: limited to UDMA/33 due to 40-wire cable
Aug 12 16:37:33 archiso kernel: ata1.00: configured for UDMA/33
Aug 12 16:37:33 archiso kernel: scsi 0:0:0:0: CD-ROM HL-DT-ST DVD-RAM GSA-H55N 1.03 PQ: 0 ANSI: 5
Aug 12 16:37:33 archiso kernel: Driver 'sr' needs updating - please use bus_type methods
Aug 12 16:37:33 archiso kernel: sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
Aug 12 16:37:33 archiso kernel: Uniform CD-ROM driver Revision: 3.20
Aug 12 16:37:33 archiso kernel: usb 2-1: new low speed USB device using uhci_hcd and address 2
Aug 12 16:37:33 archiso kernel: usb 2-1: configuration #1 chosen from 1 choice
Aug 12 16:37:33 archiso kernel: usbcore: registered new interface driver hiddev
Aug 12 16:37:33 archiso kernel: input: USB Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/input/input2
Aug 12 16:37:33 archiso kernel: generic-usb 0003:04B3:310C.0001: input,hidraw0: USB HID v1.11 Mouse [USB Optical Mouse] on usb-0000:00:1d.0-1/input0
Aug 12 16:37:33 archiso kernel: usbcore: registered new interface driver usbhid
Aug 12 16:37:33 archiso kernel: usbhid: v2.6:USB HID core driver
Aug 12 16:37:33 archiso kernel: squashfs: version 4.0 (2009/01/31) Phillip Lougher
Aug 12 16:37:33 archiso kernel: aufs 2-standalone.tree-20090601
Aug 12 16:37:33 archiso kernel: loop: module loaded
Aug 12 16:37:33 archiso kernel: aufs test_add:240:mount[635]: uid/gid/perm /tmpfs/mnt/loop0 0/0/0755, 0/0/01777
Aug 12 16:37:33 archiso kernel: aufs test_add:240:mount[648]: uid/gid/perm /tmpfs/mnt/loop2 0/0/0755, 0/0/01777
Aug 12 16:37:33 archiso kernel: rtc_cmos 00:04: RTC can wake from S4
Aug 12 16:37:33 archiso kernel: rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
Aug 12 16:37:33 archiso kernel: rtc0: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
Aug 12 16:37:33 archiso kernel: udev: starting version 141
Aug 12 16:37:33 archiso kernel: input: PC Speaker as /devices/platform/pcspkr/input/input3
Aug 12 16:37:33 archiso kernel: intel_rng: FWH not detected
Aug 12 16:37:33 archiso kernel: pci_hotplug: PCI Hot Plug PCI Core version: 0.5
Aug 12 16:37:33 archiso kernel: shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
Aug 12 16:37:33 archiso kernel: input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input4
Aug 12 16:37:33 archiso kernel: ACPI: Power Button [PWRF]
Aug 12 16:37:33 archiso kernel: input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0A03:00/PNP0C0C:00/input/input5
Aug 12 16:37:33 archiso kernel: ACPI: Power Button [PWRB]
Aug 12 16:37:33 archiso kernel: EDAC MC: Ver: 2.1.0 Jul 31 2009
Aug 12 16:37:33 archiso kernel: iTCO_vendor_support: vendor-support=0
Aug 12 16:37:33 archiso kernel: i801_smbus 0000:00:1f.3: PCI INT B -> GSI 19 (level, low) -> IRQ 19
Aug 12 16:37:33 archiso kernel: tg3.c:v3.98 (February 25, 2009)
Aug 12 16:37:33 archiso kernel: tg3 0000:04:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Aug 12 16:37:33 archiso kernel: tg3 0000:04:00.0: PME# disabled
Aug 12 16:37:33 archiso kernel: eth0: Tigon3 [partno(BCM95721) rev 4101] (PCI Express) MAC address 00:11:25:a4:42:2f
Aug 12 16:37:33 archiso kernel: eth0: attached PHY is 5750 (10/100/1000Base-T Ethernet) (WireSpeed[1])
Aug 12 16:37:33 archiso kernel: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1]
Aug 12 16:37:33 archiso kernel: eth0: dma_rwctrl[76180000] dma_mask[64-bit]
Aug 12 16:37:33 archiso kernel: sr 0:0:0:0: Attached scsi generic sg0 type 5
Aug 12 16:37:33 archiso kernel: iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
Aug 12 16:37:33 archiso kernel: iTCO_wdt: Found a ICH7 or ICH7R TCO device (Version=2, TCOBASE=0x1060)
Aug 12 16:37:33 archiso kernel: iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
Aug 12 16:37:33 archiso kernel: processor ACPI_CPU:00: registered as cooling_device0
Aug 12 16:37:33 archiso kernel: ACPI: Processor [CPU0] (supports 8 throttling states)
Aug 12 16:37:33 archiso kernel: processor ACPI_CPU:01: registered as cooling_device1
Aug 12 16:37:33 archiso kernel: ACPI: Processor [CPU1] (supports 8 throttling states)
Aug 12 16:37:33 archiso kernel: EDAC MC0: Giving out device to 'i3000_edac' 'i3000': DEV 0000:00:00.0
Aug 12 16:37:33 archiso kernel: EDAC PCI0: Giving out device to module 'i3000_edac' controller 'EDAC PCI controller': DEV '0000:00:00.0' (POLLED)
Aug 12 16:37:33 archiso kernel: lp: driver loaded but no devices found
Aug 12 16:37:33 archiso kernel: parport_pc 00:0b: reported by Plug and Play ACPI
Aug 12 16:37:33 archiso kernel: parport0: PC-style at 0x378 (0x778), irq 7, dma 1 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
Aug 12 16:37:33 archiso kernel: lp0: using parport0 (interrupt-driven).
Aug 12 16:37:33 archiso kernel: ppdev: user-space parallel port driver
Aug 12 16:37:31 archiso init: Entering runlevel: 3
Aug 12 16:38:08 archiso kernel: tg3 0000:04:00.0: PME# disabled
Aug 12 16:38:09 archiso kernel: tg3: eth0: Link is up at 100 Mbps, full duplex.
Aug 12 16:38:09 archiso kernel: tg3: eth0: Flow control is on for TX and on for RX.
Aug 12 16:42:52 archiso kernel: device-mapper: uevent: version 1.0.3
Aug 12 16:42:52 archiso kernel: device-mapper: ioctl: 4.14.0-ioctl (2008-04-23) initialised: [email protected]
Aug 12 16:43:49 archiso kernel: usb 1-4: new high speed USB device using ehci_hcd and address 3
Aug 12 16:43:50 archiso kernel: usb 1-4: configuration #1 chosen from 1 choice
Aug 12 16:43:50 archiso kernel: Initializing USB Mass Storage driver...
Aug 12 16:43:50 archiso kernel: scsi3 : SCSI emulation for USB Mass Storage devices
Aug 12 16:43:50 archiso kernel: usbcore: registered new interface driver usb-storage
Aug 12 16:43:50 archiso kernel: USB Mass Storage support registered.
Aug 12 16:43:55 archiso kernel: scsi 3:0:0:0: Direct-Access Kingston DT 101 II 1.00 PQ: 0 ANSI: 2
Aug 12 16:43:55 archiso kernel: scsi 3:0:0:0: Attached scsi generic sg1 type 0
Aug 12 16:43:55 archiso kernel: Driver 'sd' needs updating - please use bus_type methods
Aug 12 16:43:55 archiso kernel: sd 3:0:0:0: [sda] 7876608 512-byte hardware sectors: (4.03 GB/3.75 GiB)
Aug 12 16:43:55 archiso kernel: sd 3:0:0:0: [sda] Write Protect is off
Aug 12 16:43:55 archiso kernel: sda: sda1
Aug 12 16:43:55 archiso kernel: sd 3:0:0:0: [sda] Attached SCSI removable disk
I'm following your last instructions ... no results. -
[Solved] RAID 0 with Arch Linux and Intel Matrix Storage Manager
I just bought a brand new DELL Studio desktop and it has 2 500 HD's which I would like to run in RAID 0. I've setup the BIOS to run the RAID 0. Now I want the arch linux installation to recognise the volume. I followed the guide on the wikipage
http://wiki.archlinux.org/index.php/Ins … _Fake-RAID
but /dev/mapper doesn't show anything after modprobing the modules and installing dmraid. My controller is a intel matrix storage controller, so what module should I modprobe because sata_sil isn't the right one.
Regards
André
Last edited by fettouhi (2008-12-15 10:57:18)you have a separate /boot partition, so your menu.lst must say :
root (hd0,0) # the partition including /boot
kernel /vmlinuz26 ... # without leading /boot
initrd /kernel26.img # without leading /boot
(in grub, / is the root of the partition that was set with the root command, your vmlinuz26 and kernel26.img are in (hd0,0)/, not in (hd0,0)/boot/)
did you install from core CD or from FTP ?
there was a dmraid update few weeks ago that modified device names that dmraid creates :
it add "p" before the number of the partition (your iws...Volume0 don't change, but your iws...Volume0# change to iws...Volume0p#)
if you installed from core CD, you will only need to add this "p" when you will upgrade dmraid (or the full system)
(you will then need to edit both /boot/grub/menu.lst and /etc/fstab)
if you installed from FTP, you need to add this "p" now, as you installed last version of dmraid -
Installing Multiple Operating Systems with grub and Arch Linux
NOTE: Please keep in mind that there are many different ways to achieve this same result using various loop and ramdisk methods, read this with a separate window to jot down your comments and suggestions... this is ongoing for me so any help would be appreciated!
Read the full article at Install Multiple Os without cds
This is my first post and I plan on making this topic an official HOWTO with www.tldp.org.
I have been into the computer security scene since 1990, but I realized that I had very little experience with the various LInux, Unix, and alternative Operating systems out there.
I have a CD-RW drive but being a struggling computer security researcher I had no money for blank cd-recordables. What follows is how I managed to install various operating systems on my computer (1 hard drive) without having to burn to a CD the ISO and then boot from that.
I first partitioned my 120GB harddrive into 10 partitions, the 2nd partition is a small swap and the last partition is extra large because it holds all the ISO images..
I then wrote a small shell script to automatically download (I love wget!) the following.
OpenBSD
IpCOP
Libranet
Arch-Linux
Fire
Local Area Security
Packet Master
Devil-Linux
FreeBSD
Knoppix
Helix
Gentoo
Yoper-Linux
NetBSD
RedHat
Slackware
The script also downloaded Installation manuals and md5 checksums.. (let me know if I should post... its pretty unsophisticated
I installed Slackware (personal favorite) on hda1 using my last blank CD-R, note that I do not have a separate boot partitino. (Should I?). I also installed grub on the MBR. I love grub, if you read through the man pages and all info you can find about grub, you can learn a whole lot. Grub has much more features and capability than lilo, even though lilo comes installed by default with slack.
I organize my kernel situation as follows... In my /boot directory, I mkdir KERNEL, CONFIG, MAP, INITRD and that is a good way for me to keep my kernels and everything organized.. Another good way is a separate dir for each new kernel.
Since Arch-Linux is a solid distro, I'll use that as a first example.
Here is the Arch-Linux section of my shell script
goge Arch-Linux
$w http://puzzle.dl.sourceforge.net/sourceforge/archlinux/arch-0.6.iso
$w http://unc.dl.sourceforge.net/sourceforge/archlinux/arch-0.6.md5sum
$w http://www.archlinux.org/docs/en/guide/install/arch-install-guide.html
md55
cat arch-0.6.md5sum
md5sum arch-0.6.iso
md55
The first thing to do is to mount the downloaded ISO image so we can use it as if it were an actual CD.
mount -t iso9660 -o ro,loop=/dev/loop0 cdimage /mnt/cdrom
Where cdimage= the ISO image. EX. /usr/local/src/ISO/Linux/Arch-Linux/arch-0.6.iso
This mounts the iso as /mnt/cdrom.
Next you need to copy /mnt/cdrom to a separate partition for the booting process. So mkfs.ext2 /dev/hda9. ( I prefer reiserfs or even XFS to ext but if you use something other than ext2 you could run into some problems because some of the installation kernels and initrds don't include support for reiserfs and so can't recognize the files. Although you could use mkinitrd to create a new initrd with reiserfs support, that might be pushin it IMO... I use the 9th partition consistently for this. I know there is a "right" way to copy the /mnt/cdrom files so everything stays the way it is supposed too, using tar or cpio, but I'm lazy so I just do cp -rp.
(What is the tar or cpio commands to copy with correct permissions etc??)
So you mount the 9th partition as whatever, say /mnt/hd and then copy the files. Now what?
Now edit your /boot/grub/menu.lst file to include the specific options to boot arch-linux installation.
A good idea is to find the isolinux.cfg file somewhere on the distro cd, this will tell you what to include in the menu.lst.
Here is the section in my menu.lst
title Arch Install
root (hd0,8)
kernel /isolinux/vmlinuz load_ramdisk=1 prompt_ramdisk=0 root=/dev/rd/0
initrd=/isolinux/initrd.img
This should be self-explanatory. The root (hd0,8) is pointing to partition 9. So the rest of the commands start from partition 9.
When you experience problems, remember you can always edit the grub boot options by typing 'e' and then edit the section. Also, a good idea is to include several variations in your menu.lst so you can easily try other ways to boot efficiently. And, remember to read up on all the installation guides that come with your distro, specifically, hard-disk installs.
There are special cases, Gentoo, has a semi-new compressed filesystem called squashfs. BTW, this is AWESOME, so check it out. It has to be compiled into the kernel, so some work is in order, but use this recompile to optimize your kernel. You can get the squashfs patch for almost any kernel. I use the latest stable 2.6 kernel. Squashfs is incredible and although I don't think you need it to install from ISO, you do need it to expand the livecd.squashfs filesystem that comes with the cd.
Heres a sample Gentoo section from my menu.lst
title Gentoo Install
root (hd0,8)
kernel /isolinux/gentoo root=/dev/ram0
initrd=/isolinux/gentoo.igz init=/linuxrc acpi=off looptype=squashfs loop=/livecd.squashfs cdroot vga=791 splash=silent
A nother' tip is the shell that is provided if you experience problems, typically busybox or ash. The key tools to get you going from here is mount and chroot. Sometimes you will need to manually create a simulated file system and then chroot into it. For instance, you might have to create boot, etc, bin, directories on the target partition.
I generally install each OS onto the next partition (careful of the logical partition) and add it to my menu.lst after install. A good idea is after installation, copy the kernel and initrd(if there is one) to the slackware(or whatever) boot partition on hda1. I copy kernels to /boot/KERNEL/ and initrd's to /boot/INITRD, then menu.lst is more organized...
You then need to add an updated section to your menu.lst (just comment out the install section for later)
Here is the finished arch-linux section from menu.lst
title Arch Linux 6
root (hd0,2)
kernel /boot/vmlinuz26 ro root=/dev/hdc3
This doesn't use my convenient boot/KERNEL/vmlinuz26 as you can tell by setting the root to partition 3.
***NOTE: Make a backup of MBR using dd and save to floppy, also backup the partition table to floppy, using cfdisk or parted. And boot disks (I use 1 with grub, and 1 with slack, and tomsbootdisk) will invariably come in handy. Tomsbootdisk is recommended, and make the grub boot disk when you install grub. install to floppy.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The final result after some fun experimenting, is when I boot, I have a cool grub boot screen come up with the option to boot into whatever OS I want, this is handy for multiple reasons. One good thing to do after this is to port scan and vuln scan each OS, after you update of course. Write this stuff down and you will know the weaknesses/strengths of the various OS's.
I can boot a custom Firewall, snort, or multiple honeypots using this procedure, as well as a graphical kde environment with a kernel optimized for graphics and my processor/architecture, or an environment devoted to forensics or even an environment suitable for programming.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
P.S. Some of the cooler alternative operating systems are BeOS 5, EOS, ER_OS, V2_OS, and my personal favorite Menuet. Menuet is 100% assembly graphical operating system that fits on a floppy. Its f'in money!
This should be a good enough example to get you started, this kind of thing should be learned and not just copied... Knowing how to do this stuff could prove to be exceptionally useful...Start by reading all the articles built-in on your Mac - Help > Mac Help, search "printer sharing."
http://desk.stinkpot.org:8080/tricks/index.php/2008/04/how-to-print-to-a-cups-se rver-from-mac-os-x/
http://www.macosxhints.com/article.php?story=20080324224027152&query=share%2Bpri nter
http://members.cox.net/18james/osxprintersharing.html
http://ubuntuforums.org/archive/index.php/t-56940.html -
[SOLVED]System Hang in Arch Linux
I have tried distributions like ubuntu and fedora in hope for finding a stable system . So I move on to Arch Linux
But this problem also exist on Arch. While using my Arch Linux (including ubuntu and fedora) my system hangs with a black screen with something written on the whole screen which cannot be pasted here as my system hangs and I have to push power button to restart.
So I check my errors.log file and found these errors
Jul 8 22:59:24 localhost kernel: [ 1.680013] ata3: softreset failed (device not ready)
Jul 8 22:59:24 localhost kernel: [ 7.298612] SP5100 TCO timer: mmio address 0xfec000f0 already in use
Jul 8 22:59:31 localhost kdm_greet[792]: Cannot load /usr/share/apps/kdm/faces/.default.face: No such file or directory
I have a HCL K21 pdc notebook
Note: In Ubuntu my notebook start with ata1: softreset failed error at boot time
Most often this error occur while watching videos or listening music with VLC
Last edited by Manuj19 (2011-07-09 10:13:24)ewaller wrote:It might be better to just post the output of lspci -nn It will tell us a great deal more about the hardware related to the PCI bus, including specific chip set identifiers.
Thanks for suggestion
Here is output of lspci -nn
00:00.0 Host bridge [0600]: ATI Technologies Inc Device [1002:5a31] (rev 01)
00:01.0 PCI bridge [0604]: ATI Technologies Inc RS480 PCI Bridge [1002:5a3f]
00:04.0 PCI bridge [0604]: ATI Technologies Inc RS480 PCI Bridge [1002:5a36]
00:05.0 PCI bridge [0604]: ATI Technologies Inc RS480 PCI Bridge [1002:5a37]
00:06.0 PCI bridge [0604]: ATI Technologies Inc RS480 PCI Bridge [1002:5a38]
00:07.0 PCI bridge [0604]: ATI Technologies Inc RS480 PCI Bridge [1002:5a39]
00:12.0 SATA controller [0106]: ATI Technologies Inc SB600 Non-Raid-5 SATA [1002:4380]
00:13.0 USB Controller [0c03]: ATI Technologies Inc SB600 USB (OHCI0) [1002:4387]
00:13.1 USB Controller [0c03]: ATI Technologies Inc SB600 USB (OHCI1) [1002:4388]
00:13.2 USB Controller [0c03]: ATI Technologies Inc SB600 USB (OHCI2) [1002:4389]
00:13.3 USB Controller [0c03]: ATI Technologies Inc SB600 USB (OHCI3) [1002:438a]
00:13.4 USB Controller [0c03]: ATI Technologies Inc SB600 USB (OHCI4) [1002:438b]
00:13.5 USB Controller [0c03]: ATI Technologies Inc SB600 USB Controller (EHCI) [1002:4386]
00:14.0 SMBus [0c05]: ATI Technologies Inc SBx00 SMBus Controller [1002:4385] (rev 13)
00:14.1 IDE interface [0101]: ATI Technologies Inc SB600 IDE [1002:438c]
00:14.2 Audio device [0403]: ATI Technologies Inc SBx00 Azalia (Intel HDA) [1002:4383]
00:14.3 ISA bridge [0601]: ATI Technologies Inc SB600 PCI to LPC Bridge [1002:438d]
00:14.4 PCI bridge [0604]: ATI Technologies Inc SBx00 PCI to PCI Bridge [1002:4384]
01:05.0 VGA compatible controller [0300]: ATI Technologies Inc RC410 [Radeon Xpress 200M] [1002:5a62]
02:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR5001 Wireless Network Adapter [168c:001c] (rev 01)
08:01.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev b3)
08:01.1 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C552 IEEE 1394 Controller [1180:0552] (rev 08)
08:01.2 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 17)
08:01.3 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 08)
08:07.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)
Last edited by Manuj19 (2011-07-09 07:20:08) -
[HOWTO] Installing Arch Linux stable release on Acer Aspire One 522
[This is a work on progress and my first howto ever]
These steps will teach you how to install ArchLinux x64 stable release (currently 2010.05) on Acer Aspire One 522 from an existing ArchLinux (your desktop computer)
As you need a 2.6.37+ kernel to make networking work on the AO522, installing stable release as is won't work.
This Howto borns with the intention to address this problem.
You need to be familiarized with Linux internals to follow this howto.
(Expect this howto to become useless with new stable releases of ArchLinux.)
Remember to make a backup of your Windows 7 Starter system before installing ArchLinux.
I did a full raw copy of the harddisk by using systemrescuecd, an external harddisk and dd utility:
Just boot with systemrescuecd
Mount your external harddisk on /mnt/floppy for example
Clone harddisk with: dd if=/dev/sda |gzip -c > /mnt/floppy/ao522.img
This process took me a lot of time since my external harddisk is USB-1 (almost an entire evening)
Result image was about 22GB size
This image will restore partition table, boot sector and all data if things go wrong.
I followed some of the steps from this guide: https://wiki.archlinux.org/index.php/In … ting_Linux
If you have some Gentoo Linux experience you will find those steps really familiar.
You will need 2 USB pendrives or similar storage options.
One is needed to boot into your netbook, and the other to store our custom archlinux build.
Making an updated ArchLinux system
1) Make a local dir on your existing linux system
# mkdir ./newarch
2) Install pacman database on it
# pacman -Sy -r ./newarch
3) Install base system
# pacman -S base -r ./newarch
4) Let's chroot inside
# cp /etc/resolv.conf ./newarch/etc/
# cp /etc/pacman.d/mirrorlist ./newarch/etc/pacman.d
# mount -t proc proc ./newarch/proc
# mount -t sysfs sys ./newarch/sys
# mount -o bind /dev ./newarch/dev
# chroot ./newarch /bin/bash
5) Edit configuration files
# nano -w /etc/rc.conf
# nano -w /etc/hosts
# nano -w /etc/mkinitcpio.conf
Forget /etc/fstab for now since you don't know what partitions to use yet
6) Generate kernel image
# mkinitcpio -p kernel26
7) Generate locales
# nano -w /etc/locale.gen
# locale-gen
8) Make a tarball with our custom ArchLinux
# exit
# umount ./newarch/proc
# umount ./newarch/dev
# umount ./newarch/sys
# tar -cvpf newarch.tar ./newarch
9) Copy this tarball to an USB pendrive or external harddisk
10) Boot your netbook with a Linux bootable USB stick (I used systemrescuecd, and remember to pick the x64 bit kernel at grub screen)
You can use any linux distribution with usb bootable options. I suppose ArchLinux works too
To install SystemRescueCD on an USB stick follow this tutorial -> SystemRescueCD on usb stick
Insert the usb stick on your netbook, switch on, hit F2 to enter BIOS menu, and choose to boot from USB as first option. Save and Exit.
You should be booting into SystemRescueCD without any problem.
After initialization you will end in a root prompt.
11) Let's partition the disk
You will find 3 partitions if this is your first time:
/dev/sda1 2048 29362175 14680064 27 Hidden NTFS WinRE
/dev/sda2 * 29362176 29566975 102400 7 HPFS/NTFS/exFAT
/dev/sda3 29566976 488397167 229312696 7 HPFS/NTFS/exFAT
My recomendation is to leave sda1 and sda2 intact, as they have the recovery information to restore Windows 7 Starter
You have plenty of space with sda3, about 230G.
So run fdisk/cfdisk and delete /dev/sda3
Now create a 100M partition for boot
Now create a Extended partition with all the space left
Now create a 1GB logical partition for swap
Now create a 10-15 GB logical partition for root system
And finally a logical partition for our home partition with all space left
Your partition table should look like this:
/dev/sda1 2048 29362175 14680064 27 Hidden NTFS WinRE
/dev/sda2 * 29362176 29566975 102400 7 HPFS/NTFS/exFAT
/dev/sda3 29566976 29771775 102400 83 Linux
/dev/sda4 29771776 488397167 229312696 5 Extended
/dev/sda5 29773824 31821823 1024000 83 Linux
/dev/sda6 31823872 63281151 15728640 83 Linux
/dev/sda7 63283200 488397167 212556984 83 Linux
12) Create filesystems
I choosed ext2 for boot, and reiserfs for root and home partitions.
# mke2fs /dev/sda3
# mkreiserfs /dev/sda6
# mkreiserfs /dev/sda7
# mkswap /dev/sda5
13) Mount partitions
# mkdir arch
# mount /dev/sda6 arch
# mkdir arch/boot
# mount /dev/sda3 arch/boot
# mkdir arch/home
# mount /dev/sda7 arch/home
14) Copy our custom ArchLinux build on it
# mount /dev/sdb1 /mnt/floppy (for example)
# cd arch
# tar -xvpf /mnt/flopy/newarch.tar
15) Configure /etc/fstab
Mine is as follows:
devpts /dev/pts devpts defaults 0 0
shm /dev/shm tmpfs nodev,nosuid 0 0
/dev/sda3 /boot ext2 defaults 0 1
/dev/sda6 / reiserfs defaults 0 1
/dev/sda7 /home reiserfs defaults 0 1
/dev/sda5 swap swap defaults 0 0
16) Chroot in your new system
# mount -t proc proc ./proc
# mount -t sysfs sys ./sys
# mount -o bind /dev ./dev
# chroot ./ /bin/bash
17) Install grub
# grub-install
Edit /boot/grub/menu.lst to suit your needs
Mine looks like this:
timeout 5
default 0
color light-blue/black light-cyan/blue
title Arch Linux
root (hd0,2)
kernel /vmlinuz26 root=/dev/sda6 ro
initrd /kernel26.img
title Arch Linux Fallback
root (hd0,2)
kernel /vmlinuz26 root=/dev/sda6 ro
initrd /kernel26-fallback.img
title Windows 7 Recovery
rootnoverify (hd0,0)
makeactive
chainloader +1
As you see, you can restore Windows 7 Starter from Grub.
18) Change root password
# passwd
19) Add a regular user account
# useradd -G video,audio,users -m username
# passwd username
20) You're done!
# exit
# cd ..
# umount ./arch/proc
# umount ./arch/dev
# umount ./arch/sys
# umount ./arch/boot
# umount ./arch/
# reboot
Remove the usb stick from your netbook.
If all went ok, you will be inside your new stable and updated ArchLinux system
Next post is reserved for software configurations specific to the Acer Aspire One 522
Last edited by tigrezno (2011-04-20 12:22:38)Using acpid to achieve the following:
- Change screen brightness when operating in battery mode
- Power off when the power button is pressed
- Suspend when the lid is down
- Reduce CPU frequency speed to maximize battery usage
Remember that system suspend is only supported by ati free driver xf86-video-ati
1) Install acpid daemon and cpufrequtils
# pacman -S apcid cpufrequtils
2) edit acpid handler script
# nano -w /etc/acpi/handler.sh
Change the following section:
ac_adapter)
case "$2" in
AC)
case "$4" in
00000000)
echo -n $minspeed >$setspeed
#/etc/laptop-mode/laptop-mode start
00000001)
echo -n $maxspeed >$setspeed
#/etc/laptop-mode/laptop-mode stop
esac
*) logger "ACPI action undefined: $2" ;;
esac
for:
ac_adapter)
case "$2" in
ACAD)
case "$4" in
00000000)
echo 3 > /sys/devices/virtual/backlight/acpi_video0/brightness
cpufreq-set -c 0 -f 800Mhz
cpufreq-set -c 1 -f 800Mhz
00000001)
echo 9 > /sys/devices/virtual/backlight/acpi_video0/brightness
cpufreq-set -c 0 -f 1000Mhz
cpufreq-set -c 1 -f 1000Mhz
esac
*) logger "ACPI action undefined: $2" ;;
esac
Make sure you changed AC) for ACAD)
Now change this other section:
button/power)
#echo "PowerButton pressed!">/dev/tty5
case "$2" in
PWRF) logger "PowerButton pressed: $2" ;;
*) logger "ACPI action undefined: $2" ;;
esac
with:
button/power)
#echo "PowerButton pressed!">/dev/tty5
case "$2" in
PWRF) poweroff ;;
*) logger "ACPI action undefined: $2" ;;
esac
Change:
button/lid)
#echo "LID switched!">/dev/tty5
logger "ACPI group/action undefined: $1 / $2"
for:
button/lid)
pm-suspend && /etc/rc.d/network restart
logger "ACPI group/action undefined: $1 / $2"
Network restart is used because wlan0 will disconnect from AP after some time. You can try using iwconfig wlan0 essid <ap> key <key> instead of the network script, but haven't tested it myself.
3) Start acpid and load modules
# modprobe powernow-k8
# /etc/rc.d/acpid start
Add "acpid" to DAEMONS in /etc/rc.conf to start on boot
Add "powernow-k8" to the modules sections on /etc/rc.conf to load at boot
Stopping system freezes due to ethernet driver
The only way people have found to avoid freezes is by blacklisting atheros kernel drivers.
To do it at boot just edit /etc/rc.conf and change the MODULES line as this:
MODULES=(!ath9k !atl1c)
Reboot and you're done, but remember to not press the Wifi key, because it can freeze your system.
Correctly starting wireless at boot
I've found that standard scripts wont load properly my wireless lan. It gave an error telling you to use the WIRELESS_TIMEOUT variable and such.
To solve this, edit /etc/rc.d/network script and change the wi_up function by adding a second iwconfig command like this:
wi_up()
eval iwcfg="\$wlan_${1}"
[[ ! $iwcfg ]] && return 0
/usr/sbin/iwconfig $iwcfg
[[ $WIRELESS_TIMEOUT ]] || WIRELESS_TIMEOUT=2
sleep $WIRELESS_TIMEOUT
/usr/sbin/iwconfig $iwcfg
bssid=$(iwgetid $1 -ra)
It will do the trick and will start at boot correctly. This is not a solution but a fix.
Adjust Touchpad to disable false taps
What I did here is defining an area to be ignored. This area are 3 rectangles on top, left and right of the touchpad.
This means you can write and press space without having the cursor click out of the window and such.
# synclient AreaLeftEdge=150
# synclient AreaRightEdge=1300
# synclient AreaTopEdge=300
Also, add it to your /etc/X11/xorg.conf.d/10-evdev.conf:
Section "InputClass"
Identifier "evdev touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "AreaTopEdge" "300"
Option "AreaLeftEdge" "150"
Option "AreaRightEdge" "1300"
EndSection
You can play with those values. They just work for me.
Last edited by tigrezno (2011-04-23 13:49:48) -
Arch linux through vmware in dual boot
Hi guys,
I've reinstalled arch again on a fake (intel) raid system with dual boot with Windows 7. Right now arch runs just fine natively on the machine, but I want to set it up so I can run it from vmware in windows as well. I have most things figured out but I have a small problem which I have yet to tackle.
Natively the disks are mapped through dmraid in the following manner (etc/fstab):
/dev/mapper/isw_cidbgaibjd_Systemp3 /boot ext2 defaults 0 1
/dev/mapper/isw_cidbgaibjd_Systemp5 swap swap defaults 0 0
/dev/mapper/isw_cidbgaibjd_Systemp6 / ext4 defaults 0 1
/dev/mapper/isw_cidbgaibjd_Systemp2 /mnt/Win7 ntfs-3g defaults 0 0
/dev/mapper/isw_cidbgaibjd_Datap1 /mnt/Data ntfs-3g defaults 0 0
To access from vmware in Win7 I have set up vmware to map the physical (raid) drive where the arch partitions are for the virtual machine. The difference is that in Win7 the raid drive /dev/mapper/isw_cidbgaibjd_System is seen as /dev/sda (vmware abstracts the raid drive as a regular scsi/sata drive).
I've used mkinitcpio to generate a separate profile "kernel26-vmware" to load different hooks to boot arch linux in a virtual machine and create a separate runlevel (runlevel 7) to load different daemons at boot and added a new entry in grub to load the kernel26-vmware mkinitcpio image and go into runlevel 7. The only problem remaining is to switch out /etc/fstab so that it loads proper device paths to the raid drive partitions e.g.:
/dev/sda3 /boot ext2 defaults 0 1
/dev/sda5 swap swap defaults 0 0
/dev/sda6 / ext4 defaults 0 1
/dev/sda2 /mnt/Win7 ntfs-3g defaults 0 0
/dev/sdb1 /mnt/Data ntfs-3g defaults 0 0
So the question is, is there anyway to tell mkinitcpio to rewrite fstab at boot with what I want depending on if I'm booting arch natively through dual boot, or booting from vmware in Win7? I've seen that mkinitcpio has "FILES" directive which enables it to load additional custom files. Can this be used to load two separate fstabs and a small script that will ovewrite /etc/fstab on boot?
Last edited by digivampire (2009-09-24 17:32:48)Nevermind, I figured out the solution. Since UUIDs are preserved on the filesystem, setting fstab to use /dev/disk/by-uuid... works when booting both native and from vmware.
-
Hi,
I've been using Arch linux on my main machine for a few months now, and really like it. I like the "currentness" of it, as well as it's minimalist approach.
I have an old 80486DX2 66Mhz with 20MB of RAM which I occasionally fire up to play with networking things, as I work as a network engineer. I'd really like to be able to install a minimal copy of Arch Linux on it. Of course I can't, because the Arch Linux distro is i686 or greater. I've got a 10GB hard drive in it, so disk space isn't an issue. I currently have an old version of Debian on it.
I'd like to suggest creating "base-line PC" Arch distro, that is compiled only using i386 CPU instructions, allowing it to run on all generation 32 bit PCs. This would allow us Arch fans to run Arch on older computers we might have lying around.
Regards,
Mark.deficite wrote:I really like how you have no option to disagree with you at all, you either have to agree with you or vote that you don't know what a 486 is (Which is quite odd, because I know of quite a few rednecks in my school who even know what a 486 is)
Was having a small amount of fun with the poll option.:-) Having used Linux since early 1993, and having come across people in another forum asking what version of Linux would run on such as slow machine as a P3 550, I was amused to ask if people knew what an 80486 was.
Anyway, I think it's a waste of effort IMHO. A computer that old would probably not have a large HDD, and Arch requires >90MB for a full base install (of course you COULD strip things out). I remember the 486DX-33 we had only had like a 150MB hard drive or something, if even that much, and it came with 4MB of RAM (I upped it to 32MB after my dad found a broken computer in a storage unit next to ours a few years ago )
It's possible to run large HDDs in machines that old, I have a 10GB drive in the 80486 I have. Once Linux starts, it talks directly to the disk, so BIOS limitations disappear. All you need to do is configure the BIOS with the largest sized HDD it supports, and make sure the bootloader and the kernel reside within that part of the disk. This was the technique we used to use to get around the 512MB limit in the BIOS. I think actual IDE hardware limits kick in once you require LBA access to the disk, and from very rusty memory, that is something like 37GB.
20MB of RAM, which was also popular enough (4 x 1MB SIMMs, 4x4MB SIMMs), should be is enough to run a base Linux install(plenty actually, I used to run Linux on a 486 with 8MB of RAM, with X windows. I'd have 0.5MB left to run applications, however with fast swapping to a SCSI disk, it was quite useable).
I guess you could run a server or two on it or something, but do you really want to spend all that effort porting Arch to 386 when you could just run another distro. There are distros made specifically for running servers on old hardware.
Yes, but then it wouldn't be running Arch, would it. :-) -
Arch Linux on SmartQ (V5II) -looking to start project-
Upfront I will note that I am not skilled enough to accomplish this alone at my current level. I will learn what I can in order to achieve this task, so any and all links to tutorials and ideas on how to get this working will be taken and put through heavy consideration. Primary concern will be getting a working "livecd" cloned image (basically, all the most standard core packages to get a working Arch Linux with USB Keyboard and mouse support, then build from there till I get X and all the nice features of the V5(II) working, and branch out from there Will probably look into repartitioning the NAND so I can have a complete and full install (probably preserve Android for being boot from SD, which is fine since it's a complete dual-boot which requires rebooting to switch anyway) As of now, I am referencing the development tutorial for SmartQ, tutorials for building firmware images from plugapps (nice Arch port to ARM devices) and whatever information I can gather from someone on the Arch Linux forums who has recently ported it to the newest ARM processor type (v7, if I'm not mistaken). All links will be provided at the bottom of this post.
My guess is that I will have to approach this with a "Linux From Scratch" mindset of compiling the kernel, busybox and whatever else I need to get a working base install (which, from there, I can compile everything else natively on the actual device)to the point where I reach a working system with gui, basic tools, maybe a game or two, and whatever else would constitute being enough for "firmware" status. I guess, my only question ahead of all that is how do I go about making the "base install" firmware to build up from? Secondary question to that is, once I get a nice setup, how do I take that (all being on the actual V5II) and remaster THAT into a firmware that I can then post online for others to test? I already have my homework cut out for me, so I'll be reading what i can to figure this out while anybody and everybody here throws me tutorial links and ideas on how I can accomplish this each step of the way... We shall see where this train takes us.
SmartQ Linux Development Guild: https://docs.google.com/View?id=ddtx8wk … skpm&pli=1
PlugApps Development Portal: http://www.plugapps.com/index.php5?titl … evelopment
Arch Forum post for developer who ported Arch Linux to the v7 ARM processor: https://bbs.archlinux.org/viewtopic.php?id=59638
can't think of anything else at this point, but I will categorize links the best I can to morph them into somewhat of a workflow process and group the help aids to each relevant step along the way. Anyone interested in helping, feel free to join in on the fun.. Will be looking that the ArchMobile stuff and incorporating what I can into my project... maybe this will help revive the ArchMobile project as well...If you are a new programmer then Python is a good place to start. Install WingIDE 101 from the AUR for a good beginner's IDE for that.
Think Python is a free book to get started with (PDF or HTML download on that page and you can buy the dead tree if you want)
If you want to do programming that requires fast code above all else then C++ is the standard. Code::Blocks is a good IDE for that. Be sure to install "base-devel" and "gdb" to go along with it.
Programming - Principles and Practice Using C++ is a dead tree book for C++, you have to buy it but that is offset by the fact that its author is also the author of the C++ language. -
Arch Linux Rocks! A Follow Up
A week and a half ago, I took the plunge and installed Arch 0.7.1 (Noodle). I posted a thread here on that day called "And the Odyssey Begins - First Impressions of Arch Linux".
It is a week and a half later, and I am a confirmed believer. I have retired my previous distro (SuSE 9.3) and use Arch exclusively. Noodle is amazing. It is the FASTEST linux distribution I have ever used: fast in terms of boot time from grub prompt to full desktop and fast in terms of the speed with which applications launch and run. Everything is significantly, noticably faster than it was under SuSE on the same hardware. Truly amazing.
But that is not all. By and large, everything I have tried on Noodle JUST WORKS! All my physical devices JUST WORK, including the usually troublesome ones like my webcam. I have had almost no issues getting everything up and running. I had a brief issue with sound (my fault - didn't add my non root user to group "audio"), but that was it.
...and multimedia - it all JUST WORKS. I can't tell you how much trouble I had to go to in order to get other distros to do basic stuff like play MP3s or MPGs. In Noodle, I installed XMMS, MPlayer and gxine, and all my media JUST WORKS. Again, amazing.
...and then there is package management. Why can't everyone have a package manager that is as simple, fast and effective as pacman? pacman is a real winner! ...not to mention the impressive selection of packages that are available. I have been able to find almost everything I normally use in the repository. The few I haven't been able to find I have been able to build from source easily, without all the usual fussing about.
Arch is the linux I have been looking for. It is fast, stable, capable and supported by a great bunch of folks here in the forums. My hat is off to those who created and maintain this great distro, and to everyone here in the forums. I have found a new home.Can you expand on that? What does qpkg do?
I had one bad experience with AUR and haven't gotten back to it yet. I followed the instructions I found somewhere (Wiki, forum, somewhere - don't remember any more), dowloaded the package, and attempted to build. My screen flooded with compile errors and I just gave up - I figured that if I had to fight with compile errors, I might as well do it with the good 'ol
./configure, make, make install
route, rather than adding the complexity of a (to me) unknown build system on top of it. So far, I haven't needed to go back. Arch is *so* good (i.e. follows normal standards, everything is where it should be) that pretty much everything I have tried to build from source the usual way has worked like a champ.
I think it was qamix that I was trying to build this way, by the way. Eventually I built it myself from source via the ./configure, make, make install route. There were *lots* of compile errors this way too, but I fixed them all and got it to build. Perhaps the version in AUR was suffering from the same problems.
If qpkg is in AUR, and it sounds interesting, perhaps I will give this a whirl again.
Meantime, to get back on topic for a moment, it is a few weeks later now since my Arch install, and I remain incredibly impressed with it. The best part is the speed. I feel like I've gotten a new CPU that is twice as fast. Arch not only ROCKS, it RACES! -
Arch Linux Pacman Proxy Script
Since my Arch box has no internet connection (yes, I'm that much of a masochist), I wrote a bash script to act as a proxy of sorts for pacman, at least as regards downloading. It took a while to get it working (intermittent web access and all) but here it finally is, as promised.
It works well for me, and I only hope that it will help anyone else in the same situation (if there is anyone else in the same situation).
The script has various options to explain everything you need to know, but here's a quick word of warning: it only works on POSIX-compatible computers (i.e. no Wintendows, usually) and the proxy box needs to have bash, wget, tar, grep and sed installed. I don't see this as being a problem, but if I'm wrong, tell me all about it.
#!/bin/bash
readonly VER="2.1"
readonly wgetVER=`wget -V|sed '1!d'`
# DEBUG levels:
# Set to 0 for ALERT-level messages only
# Set to 1 for INFO-level messages (I prefer this)
# Set to 2 for DEBUG-level messages
# Set to 3 for all messages
readonly DEBUG=0
# Set DEBUGLOG=1 to print ALERT, INFO and DEBUG messages to DEBUG.log
readonly DEBUGLOG=0
readonly COLOUR=true
if [[ $COLOUR == true ]] ; then
readonly red='\e[31m'
readonly warn='\e[31;7m '
readonly green='\e[32m'
readonly lgreen='\e[32;1m'
readonly yellow='\e[33;1m'
readonly lblue='\e[34;1m'
readonly dull='\e[0m' ; fi
# Sticky details:
# tar seems very slow (vfat? transform? USB?)
function bugspray {
[[ -z $2 ]] && verbosity=1 || verbosity=$2
if (( DEBUG >= verbosity )) ; then
(( $2 == 0 )) && intro="${warn}ALERT${dull} | "
(( $2 == 1 )) && intro=" INFO | "
(( $2 > 1 )) && intro=" ${yellow}DEBUG${dull} | "
echo -e "$intro$1"
(( DEBUGLOG == 1 )) && echo "`date +%F_%T` | $1">>log-alpps/DEBUG.log ; fi ; }
function compare_versions {
# Requires two ordinary, untweaked version strings, first local, second distant
if [[ -z $2 ]] ; then
bugspray "compare_versions didn't receive two variables." 2 ; fi
update='no'
[[ -z $2 ]] && return
local localversion=(`echo $1|sed -r 's/([[:alpha:]]+)/ \1 /g;s/[\.:~_-]/ /g'`)
local distantversion=(`echo $2|sed -r 's/([[:alpha:]]+)/ \1 /g;s/[\.:~_-]/ /g'`)
local max=$((${#distantversion[*]}))
bugspray "localversion: ${localversion[*]}; distantversion: ${distantversion[*]}" 2
for (( x=0 ; (( x < $max )) ; $((x++)) )) ; do
bugspray "local version part: `echo ${localversion[$x]}` | distant version part: `echo ${distantversion[$x]}`" 2
if [[ `echo ${localversion[$x]}|grep -E '^[0-9]*$'` && `echo ${distantversion[$x]}|grep -E '^[0-9]*$'` ]] ; then
bugspray "Numerical comparison" 2
bugspray "localver (${localversion[$x]}) less than distantver (${distantversion[$x]}): $(( 10#${localversion[$x]} < 10#${distantversion[$x]} ))" 3
# Different compare methods for numbers, single letters and multiple letters.
if (( 10#${localversion[$x]} < 10#${distantversion[$x]} )) ; then
update='yes'
break ; fi ; fi
if [[ `echo ${localversion[$x]}|grep -E '^[[:alpha:]]$'` && `echo ${distantversion[$x]}|grep -E '^[[:alpha:]]$'` ]] ; then # single letter -> compare
bugspray "Lexicographical comparison" 2
bugspray "localver (${localversion[$x]}) less than distantver (${distantversion[$x]}): [[ ${localversion[$x]} < ${distantversion[$x]} ]]" 3
if [[ ${localversion[$x]} < ${distantversion[$x]} ]] ; then
update='yes'
break ; fi ; fi
if [[ `echo ${localversion[$x]}|grep -E '^[[:alpha:]]+$'` && `echo ${distantversion[$x]}|grep -E '^[[:alpha:]]+$'` ]] ; then # string -> drop
# cvs / git / beta -> what are the rules?
bugspray "Sequence of letters. Not treating as version number." 2 ; fi
done ; }
function find_dependencies {
# Determine existence via unique path
bugspray "+ ${lgreen}Building download list for package \"$1\"${dull}" 1
local packagename
local dlfile
local package_found=no
if [[ `ls .temp-alpps/*.db/$1-* 2>/dev/null` ]] ; then
bugspray "Analogous package-name file(s) found" 2
for x in `ls .temp-alpps/*.db/$1-*/desc` ; do
bugspray "Checking $x" 2
packagename=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $x`
if [[ j$packagename == j$1 ]] ; then
bugspray "Exact match found: $packagename = $1" 2
dlfile=`sed '/%FILENAME%/,+1!d;/%FILENAME%/d' $x`
local distantversion=`sed '/%VERSION%/,+1!d;/%VERSION%/d' $x`
local package_full=$packagename-$distantversion
local the_repo=`echo $x|sed -r 's/.temp-alpps\/(.*)\.db.*/\1/'`
local the_path=`echo $x|sed -r 's/desc//'`
unplus=`echo $packagename|sed 's/\+/\\\+/g'`
local local_version=`sed -r '/^'$unplus' /!d;s/.* //' .temp-alpps/snapshot.state`
package_found=yes
break ; fi ; done ; fi
if [[ -z $dlfile ]] ; then
bugspray "Exact match not found -> looking for replacements." 2
if ! [[ -z `grep $1 .temp-alpps/*.db/*/depends` ]] ; then
local provisional=`grep $1 .temp-alpps/*.db/*/depends|sed -r 's/\/depends.*//'`
for package in $provisional ; do
local providence=`sed -r '/%PROVIDES%/,/^$/!d;/%PROVIDES%/d;/^$/d;s/>.*//;s/=.*//' $package/depends`
for y in $providence ; do
if [[ j$y == j$1 ]] ; then
# But what about when several packages provide the same thing and ALPPS picks the wrong one? Can it happen?
local newdep=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $package/desc`
bugspray " -> Package \"$newdep\" provides \"$1\"." 1
find_dependencies $newdep
break 2 ; fi ; done ; done
if [[ -z $newdep ]] ; then
bugspray "${warn}Warning:${dull} package \"$1\" not found in database." 0 ; fi ; fi ; fi
bugspray "package: $1 | package_found = $package_found" 2
# Add file to download_list if not up to date and if not already present
if [[ j$package_found == jyes ]] ; then
local already_got_one=no
unplus=`echo $dlfile|sed 's/\+/\\\+/g'`
[[ `echo $download_files|grep $unplus` ]] && already_got_one="yes" && bugspray "${green}Package in queue${dull}" 1
[[ `ls downloads/$dlfile 2>/dev/null` ]] && already_got_one="yes" && bugspray "${green}Package proxied${dull}" 1
compare_versions $local_version $distantversion
bugspray "compare_versions says: $update" 2
! [[ -z $local_version || $update == yes ]] && already_got_one="yes" && bugspray "${green}Package already installed and up-to-date${dull}" 1
if [[ j$already_got_one != jyes ]] ; then
bugspray "${green}Confirm downloading${dull}" 1
download_files+="$dlfile "
download_array[${dlfile}]=$the_repo
bugspray "Checking for further dependencies" 2
if [[ -a $the_path/depends && `grep -E '^%DEPENDS%$' $the_path/depends` ]] ; then
local dependency=`sed -r '/%DEPENDS%/d;/^$/q' $the_path/depends`
bugspray "Dependencies of \"$packagename\":$dependency" 3
for x in $dependency ; do
# Is this dependency already installed? Sort-of the same as higher up; it just saves time here.
local depname=`echo $x|sed -r 's/>.*//;s/=.*//'`
local depminver=`echo $x|sed -r 's/.*>//'`
bugspray "Dependency name: \"$depname\"" 2
if ! [[ `grep -E '^$depname ' .temp-alpps/snapshot.state` ]] ; then
find_dependencies $depname ; fi ; done
else
bugspray "${lblue}End of the line${dull}: package \"$packagename\" has no dependencies." 2
true ; fi ; fi ; fi ; }
function failover_fetch {
echo "Downloading `echo $1|sed 's/.*\///'`"
[[ -d log-alpps/ ]] || mkdir log-alpps/
[[ -z $success ]] || unset success
for mirror in $(<.temp-alpps/snapshot.mirrorlist) ; do
# If DEBUG>0, shouldn't redirect output
url=`echo $mirror|sed 's/$arch/'$arch'/;s/$repo/'${download_array[$1]}'/'`/$1
bugspray "Connecting to $url" 2
wget -o .temp-alpps/very-temp-log -U "Arch Linux Pacman Proxy Script version $VER / $wgetVER" -P downloads/ $url && success=true
cat .temp-alpps/very-temp-log>>log-alpps/download.log
rm -f .temp-alpps/very-temp-log
if [[ -n $success ]] ; then
bugspray "Download: \$success = true" 2
break ; fi ; done
if [[ -z $success ]] ; then
bugspray "${warn}FAIL:${dull} $1 not accessible on known mirrors." 0 ; fi ; }
case $1 in
warranty)
echo
echo -e " ${green}Warranty${dull}"
echo -e " ${green}========${dull}"
echo " This program is free software. It comes without any warranty, to"
echo " the extent permitted by applicable law. You can redistribute it"
echo " and/or modify it under the terms of the Do What The Fuck You Want"
echo " To Public License, Version 2, as published by Sam Hocevar. See"
echo " http://sam.zoy.org/wtfpl/COPYING for more details."
echo
howto)
echo
echo -e " ${green}How to use ALPPS${dull}"
echo -e " ${green}================${dull}"
echo -e " ${yellow}+ Step 0${dull}: prime the engine"
echo " On your offline box, copy the ALPPS script onto a removable medium, cd into"
echo " it's directory, then run it with the \"init\" option. This essentially"
echo " takes a snapshot of your system, package-wise. Your removable medium is"
echo " now ready for use!"
echo -e " ${yellow}+ Step 1${dull}:"
echo " On the proxy box the first order of business is to download and decompress"
echo " the current package lists. You can do this with the \"fetchdb\" option."
echo -e " ${yellow}+ Step 1 alt${dull}:"
echo " If you want to download the package lists without decompressing them,"
echo " \"fetchdb simple\" will do this. It's a lot quicker, but please keep"
echo " in mind that you cannot then do anything in step 2."
echo -e " ${yellow}+ Step 2${dull}:"
echo " If you want to download packages (and why wouldn't you?), the easiest way"
echo " is to prepare a simple text file containing the names of the packages you"
echo " want, one on each line. Run ALPPS with the option \"fetch <filename>\" and"
echo " sit back and wait until it's done. Don't worry about dependencies: ALPPS"
echo " handles them automatically."
echo -e " ${yellow}+ Step 2 alt${dull}:"
echo " As a convenience, \"fetch full\" will download all the packages needed to"
echo " update the offline box."
echo -e " ${yellow}+ Step 3${dull}:"
echo " Finally, back on your offline box, run ALPPS again with the \"install\""
echo " option. This will update the package list and copy the package files into"
echo " local cache. You can now run \"pacman -S <package names>\" to finish"
echo " installing the packages."
# ALPPS no longer installs the packages, just caches them locally.
# Not entirely sure why; it just felt too klutzy.
echo -e " ${yellow}+ Step 4${dull}:"
echo " You will now probably want to delete all the stuff you no longer need. Run"
echo " ALPPS with the option \"clean\". This won't touch your request file(s). It"
echo -e " ${red}WILL${dull} delete log files, so if you want to keep them, back them up first."
echo " Next time you do this, don't forget to run ALPPS with \"init\" again."
echo
bugs)
echo
echo -e " ${green}Where this goes wrong${dull}"
echo -e " ${green}=====================${dull}"
echo " + ALPPS is a bit slow when packages have many dependencies. It's a recursive"
echo " shell script: what did you expect?"
echo " + It only uses the settings in /etc/pacman.conf. If your conf file is"
echo " elsewhere, you're SOL. Similarly, the repositories are all taken from"
echo " /etc/pacman.d/mirrorlist. If you added any custom repositories in"
echo " /etc/pacman.conf (or any other file), ALPPS ignores them."
echo " + As it stands, ALPPS only works when the proxy box has bash, wget, sed,"
echo " grep and tar installed. The offline box needs bash, pacman and sed (in"
echo " theory, this shouldn't be a problem...)."
echo " + There is as yet no way of handling package groups, short of listing every"
echo " member of the group."
echo " + I don't think ALPPS will ever be able to handle AUR packages. Of course, if"
echo " you're compiling AUR packages, you probably won't need something like this!"
echo
faq)
echo
echo -e " ${green}Frequently Asked Questions${dull}"
echo -e " ${green}==========================${dull}"
echo
echo -e " ${red}Q:${dull} Can I run the whole thing off a USB stick?"
echo -e " ${lblue}A:${dull} Certainly."
echo
echo -e " ${red}Q:${dull} Can I use a non-POSIX computer as a proxy (e.g. Windows)?"
echo -e " ${lblue}A:${dull} Probably not, unless that computer has a POSIX-compatibility layer"
echo " installed (such as Cygwin) with bash, wget, tar, sed and grep."
echo
echo -e " ${red}Q:${dull} Do I need to download the package list, waste time updating my computer,"
echo " then go back again to download the packages I want?"
echo -e " ${lblue}A:${dull} Nope! You can update the packagelist database and download piping-hot"
echo " fresh packages, all in one sitting."
echo -e " ${red}Q:${dull} You mean I won't have to futz around with package lists that keep updating"
echo " ten minutes after I download them?"
echo -e " ${lblue}A:${dull} Exactly. Nice, isn't it?"
echo
echo -e " ${red}Q:${dull} Does this thing handle SSL and signed packages?"
echo -e " ${lblue}A:${dull} ALPPS uses SSL if:"
echo " - the mirror has an https address (at present, none do), and"
echo " - wget on the proxy box is compiled with SSL support"
echo " Concerning signed packages: no, but then again, it doesn't need to. ALPPS"
echo " downloads packages; it's pacman's responsibility to verify them. Your"
echo " system remains safe (or as safe as it ever was, at any rate)."
echo -e " ${red}Q:${dull} What about gpg keys? I need to get them."
echo -e " ${lblue}A:${dull} ...maybe later, say, in version 3."
echo
echo -e " ${red}Q:${dull} ALPPS says it \`prepares databases´. Can pacman still use them after this?"
echo -e " ${lblue}A:${dull} Yes, it can. In fact, what ALPPS does is extract the databases into a"
echo " temp directory, without altering the original .db files."
echo
echo -e " ${red}Q:${dull} Where can I contact you?"
echo -e " ${lblue}A:${dull} For constructive, useful questions and comments: [email protected] and"
echo " be sure to mention Arch Linux in the subject."
echo " For flames, trolling, spam and the like, visit your local bitbucket."
echo
todo)
echo
echo -e " ${green}What's next?${dull}"
echo -e " ${green}============${dull}"
echo -e " + I ${red}might${dull} be able to extend the reach of this thing to the AUR."
echo " Yes, I know I said ALPPS couldn't (in \"bugs\"), but I've learned"
echo " something new since then. It'll be tricky, though, since the AUR web"
echo " interface delivers results in python. While this should be a Good Thing,"
echo " bash isn't very good at handling python-format lists and dicts."
echo
-v|ver|version|--ver|--version)
echo -e "${lgreen}Arch Linux pacman proxy script${dull} | ${yellow}version $VER${dull}"
dl_list) # Debugging
(( DEBUG == 0 )) && echo "the \"dl_list\" option is only for debugging" && exit 0
arch=$(<.temp-alpps/snapshot.architecture)
unset download_files
unset download_array
declare -A download_array
find_dependencies $2
bugspray "Download list: $download_files" 3
echo "Download list v2:"
for x in $download_files ; do
bugspray " File \"$x\" from repo \"${download_array[$x]}\"" 3
echo " Full URL: http://mirror.archlinux.org/${download_array[$x]}/os/$arch/$x" ; done
verint) # Debugging
(( DEBUG == 0 )) && echo "the \"verint\" option is only for debugging" && exit 0
for x in `ls .temp-alpps/*/$2-*/desc` ; do
packagename=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $x`
if [[ j$packagename == j$2 ]] ; then
bugspray "Unique package-name file found: $packagename=$2" 2
distantversion=`sed '/%VERSION%/,+1!d;/%VERSION%/d' $x`
dlfile=`sed '/%FILENAME%/,+1!d;/%FILENAME%/d' $x`
package_full=$packagename-$distantversion
the_repo=`echo $x|sed -r 's/.temp-alpps\/(.*)\.db.*/\1/'`
the_path=`echo $x|sed -r 's/desc//'`
local_version=`sed -r '/^'$packagename' /!d;s/.* //' .temp-alpps/snapshot.state`
break ; fi ; done
echo "full package filename: $dlfile"
echo "Comparing local ($local_version) and distant ($distantversion) versions of $2..."
compare_versions $local_version $distantversion
#compare_versions 2.5beta3-2 2.5cvs4-1
echo "...and the verdict is: $update"
init)
x=`uname -m`
if [[ -x /usr/bin/pacman ]] ; then
[[ -d .temp-alpps ]] || mkdir .temp-alpps/
pacman -Q>.temp-alpps/snapshot.state
sed -r '/^Se/!d;s/Server = //' /etc/pacman.d/mirrorlist>.temp-alpps/snapshot.mirrorlist
sed -r '/^\[/!d;/options/d;s/\[(.*)\]/\1/' /etc/pacman.conf>.temp-alpps/snapshot.repositories
sed -r '/^Architecture/!d;s/^.*= //' /etc/pacman.conf>.temp-alpps/snapshot.architecture
[[ ! -s .temp-alpps/snapshot.architecture || auto == $(<.temp-alpps/snapshot.architecture) ]] && $x>.temp-alpps/snapshot.architecture
sed -r '/^SyncFirst/!d;s/.*= //;s/ /\n/g' /etc/pacman.conf>.temp-alpps/snapshot.prioritypackages
echo "Current state recorded."
else
echo "You seem to be running ALPPs on an unsupported system."
echo "ALPPS is the ${lgreen}Arch Linux Pacman Proxy Script${dull} and simply"
echo "won't run properly on a non-pacman OS (except when proxying)."
echo "Aborting. Sorry."
exit 1 ; fi
fetchdb)
[[ -d downloads ]] || mkdir downloads
arch=$(<.temp-alpps/snapshot.architecture)
declare -A download_array
for repo in $(<.temp-alpps/snapshot.repositories) ; do
download_array[${repo}.db]=$repo
location="${repo}.db"
failover_fetch $location ; done
if [[ j$2 != jsimple ]] ; then
[[ -d log-alpps ]] || mkdir log-alpps
[[ -a syncfirst ]] && rm -f syncfirst
echo "Preparing databases for local processing. This might take a while."
for x in $(<.temp-alpps/snapshot.repositories) ; do
echo "Preparing $x.db"
if [[ -a downloads/$x.db ]] ; then
[[ -d .temp-alpps/$x.db ]] || mkdir .temp-alpps/$x.db/
tar -xzC .temp-alpps/$x.db/ -f downloads/$x.db --transform 's/:/§/' --no-same-owner && echo "$x database ready for use."
else
echo -e "Database $x.db is missing. Skipping. This will probably cause problems." ; fi ; done
# SyncFirst package warning
[[ -z $download_list ]] || unset download_list
[[ -a syncfirst ]] && rm -f syncfirst
for x in $(<.temp-alpps/snapshot.prioritypackages) ; do
find_dependencies $x ; done
bugspray "download_files: $download_files" 2
if [[ ! -z $download_files ]] ; then
echo "New version(s) of SyncFirst package(s):"
for x in $(<.temp-alpps/snapshot.prioritypackages) ; do
[[ ! -z `echo $download_files|grep $x` ]] && echo "- $x" && echo $x>>syncfirst ; done
echo "Package names placed in 'syncfirst'. Don't forget to download them!" ; fi ; fi
fetch)
for x in $(<.temp-alpps/snapshot.repositories) ; do
if ! [[ -d .temp-alpps/$x.db/ ]] ; then
bugspray "You must first download a fresh database with the \"fetchdb\" option" 0
exit 1 ; fi ; done
arch=$(<.temp-alpps/snapshot.architecture)
unset download_array
declare -A download_array
unset download_files
if [[ $2 == full ]] ; then
echo " Building full upgrade list. This will almost certainly take a while."
echo " Please wait..."
for y in `sed -r 's/^(.*) .*/\1/' .temp-alpps/snapshot.state` ; do
bugspray "Examining $y" 1
find_dependencies $y ; done
elif [[ -a $2 ]] ; then
echo " Determining dependencies. This might take a while. Please wait."
for y in $(<$2) ; do
bugspray "Examining $y" 1
find_dependencies $y ; done
else
echo " Error: you should provide a list-file or the keyword \"full\"."
echo " (see 'alpps.sh howto', step 2)"
exit 1 ; fi
if [[ -z $download_files ]] ; then
echo " No files to download: either none found, or all found are up to date."
else
[[ -d downloads ]] || mkdir downloads
for x in $download_files ; do
failover_fetch $x ; done ; fi
install)
dbpath=`sed -r '/^DBPath/!d;s/^.*= //' /etc/pacman.conf`
[[ -z $dbpath ]] && dbpath="/var/lib/pacman/"
bugspray "dbpath: $dbpath" 2
echo " Updating databases"
cp -ft ${dbpath}sync/ downloads/*.db
cachedir=`sed -r '/^CacheDir/!d;s/^.*= //' /etc/pacman.conf`
[[ -z $cachedir ]] && cachedir="/var/cache/pacman/pkg/"
echo " Caching packages"
cp -f downloads/*.pkg.tar.xz $cachedir
echo
echo " Don't forget to install/update your packages."
echo " Exercise proper caution."
echo " Have fun!"
clean)
echo "Cleaning up. This might take a while."
rm -fr .temp-alpps/ && echo "Buffer directory deleted" || echo "Problem deleting buffer directory '.temp-alpps/'"
rm -fr log-alpps/ && echo "Log directory deleted" || echo "Problem deleting 'log-alpps/'"
rm -fr downloads/ && echo "Downloaded packages deleted" || echo "Problem deleting 'downloads/'"
echo
echo -e " ${lgreen}Arch Linux pacman proxy script${dull}"
echo
echo -e " ${green}Description${dull}"
echo -e " ${green}===========${dull}"
echo -e " This is a bash script to fetch and install packages for an offline Arch box"
echo " using another, online box as a proxy of sorts. So far, this only works if"
echo " the proxy box has bash, wget, tar, sed and grep installed."
echo " It's probably also entirely unsafe, incompatible and will destroy your box"
echo " in a fiery blaze if you try to use it (you know the drill)."
echo
echo -e " ${green}Options${dull}"
echo -e " ${green}=======${dull}"
echo " init Step 0 (as it were): take a snapshot of your system"
echo " fetchdb Step 1: download the packagelist database"
echo " fetch <file> Step 2: download requested packages"
echo " install Step 3: update your system"
echo " clean Step 4: delete any unneeded files"
echo
echo " howto More detailed instructions"
echo " bugs Problems and future plans"
echo " faq As it says"
echo " warranty (in case it ever becomes necessary)"
echo " version (to be honest, I wasn't expecting to go beyond v1-rc or so)"
echo " help You're reading it, doofus :^)"
echo
# dl_list Test the find_dependencies function"
# verint Test the compare_versions function"
esacAnimaInvicta wrote:
Since my Arch box has no internet connection (yes, I'm that much of a masochist), I wrote a bash script to act as a proxy of sorts for pacman, at least as regards downloading. It took a while to get it working (intermittent web access and all) but here it finally is, as promised.
It works well for me, and I only hope that it will help anyone else in the same situation (if there is anyone else in the same situation).
The script has various options to explain everything you need to know, but here's a quick word of warning: it only works on POSIX-compatible computers (i.e. no Wintendows, usually) and the proxy box needs to have bash, wget, tar, grep and sed installed. I don't see this as being a problem, but if I'm wrong, tell me all about it.
#!/bin/bash
readonly VER="2.1"
readonly wgetVER=`wget -V|sed '1!d'`
# DEBUG levels:
# Set to 0 for ALERT-level messages only
# Set to 1 for INFO-level messages (I prefer this)
# Set to 2 for DEBUG-level messages
# Set to 3 for all messages
readonly DEBUG=0
# Set DEBUGLOG=1 to print ALERT, INFO and DEBUG messages to DEBUG.log
readonly DEBUGLOG=0
readonly COLOUR=true
if [[ $COLOUR == true ]] ; then
readonly red='\e[31m'
readonly warn='\e[31;7m '
readonly green='\e[32m'
readonly lgreen='\e[32;1m'
readonly yellow='\e[33;1m'
readonly lblue='\e[34;1m'
readonly dull='\e[0m' ; fi
# Sticky details:
# tar seems very slow (vfat? transform? USB?)
function bugspray {
[[ -z $2 ]] && verbosity=1 || verbosity=$2
if (( DEBUG >= verbosity )) ; then
(( $2 == 0 )) && intro="${warn}ALERT${dull} | "
(( $2 == 1 )) && intro=" INFO | "
(( $2 > 1 )) && intro=" ${yellow}DEBUG${dull} | "
echo -e "$intro$1"
(( DEBUGLOG == 1 )) && echo "`date +%F_%T` | $1">>log-alpps/DEBUG.log ; fi ; }
function compare_versions {
# Requires two ordinary, untweaked version strings, first local, second distant
if [[ -z $2 ]] ; then
bugspray "compare_versions didn't receive two variables." 2 ; fi
update='no'
[[ -z $2 ]] && return
local localversion=(`echo $1|sed -r 's/([[:alpha:]]+)/ \1 /g;s/[\.:~_-]/ /g'`)
local distantversion=(`echo $2|sed -r 's/([[:alpha:]]+)/ \1 /g;s/[\.:~_-]/ /g'`)
local max=$((${#distantversion[*]}))
bugspray "localversion: ${localversion[*]}; distantversion: ${distantversion[*]}" 2
for (( x=0 ; (( x < $max )) ; $((x++)) )) ; do
bugspray "local version part: `echo ${localversion[$x]}` | distant version part: `echo ${distantversion[$x]}`" 2
if [[ `echo ${localversion[$x]}|grep -E '^[0-9]*$'` && `echo ${distantversion[$x]}|grep -E '^[0-9]*$'` ]] ; then
bugspray "Numerical comparison" 2
bugspray "localver (${localversion[$x]}) less than distantver (${distantversion[$x]}): $(( 10#${localversion[$x]} < 10#${distantversion[$x]} ))" 3
# Different compare methods for numbers, single letters and multiple letters.
if (( 10#${localversion[$x]} < 10#${distantversion[$x]} )) ; then
update='yes'
break ; fi ; fi
if [[ `echo ${localversion[$x]}|grep -E '^[[:alpha:]]$'` && `echo ${distantversion[$x]}|grep -E '^[[:alpha:]]$'` ]] ; then # single letter -> compare
bugspray "Lexicographical comparison" 2
bugspray "localver (${localversion[$x]}) less than distantver (${distantversion[$x]}): [[ ${localversion[$x]} < ${distantversion[$x]} ]]" 3
if [[ ${localversion[$x]} < ${distantversion[$x]} ]] ; then
update='yes'
break ; fi ; fi
if [[ `echo ${localversion[$x]}|grep -E '^[[:alpha:]]+$'` && `echo ${distantversion[$x]}|grep -E '^[[:alpha:]]+$'` ]] ; then # string -> drop
# cvs / git / beta -> what are the rules?
bugspray "Sequence of letters. Not treating as version number." 2 ; fi
done ; }
function find_dependencies {
# Determine existence via unique path
bugspray "+ ${lgreen}Building download list for package \"$1\"${dull}" 1
local packagename
local dlfile
local package_found=no
if [[ `ls .temp-alpps/*.db/$1-* 2>/dev/null` ]] ; then
bugspray "Analogous package-name file(s) found" 2
for x in `ls .temp-alpps/*.db/$1-*/desc` ; do
bugspray "Checking $x" 2
packagename=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $x`
if [[ j$packagename == j$1 ]] ; then
bugspray "Exact match found: $packagename = $1" 2
dlfile=`sed '/%FILENAME%/,+1!d;/%FILENAME%/d' $x`
local distantversion=`sed '/%VERSION%/,+1!d;/%VERSION%/d' $x`
local package_full=$packagename-$distantversion
local the_repo=`echo $x|sed -r 's/.temp-alpps\/(.*)\.db.*/\1/'`
local the_path=`echo $x|sed -r 's/desc//'`
unplus=`echo $packagename|sed 's/\+/\\\+/g'`
local local_version=`sed -r '/^'$unplus' /!d;s/.* //' .temp-alpps/snapshot.state`
package_found=yes
break ; fi ; done ; fi
if [[ -z $dlfile ]] ; then
bugspray "Exact match not found -> looking for replacements." 2
if ! [[ -z `grep $1 .temp-alpps/*.db/*/depends` ]] ; then
local provisional=`grep $1 .temp-alpps/*.db/*/depends|sed -r 's/\/depends.*//'`
for package in $provisional ; do
local providence=`sed -r '/%PROVIDES%/,/^$/!d;/%PROVIDES%/d;/^$/d;s/>.*//;s/=.*//' $package/depends`
for y in $providence ; do
if [[ j$y == j$1 ]] ; then
# But what about when several packages provide the same thing and ALPPS picks the wrong one? Can it happen?
local newdep=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $package/desc`
bugspray " -> Package \"$newdep\" provides \"$1\"." 1
find_dependencies $newdep
break 2 ; fi ; done ; done
if [[ -z $newdep ]] ; then
bugspray "${warn}Warning:${dull} package \"$1\" not found in database." 0 ; fi ; fi ; fi
bugspray "package: $1 | package_found = $package_found" 2
# Add file to download_list if not up to date and if not already present
if [[ j$package_found == jyes ]] ; then
local already_got_one=no
unplus=`echo $dlfile|sed 's/\+/\\\+/g'`
[[ `echo $download_files|grep $unplus` ]] && already_got_one="yes" && bugspray "${green}Package in queue${dull}" 1
[[ `ls downloads/$dlfile 2>/dev/null` ]] && already_got_one="yes" && bugspray "${green}Package proxied${dull}" 1
compare_versions $local_version $distantversion
bugspray "compare_versions says: $update" 2
! [[ -z $local_version || $update == yes ]] && already_got_one="yes" && bugspray "${green}Package already installed and up-to-date${dull}" 1
if [[ j$already_got_one != jyes ]] ; then
bugspray "${green}Confirm downloading${dull}" 1
download_files+="$dlfile "
download_array[${dlfile}]=$the_repo
bugspray "Checking for further dependencies" 2
if [[ -a $the_path/depends && `grep -E '^%DEPENDS%$' $the_path/depends` ]] ; then
local dependency=`sed -r '/%DEPENDS%/d;/^$/q' $the_path/depends`
bugspray "Dependencies of \"$packagename\":$dependency" 3
for x in $dependency ; do
# Is this dependency already installed? Sort-of the same as higher up; it just saves time here.
local depname=`echo $x|sed -r 's/>.*//;s/=.*//'`
local depminver=`echo $x|sed -r 's/.*>//'`
bugspray "Dependency name: \"$depname\"" 2
if ! [[ `grep -E '^$depname ' .temp-alpps/snapshot.state` ]] ; then
find_dependencies $depname ; fi ; done
else
bugspray "${lblue}End of the line${dull}: package \"$packagename\" has no dependencies." 2
true ; fi ; fi ; fi ; }
function failover_fetch {
echo "Downloading `echo $1|sed 's/.*\///'`"
[[ -d log-alpps/ ]] || mkdir log-alpps/
[[ -z $success ]] || unset success
for mirror in $(<.temp-alpps/snapshot.mirrorlist) ; do
# If DEBUG>0, shouldn't redirect output
url=`echo $mirror|sed 's/$arch/'$arch'/;s/$repo/'${download_array[$1]}'/'`/$1
bugspray "Connecting to $url" 2
wget -o .temp-alpps/very-temp-log -U "Arch Linux Pacman Proxy Script version $VER / $wgetVER" -P downloads/ $url && success=true
cat .temp-alpps/very-temp-log>>log-alpps/download.log
rm -f .temp-alpps/very-temp-log
if [[ -n $success ]] ; then
bugspray "Download: \$success = true" 2
break ; fi ; done
if [[ -z $success ]] ; then
bugspray "${warn}FAIL:${dull} $1 not accessible on known mirrors." 0 ; fi ; }
case $1 in
warranty)
echo
echo -e " ${green}Warranty${dull}"
echo -e " ${green}========${dull}"
echo " This program is free software. It comes without any warranty, to"
echo " the extent permitted by applicable law. You can redistribute it"
echo " and/or modify it under the terms of the Do What The Fuck You Want"
echo " To Public License, Version 2, as published by Sam Hocevar. See"
echo " http://sam.zoy.org/wtfpl/COPYING for more details."
echo
howto)
echo
echo -e " ${green}How to use ALPPS${dull}"
echo -e " ${green}================${dull}"
echo -e " ${yellow}+ Step 0${dull}: prime the engine"
echo " On your offline box, copy the ALPPS script onto a removable medium, cd into"
echo " it's directory, then run it with the \"init\" option. This essentially"
echo " takes a snapshot of your system, package-wise. Your removable medium is"
echo " now ready for use!"
echo -e " ${yellow}+ Step 1${dull}:"
echo " On the proxy box the first order of business is to download and decompress"
echo " the current package lists. You can do this with the \"fetchdb\" option."
echo -e " ${yellow}+ Step 1 alt${dull}:"
echo " If you want to download the package lists without decompressing them,"
echo " \"fetchdb simple\" will do this. It's a lot quicker, but please keep"
echo " in mind that you cannot then do anything in step 2."
echo -e " ${yellow}+ Step 2${dull}:"
echo " If you want to download packages (and why wouldn't you?), the easiest way"
echo " is to prepare a simple text file containing the names of the packages you"
echo " want, one on each line. Run ALPPS with the option \"fetch <filename>\" and"
echo " sit back and wait until it's done. Don't worry about dependencies: ALPPS"
echo " handles them automatically."
echo -e " ${yellow}+ Step 2 alt${dull}:"
echo " As a convenience, \"fetch full\" will download all the packages needed to"
echo " update the offline box."
echo -e " ${yellow}+ Step 3${dull}:"
echo " Finally, back on your offline box, run ALPPS again with the \"install\""
echo " option. This will update the package list and copy the package files into"
echo " local cache. You can now run \"pacman -S <package names>\" to finish"
echo " installing the packages."
# ALPPS no longer installs the packages, just caches them locally.
# Not entirely sure why; it just felt too klutzy.
echo -e " ${yellow}+ Step 4${dull}:"
echo " You will now probably want to delete all the stuff you no longer need. Run"
echo " ALPPS with the option \"clean\". This won't touch your request file(s). It"
echo -e " ${red}WILL${dull} delete log files, so if you want to keep them, back them up first."
echo " Next time you do this, don't forget to run ALPPS with \"init\" again."
echo
bugs)
echo
echo -e " ${green}Where this goes wrong${dull}"
echo -e " ${green}=====================${dull}"
echo " + ALPPS is a bit slow when packages have many dependencies. It's a recursive"
echo " shell script: what did you expect?"
echo " + It only uses the settings in /etc/pacman.conf. If your conf file is"
echo " elsewhere, you're SOL. Similarly, the repositories are all taken from"
echo " /etc/pacman.d/mirrorlist. If you added any custom repositories in"
echo " /etc/pacman.conf (or any other file), ALPPS ignores them."
echo " + As it stands, ALPPS only works when the proxy box has bash, wget, sed,"
echo " grep and tar installed. The offline box needs bash, pacman and sed (in"
echo " theory, this shouldn't be a problem...)."
echo " + There is as yet no way of handling package groups, short of listing every"
echo " member of the group."
echo " + I don't think ALPPS will ever be able to handle AUR packages. Of course, if"
echo " you're compiling AUR packages, you probably won't need something like this!"
echo
faq)
echo
echo -e " ${green}Frequently Asked Questions${dull}"
echo -e " ${green}==========================${dull}"
echo
echo -e " ${red}Q:${dull} Can I run the whole thing off a USB stick?"
echo -e " ${lblue}A:${dull} Certainly."
echo
echo -e " ${red}Q:${dull} Can I use a non-POSIX computer as a proxy (e.g. Windows)?"
echo -e " ${lblue}A:${dull} Probably not, unless that computer has a POSIX-compatibility layer"
echo " installed (such as Cygwin) with bash, wget, tar, sed and grep."
echo
echo -e " ${red}Q:${dull} Do I need to download the package list, waste time updating my computer,"
echo " then go back again to download the packages I want?"
echo -e " ${lblue}A:${dull} Nope! You can update the packagelist database and download piping-hot"
echo " fresh packages, all in one sitting."
echo -e " ${red}Q:${dull} You mean I won't have to futz around with package lists that keep updating"
echo " ten minutes after I download them?"
echo -e " ${lblue}A:${dull} Exactly. Nice, isn't it?"
echo
echo -e " ${red}Q:${dull} Does this thing handle SSL and signed packages?"
echo -e " ${lblue}A:${dull} ALPPS uses SSL if:"
echo " - the mirror has an https address (at present, none do), and"
echo " - wget on the proxy box is compiled with SSL support"
echo " Concerning signed packages: no, but then again, it doesn't need to. ALPPS"
echo " downloads packages; it's pacman's responsibility to verify them. Your"
echo " system remains safe (or as safe as it ever was, at any rate)."
echo -e " ${red}Q:${dull} What about gpg keys? I need to get them."
echo -e " ${lblue}A:${dull} ...maybe later, say, in version 3."
echo
echo -e " ${red}Q:${dull} ALPPS says it \`prepares databases´. Can pacman still use them after this?"
echo -e " ${lblue}A:${dull} Yes, it can. In fact, what ALPPS does is extract the databases into a"
echo " temp directory, without altering the original .db files."
echo
echo -e " ${red}Q:${dull} Where can I contact you?"
echo -e " ${lblue}A:${dull} For constructive, useful questions and comments: [email protected] and"
echo " be sure to mention Arch Linux in the subject."
echo " For flames, trolling, spam and the like, visit your local bitbucket."
echo
todo)
echo
echo -e " ${green}What's next?${dull}"
echo -e " ${green}============${dull}"
echo -e " + I ${red}might${dull} be able to extend the reach of this thing to the AUR."
echo " Yes, I know I said ALPPS couldn't (in \"bugs\"), but I've learned"
echo " something new since then. It'll be tricky, though, since the AUR web"
echo " interface delivers results in python. While this should be a Good Thing,"
echo " bash isn't very good at handling python-format lists and dicts."
echo
-v|ver|version|--ver|--version)
echo -e "${lgreen}Arch Linux pacman proxy script${dull} | ${yellow}version $VER${dull}"
dl_list) # Debugging
(( DEBUG == 0 )) && echo "the \"dl_list\" option is only for debugging" && exit 0
arch=$(<.temp-alpps/snapshot.architecture)
unset download_files
unset download_array
declare -A download_array
find_dependencies $2
bugspray "Download list: $download_files" 3
echo "Download list v2:"
for x in $download_files ; do
bugspray " File \"$x\" from repo \"${download_array[$x]}\"" 3
echo " Full URL: http://mirror.archlinux.org/${download_array[$x]}/os/$arch/$x" ; done
verint) # Debugging
(( DEBUG == 0 )) && echo "the \"verint\" option is only for debugging" && exit 0
for x in `ls .temp-alpps/*/$2-*/desc` ; do
packagename=`sed -r '/%NAME%/,+1!d;/%NAME%/d' $x`
if [[ j$packagename == j$2 ]] ; then
bugspray "Unique package-name file found: $packagename=$2" 2
distantversion=`sed '/%VERSION%/,+1!d;/%VERSION%/d' $x`
dlfile=`sed '/%FILENAME%/,+1!d;/%FILENAME%/d' $x`
package_full=$packagename-$distantversion
the_repo=`echo $x|sed -r 's/.temp-alpps\/(.*)\.db.*/\1/'`
the_path=`echo $x|sed -r 's/desc//'`
local_version=`sed -r '/^'$packagename' /!d;s/.* //' .temp-alpps/snapshot.state`
break ; fi ; done
echo "full package filename: $dlfile"
echo "Comparing local ($local_version) and distant ($distantversion) versions of $2..."
compare_versions $local_version $distantversion
#compare_versions 2.5beta3-2 2.5cvs4-1
echo "...and the verdict is: $update"
init)
x=`uname -m`
if [[ -x /usr/bin/pacman ]] ; then
[[ -d .temp-alpps ]] || mkdir .temp-alpps/
pacman -Q>.temp-alpps/snapshot.state
sed -r '/^Se/!d;s/Server = //' /etc/pacman.d/mirrorlist>.temp-alpps/snapshot.mirrorlist
sed -r '/^\[/!d;/options/d;s/\[(.*)\]/\1/' /etc/pacman.conf>.temp-alpps/snapshot.repositories
sed -r '/^Architecture/!d;s/^.*= //' /etc/pacman.conf>.temp-alpps/snapshot.architecture
[[ ! -s .temp-alpps/snapshot.architecture || auto == $(<.temp-alpps/snapshot.architecture) ]] && $x>.temp-alpps/snapshot.architecture
sed -r '/^SyncFirst/!d;s/.*= //;s/ /\n/g' /etc/pacman.conf>.temp-alpps/snapshot.prioritypackages
echo "Current state recorded."
else
echo "You seem to be running ALPPs on an unsupported system."
echo "ALPPS is the ${lgreen}Arch Linux Pacman Proxy Script${dull} and simply"
echo "won't run properly on a non-pacman OS (except when proxying)."
echo "Aborting. Sorry."
exit 1 ; fi
fetchdb)
[[ -d downloads ]] || mkdir downloads
arch=$(<.temp-alpps/snapshot.architecture)
declare -A download_array
for repo in $(<.temp-alpps/snapshot.repositories) ; do
download_array[${repo}.db]=$repo
location="${repo}.db"
failover_fetch $location ; done
if [[ j$2 != jsimple ]] ; then
[[ -d log-alpps ]] || mkdir log-alpps
[[ -a syncfirst ]] && rm -f syncfirst
echo "Preparing databases for local processing. This might take a while."
for x in $(<.temp-alpps/snapshot.repositories) ; do
echo "Preparing $x.db"
if [[ -a downloads/$x.db ]] ; then
[[ -d .temp-alpps/$x.db ]] || mkdir .temp-alpps/$x.db/
tar -xzC .temp-alpps/$x.db/ -f downloads/$x.db --transform 's/:/§/' --no-same-owner && echo "$x database ready for use."
else
echo -e "Database $x.db is missing. Skipping. This will probably cause problems." ; fi ; done
# SyncFirst package warning
[[ -z $download_list ]] || unset download_list
[[ -a syncfirst ]] && rm -f syncfirst
for x in $(<.temp-alpps/snapshot.prioritypackages) ; do
find_dependencies $x ; done
bugspray "download_files: $download_files" 2
if [[ ! -z $download_files ]] ; then
echo "New version(s) of SyncFirst package(s):"
for x in $(<.temp-alpps/snapshot.prioritypackages) ; do
[[ ! -z `echo $download_files|grep $x` ]] && echo "- $x" && echo $x>>syncfirst ; done
echo "Package names placed in 'syncfirst'. Don't forget to download them!" ; fi ; fi
fetch)
for x in $(<.temp-alpps/snapshot.repositories) ; do
if ! [[ -d .temp-alpps/$x.db/ ]] ; then
bugspray "You must first download a fresh database with the \"fetchdb\" option" 0
exit 1 ; fi ; done
arch=$(<.temp-alpps/snapshot.architecture)
unset download_array
declare -A download_array
unset download_files
if [[ $2 == full ]] ; then
echo " Building full upgrade list. This will almost certainly take a while."
echo " Please wait..."
for y in `sed -r 's/^(.*) .*/\1/' .temp-alpps/snapshot.state` ; do
bugspray "Examining $y" 1
find_dependencies $y ; done
elif [[ -a $2 ]] ; then
echo " Determining dependencies. This might take a while. Please wait."
for y in $(<$2) ; do
bugspray "Examining $y" 1
find_dependencies $y ; done
else
echo " Error: you should provide a list-file or the keyword \"full\"."
echo " (see 'alpps.sh howto', step 2)"
exit 1 ; fi
if [[ -z $download_files ]] ; then
echo " No files to download: either none found, or all found are up to date."
else
[[ -d downloads ]] || mkdir downloads
for x in $download_files ; do
failover_fetch $x ; done ; fi
install)
dbpath=`sed -r '/^DBPath/!d;s/^.*= //' /etc/pacman.conf`
[[ -z $dbpath ]] && dbpath="/var/lib/pacman/"
bugspray "dbpath: $dbpath" 2
echo " Updating databases"
cp -ft ${dbpath}sync/ downloads/*.db
cachedir=`sed -r '/^CacheDir/!d;s/^.*= //' /etc/pacman.conf`
[[ -z $cachedir ]] && cachedir="/var/cache/pacman/pkg/"
echo " Caching packages"
cp -f downloads/*.pkg.tar.xz $cachedir
echo
echo " Don't forget to install/update your packages."
echo " Exercise proper caution."
echo " Have fun!"
clean)
echo "Cleaning up. This might take a while."
rm -fr .temp-alpps/ && echo "Buffer directory deleted" || echo "Problem deleting buffer directory '.temp-alpps/'"
rm -fr log-alpps/ && echo "Log directory deleted" || echo "Problem deleting 'log-alpps/'"
rm -fr downloads/ && echo "Downloaded packages deleted" || echo "Problem deleting 'downloads/'"
echo
echo -e " ${lgreen}Arch Linux pacman proxy script${dull}"
echo
echo -e " ${green}Description${dull}"
echo -e " ${green}===========${dull}"
echo -e " This is a bash script to fetch and install packages for an offline Arch box"
echo " using another, online box as a proxy of sorts. So far, this only works if"
echo " the proxy box has bash, wget, tar, sed and grep installed."
echo " It's probably also entirely unsafe, incompatible and will destroy your box"
echo " in a fiery blaze if you try to use it (you know the drill)."
echo
echo -e " ${green}Options${dull}"
echo -e " ${green}=======${dull}"
echo " init Step 0 (as it were): take a snapshot of your system"
echo " fetchdb Step 1: download the packagelist database"
echo " fetch <file> Step 2: download requested packages"
echo " install Step 3: update your system"
echo " clean Step 4: delete any unneeded files"
echo
echo " howto More detailed instructions"
echo " bugs Problems and future plans"
echo " faq As it says"
echo " warranty (in case it ever becomes necessary)"
echo " version (to be honest, I wasn't expecting to go beyond v1-rc or so)"
echo " help You're reading it, doofus :^)"
echo
# dl_list Test the find_dependencies function"
# verint Test the compare_versions function"
esac
I've always resorted to use VPN, then I started using cntlm, this looks very useful (and a lot of work on your part!) Thanks alot!
DoctorZeus -
Arch Linux running on Asus Transformer T100/T100TA... sort of.
I'm not really asking for help here (can't find an appropriate place to put this post), but more to show off my accomplishment with this tablet.
As the thread title says, I've gotten Arch Linux to run on the Asus T100TA which is a quite annoying little thing. I haven't documented the steps myself, however, I remember exactly what I have done, and in order to get the live image to at least run on this tablet, here are the steps I did:
(you'll maybe need 2 USB drives, seems to be the easiest way)
1. Create an ISO using the archiso set as you normally would (except you won't really need the ISO itself) OR if you can figure it out yourself, install the base image to the USB drive (either architecture will do, but I recommend i686 since the processor is 32 bit as well)
https://wiki.archlinux.org/index.php/Archiso
This step will be unnecessary as of May, as the live images onwards on the main download site will already contain the 3.14 or newer kernels.
2. After the image building successfully finishes, copy all the contents from (PROFILE)/work/iso/ (except root-image squashfs files) to a FAT32 formatted USB drive (1). This is to simply create a bootloader drive that will allow us for later swapping the USB drives.
3. Download an ia32 version of grub. Any will do as long as it can boot up on the tablet.
http://www.supergrubdisk.org/category/download/supergrub2diskdownload/
This one works, download the standalone IA-32/i386 EFI and paste it in (USB Drive (1))/EFI/boot/bootia32.efi .
(use latest versions, no matter if it's unstable)
4. Now you need to make a grub.cfg. The one I made looks like this
menuentry 'Arch Linux i686'{
echo 'Loading Linux core repo kernel ...'
linux /arch/boot/i686/vmlinuz noefi nomodeset archisobasedir=arch archisolabel=ARCH_201404
echo 'Loading initial ramdisk ...'
initrd /arch/boot/i686/archiso.img
menuentry 'Arch Linux x86_64'{
echo 'Loading Linux core repo kernel ...'
linux /arch/boot/x86_64/vmlinuz noefi nomodeset archisobasedir=arch archisolabel=ARCH_201404
echo 'Loading initial ramdisk ...'
initrd /arch/boot/x86_64/archiso.img
NOTE: If you're using a later live image build, I advise to change the date accordingly. It's not necessary to do so, since the mount by label doesn't work, however, I like to keep everything intact.
noefi flag seems unnecessary as well, though I have added it to prevent some kernel panics from happening, for just in case. It works without it, still, however you need the nomodeset flag or else you'll get a black screen!
I'm not entirely sure where the grub.cfg goes, but I've put it in USB Drive(1)/boot/grub/ , /EFI/grub/ and in /EFI/boot/grub/ just to make it sure that it works.
5. Create an ext2/3/4 (recommended ext2 for flash drives, not to wear it out) USB drive (2) and copy the arch folder to the root of the USB drive (2)
---- BOOT PROCESS ----
Before this step, ensure that Secure Boot is set to OFF in the Aptio setup. Otherwise it will throw up an error in a red box crying it's not signed.
6. Plug in the USB drive (1) into a USB port and while powering on the tablet, tilt the escape key to pop up a boot menu.
7. Select UEFI: (your USB drive (1))
8. GRUB 2 will pop up. If you're running the SuperGrubDisk version, you're gonna have to go to Everything and then scroll down until it says something like
(hd0, msdos1)/boot/grub/grub.cfg
and click on it to open the configuration data manually created.
9. Simply select your desired version of Arch Linux live distro to boot.
10. VOILAaa, not really... It'll pop up with a mount error saying it's a wrong FS to mount. This is where you plug in your USB drive (2) in place of the first one.
11. Type in:
# mount /dev/sda1 /run/archiso/bootmnt
# exit
12. Congratulations, you're running Arch Linux on your ASUS Transformer T100TA tablet!
This is as far as I have went into running it. Installing it on a HDD would require mounting the mmcblk partitions, which I haven't looked into yet. For a start, I'd just recommend installing it on a USB drive, though you'd have to own one of the USB OTG converters or a USB hub. The screen is spammed with the mmcblk0rpmb timeout errors though and that is annoying. It stops after a while when it stops trying. Reboot doesn't work either, seems like acpi is broken.
You could do it with a single usb drive, though it requires some knowledge of this tablet's EFI because it disallowed me from running a kernel on another partition other than FAT32. Grub pops up with an error:
can't unload EFI services
or something like that.
I've also tried putting the USB Drive (2) in during grub and it pops up with an error with invalid sector sizes. That was to be expected.
btw I know it's my first post, I'm just here to share this with you. I never had the need to ask for help but when absolutely necessary.
PICS OF IT RUNNING
Some USB devices aren't visible, like the camera.
A custom partition layout without the recovery partitions. Yours may differ.
Last edited by xan1242 (2014-04-13 22:54:46)I haven't tried much other than getting this live image to run on this machine. I'll attempt to install the base image using my desktop computer with the appropriate drivers and see how that goes. (or just install the wifi driver)
That guy really made it to work much better than I imagined it to work at all! I'll see what can be done using the same drivers, though running Ubuntu seems tempting as well. He even got the touchscreen to work, which is really awesome. It seems that he also merged the drivers into the kernel image, which is going to be a challenge in Arch.
Since he's using the 64 bit build of Ubuntu, I'll try it with x86_64 Arch as well to try and use his guide to make the drivers to work.
EDIT: I have successully installed the base to an external drive and booted it on the tablet, however since the base was installed externally on another machine, I need to regenerate initrd. It boots on the fallback ramdisk, but still no wifi and the screen is spammed even more with the timeout errors. I've seen topics on Raspberry Pi having a similar issue and that it was repaired using some kernel flags, but I am not sure if those will work with the tablet. Also, using the bootflags jfwells used on Ubuntu work here as well, and gives full resolution output now. Wifi doesn't work. ip link doesn't give any signs of a wifi card present.
EDIT2: Got Arch up and running relatively nicely on the tablet now. Though it is in the same state as the last edit in terms of functionality, it works I'd say well enough to be considered usable. I couldn't make the wireless card to work, for some strange reason, so I got a RT73 USB card (Edimax EW-7318USg to be precise, had to use 2 USB ports) and installed stuff on to the tablet. I ran X without a desktop manager, and the X apps worked fine, even with the touch screen (emulating a mouse, no right click) and I ran XFCE4 on it without a problem (with compositing).
It simply needs more developed drivers on it, that's mostly it. The state is exactly the same as Ubuntu 14.04 that jfwells made to work (minus the wifi). I haven't played with the sound, either, due to the warning he posted, but I believe it works as it does in Ubuntu.
The steps I made are as follows:
1. Simply made another live ISO with the archiso set
2. dd'd the image to a USB drive
3. On the second USB drive I created two GPT partitions (200 - 300 MB for ESP, everything else ext2)
4. Booted the live archiso USB drive
5. Installed the base to the second USB drive while being mounted like this: ext2 partition -> /mnt and ESP -> /mnt/boot
6. Installed GRUB x86_64-efi to simply generate a configuration
7. Installed wireless utilities as well as everything else needed to make it to work
8. To ensure bootability on the tablet, again, I put the IA32 GRUB to the ESP in /EFI/boot/bootia32.efi
9. I have edited the grub.cfg, can't exactly remember with what, but this is what it looks like
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux, with Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-(hd0,gpt2)' {
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,gpt1'
echo 'Loading Linux core repo kernel ...'
linux /vmlinuz-linux root=/dev/sda2 video=VGA-1:1368x768e reboot=pci,force sdhci.debug_quirks=0x8000 rw quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
menuentry 'Arch Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-(hd0,gpt2)' {
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,gpt1'
echo 'Loading Linux core repo kernel ...'
linux /vmlinuz-linux root=/dev/sda2 video=VGA-1:1368x768e reboot=pci,force sdhci.debug_quirks=0x8000 rw quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux-fallback.img
### END /etc/grub.d/10_linux ###
I simply added the kernel flags jfwells added. It needs that root flag, or else it will not boot. I can't figure out the UUIDs though. It will reboot, but it will not shut down.
10. Boot up your second USB drive on the tablet and... IMPORTANT - Boot with the fallback ramdisk - or else you're going to experience non functional input
11. After booting it, you'll get the annoying mmcblk timeout spamming the screen. I haven't figured out how to fix it, but to hide it, type in
# dmesg -n 1
12. Generate another ramdisk (forgot the command, but search function should serve you)
13. Reboot with the normal ramdisk now.
14. After setting up the wireless connection, rock on with the pacman!
At this point I installed a bunch of stuff, like Intel GPU drivers, xorg, xfce4, ntfs-3g, gparted, and among other stuff I personally test stuff with.
I couldn't mount the mmcblk partitions to at least somehow be able to edit data on the Windows partitions or the disk as a whole.
Anybody willing to help getting Arch to run on this tablet is welcome.
EDIT3: Internal WiFi working! Simply added "sdhci.debug_quirks=0x8000" flag.
Last edited by xan1242 (2014-04-13 23:35:26) -
Mondo rescue and mindi patched for Arch Linux
Mondo rescue is a disaster recovery tool.
Last year, I wanted to test mondo rescue for the first time, but I found there was no official package and no PKGBUILD in AUR.
So I had to build one and upload it to AUR. But soon I found there were a lot of problems related to the lack of compatibility with Arch Linux.
I had to deep in the code and made some patches that turned it usable in Arch system.
Mondo version 2.2.9.5-2, and mindi-2.0.7.6-3 are now full compatible with Arch (at least for me).
That's why I'm asking Arch users (if someone interested) to test mondo and mindi PKGBUILD's and give your feedback to help me to improve it.
mondo AUR - http://aur.archlinux.org/packages.php?ID=38366
mindi AUR - http://aur.archlinux.org/packages.php?ID=38365
mindi-busybox - http://aur.archlinux.org/packages.php?ID=38364
mondorescue website - http://www.mondorescue.org/
Thank's for your feedback.You are right! The server is down :-(
This server was an alternative I found for the original one that was also down at that time.
Now http://www.hello-penguin.com/software.htm is up again, but I had some problems downloading source code with pacman.
This is a little frustrating when servers are up and down intermittently.
So, I made a mirror in my own server where buffer-1.19.tar.gz can be downloaded too, and uploaded a new version PKBUILD to AUR (http://aur.archlinux.org/packages.php?ID=38363).
PKGBUILD now downloads source code from this alternative server, but if you wish, you can edit PKGBUILD and chose the original one (in the commented line).
Hope this can be solved now. -
Installing Arch on a RAID (for dummies)
Playing with RAID's is fun for all the family, and makes things go faster.
this is how I (re)installed Arch Linux, in a simple RAID configuration.
Ingredients
===========
1. Two 160GB drives
2. Arch Linux CD (Dont Panic)
Planning
========
1. root partition on a RAID 1 setup (mirroring)
2. home partition on a RAID 0 setup (striping)
3. swap partition on a RAID 0 setup (striping)
in this kinda setup, one disk can fry, but the system will still boot and function normally.
home will be lost for ever, but I always back it up anyway (and so should you).
*Important* - make sure your two IDE drives are not connected to the same cable, setup one as a primary master and the second as a secondary master.
The works
=========
1. Boot the machine using the setup CD.
2. Using cfdisk, partition the two drives exactly the same:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 4863 39062016 83 Linux
/dev/sda2 4864 17021 97659135 83 Linux
/dev/sda3 17022 17083 498015 82 Linux swap / Solaris
I chose 40GB for root, 100GB for home (results in 200GB), and 1GB for swap.
Do exactly the same on the second drive /dev/sdb
3. create the RAIDs using mdadm:
modprob raid1
modprob raid0
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/sda3 /dev/sdb3
4. create filesystems on the partitions:
mkfs.xfs /dev/md0
mkfs.xfs /dev/md1
mkswap /dev/md2
5. mount the root partition on /mnt
mount /dev/md0 /mnt
6. start the setup program
/arch/setup
7. select all base packages
8. install packages
9. configure:
choose configure system and then, edit mkinitcpio.conf modules section:
MODULES="ata_generic ata_piix raid1 raid0 xfs"
In this line, I only added "raid1 raid0 xfs" to the modules.
then, edit mkinitcpio.conf hooks section, and add the RAID stuff after that:
HOOKS="base udev raid autodetect pata scsi sata usbinput keymap filesystems"
md=0,/dev/sda1,/dev/sdb1
md=1,/dev/sda2,/dev/sdb2
md=2,/dev/sda3,/dev/sdb3
In the hooks line, I have added the raid hook before autodetect
10. install the kernel
choose install kernel from the menu.
11. Install grub
choose install bootloader then grub
edit the grub entry to:
# (0) Arch Linux
title Arch Linux [/boot/vmlinuz26]
root (hd0,0)
kernel /boot/vmlinuz26 root=/dev/md0 ro md=0,/dev/sda1,/dev/sdb1
initrd /boot/kernel26.img
install grub to /dev/sda
when prompted about root partition choose /dev/sda1
when prompted about RAID stuff choose no
do exactly the same on /dev/sdb
12. exit the setup program
13. fix mdadm.conf
mdadm -D --scan >>/mnt/etc/mdadm.conf
14. fix fstab
add this to /mnt/etc/fstab:
/dev/md0 / xfs defaults 0 0
/dev/md1 /home xfs defaults 0 0
/dev/md2 swap swap defaults 0 0
15. reboot and install the rest of the system
16. make sure all is well:
cat /proc/mdstat
Personalities : [raid1] [raid0] [linear] [multipath] [raid6] [raid5] [raid4] [raid10]
md2 : active raid0 sda3[0] sdb3[1]
995840 blocks 64k chunks
md1 : active raid0 sda2[0] sdb2[1]
195318016 blocks 64k chunks
md0 : active raid1 sdb1[1] sda1[0]
39061952 blocks [2/2] [UU]
mount
/dev/md0 on / type xfs (rw)
/dev/md1 on /home type xfs (rw)
make sure swap is on:
cat /proc/swaps
Filename Type Size Used Priority
/dev/md2 partition 995832 0 -1
17. If things go wrong, you can reassemble the RAIDs after booting from the setup CD, dont recreate them:
mdadm --reassemble /dev/md0 /dev/sda1 /dev/sdb1
for more reading, consult the WIKI: http://wiki.archlinux.org/index.php/Ins … AID_or_LVM
Last edited by daf666 (2008-03-08 20:36:42)Sorry for the late reply clickit, I guess you might have fixed it already.
There is a mistake in the guide, I will correct it now, the types in these lines should be --level=0
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
Very sorry about that, but that does not cause your problem, because it would have created a mirror RAID instaed of a stripe.
Your BIOS has nothing to do with the Linux software RAID, the RAID settings you see in BIOS are probably to enable the on-board RAID controller you have.
The grub part is tricky, you have to make sure whats in the configuration file is according to the setup that you have (not just copy from the guide).
Also keep in mind that if you have SATA, things might look different and the setup might need to be different.
PS - regarding swap, since I wrote the guide I removed the swap space and instead I use a swap file on the RAID0.. I guess it the same because my system rarely uses swap anyway
Last edited by daf666 (2007-10-17 21:31:59) -
I want to dual boot Chrome OS and Arch on a Chromebook. More importantly, I want to run Arch with full system encryption, such as with dm-crypt.
As I understand it, in order to use full disk encryption, /boot must be a non-encrypted partition. If I didn't want to dual boot CrOS, this wouldn't be a problem. If I change the partitioning, it's unlikely that CrOS will boot.
Has anyone successfully dual booted Chrome OS and Arch with full-disk encryption? And, if so, I'd appreciate your guidance. Thanks!!
[edit] yes. Very straightforward, just read the Wiki
Last edited by Watney (2015-05-26 03:21:50)What is your threat model?
Owe, and no you can not have hidden-volume with dm-crypt.
If you really want to have a secure OS to boot to.
You should make a small partition on your drive.
Put the tails linux OS .iso on it
https://tails.boum.org/
Then configure GRUB2 to boot the .iso file.
https://tails.boum.org/forum/LiveUSB__4 … __feature/
Now get a micro SD card and encrypt that for keeping data on.
Then if you have to destroy the data, you just snap the micro SD card in a few pieces, but if you don't have time to destroy it then it is at least encrypted.
If you are really worried about like the NSA or FBI getting your data... You probaly should not even have the data in the USA at all.
Instead, rent a VPS in like Malaysia, Russia, Hong Kong, bla, bla bla...
Pay for the VPS with BitCoin, Bitcoin you bought on #bitcoin-otc freenode IRC channel, that you connected to though the freenode TOR-HIdden Service IRC server. You will also want to do some bitcoin Tumbling before you use it. To tumble the bitcoin. You could simply transfer the bitcoin to an account on silkroadvb5piz3r.onion then transfer the bitcoin back to you.
.... OWE, and configure your bitcoin client to connect to the bitcoin network through TOR.
Only connect to the VPS through TOR.
Create a TOR-Hidden service to host SSH on the VPS
Then use like sshfs to mount a remote directory on that VPS.
Then create a TrueCrypt volume on that sshfs mounted directory, and keep your data in that.
===========
How far down the rabbit hole do you want to go?
Last edited by hunterthomson (2012-11-13 01:48:12)
Maybe you are looking for
-
My screen went dark and a message told me to shut down the computer.
-
[CS3 JS] Getting information about Photoshop images in InDesign
Hello, Through an InDesign script I can get many pieces of information about an image such as the file name, resolution in PPI, dimension in inches, color mode, etc. What I am wondering is if it is possible to find out how many layers a Photoshop ima
-
Shared Services Installation Error
Hi all im very new to Essbase and have little experience in the installation process. I followed the documentation and managed to install Shared Services (SS) and the BI products. I encountered and error when trying to install some essbase analysis p
-
When I try to launch another profile in firefox, I get this message: [JavaScript Application] Impossible to find the executable file. To fix this, set a valid path in the options window.
-
Problem with Encore 2 and WinDVD
Hi all, when i create a DVD with Encore 2.0, everything works fine and it looks good in any stand alone DVD player. But when I use WinDVD, the DVD shows its menu for about 0.5 seconds and the window turns all black again. I have to push the menu-butt