mirror of https://github.com/hak5/openwrt.git
parent
dd6cef677b
commit
b314ffdd3a
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH=i386
|
||||
BOARD:=olpc
|
||||
BOARDNAME:=olpc
|
||||
FEATURES:=squashfs ext2
|
||||
|
||||
LINUX_VERSION:=2.6.23
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci
|
||||
|
||||
$(eval $(call Target,generic))
|
||||
$(eval $(call BuildTarget))
|
||||
$(eval $(call $(if $(CONFIG_TARGET_ROOTFS_ISO),RequireCommand,Ignore),mkisofs, \
|
||||
Please install mkisofs. \
|
||||
))
|
|
@ -0,0 +1,2 @@
|
|||
mount -t proc none /proc
|
||||
grep 'failsafe=' /proc/cmdline && export FAILSAFE=true
|
|
@ -0,0 +1,27 @@
|
|||
platform_check_image() {
|
||||
[ "$ARGC" -gt 1 ] && return 1
|
||||
|
||||
case "$(get_magic_word "$1")" in
|
||||
48eb) return 0;;
|
||||
*)
|
||||
echo "Invalid image type"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
platform_do_upgrade() {
|
||||
get_image "$1" > /dev/hda
|
||||
sync
|
||||
}
|
||||
|
||||
x86_prepare_ext2() {
|
||||
# if we're running from ext2, we need to make sure that we have a mtd
|
||||
# partition that points to the active rootfs partition.
|
||||
# however this only matters if we actually need to preserve the config files
|
||||
[ "$SAVE_CONFIG" -eq 1 ] && return 0
|
||||
grep rootfs /proc/mtd >/dev/null || {
|
||||
echo /dev/hda2,65536,rootfs > /sys/module/block2mtd/parameters/block2mtd
|
||||
}
|
||||
}
|
||||
append sysupgrade_pre_upgrade x86_prepare_ext2
|
|
@ -0,0 +1,632 @@
|
|||
# CONFIG_3C515 is not set
|
||||
# CONFIG_60XX_WDT is not set
|
||||
# CONFIG_8139TOO is not set
|
||||
# CONFIG_AC3200 is not set
|
||||
# CONFIG_ACPI is not set
|
||||
# CONFIG_ACQUIRE_WDT is not set
|
||||
# CONFIG_ADVANTECH_WDT is not set
|
||||
# CONFIG_AGP is not set
|
||||
# CONFIG_AIRO is not set
|
||||
# CONFIG_ALIM1535_WDT is not set
|
||||
# CONFIG_ALIM7101_WDT is not set
|
||||
# CONFIG_APM is not set
|
||||
# CONFIG_APRICOT is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SUPPORTS_MSI=y
|
||||
# CONFIG_AT1700 is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_AX25 is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
# CONFIG_BACKLIGHT_PROGEAR is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_BATTERY_DS2760 is not set
|
||||
CONFIG_BATTERY_OLPC=y
|
||||
# CONFIG_BINFMT_AOUT is not set
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_BITREVERSE=y
|
||||
CONFIG_BLK_DEV_CRYPTOLOOP=y
|
||||
CONFIG_BLK_DEV_GENERIC=y
|
||||
# CONFIG_BLK_DEV_HD is not set
|
||||
# CONFIG_BLK_DEV_HD_IDE is not set
|
||||
# CONFIG_BLK_DEV_HPT34X is not set
|
||||
# CONFIG_BLK_DEV_HPT366 is not set
|
||||
CONFIG_BLK_DEV_IDE=y
|
||||
CONFIG_BLK_DEV_IDEDISK=y
|
||||
CONFIG_BLK_DEV_IDEDMA=y
|
||||
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
|
||||
CONFIG_BLK_DEV_IDEDMA_PCI=y
|
||||
CONFIG_BLK_DEV_IDEPCI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
# CONFIG_BLK_DEV_NBD is not set
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
CONFIG_BLK_DEV_SC1200=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_BLK_DEV_SR_VENDOR=y
|
||||
CONFIG_BLK_DEV_VIA82CXXX=y
|
||||
# CONFIG_BLK_DEV_XD is not set
|
||||
# CONFIG_BONDING is not set
|
||||
CONFIG_BOUNCE=y
|
||||
# CONFIG_BRIDGE_NF_EBTABLES is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
# CONFIG_CIFS is not set
|
||||
CONFIG_CLOCKSOURCE_WATCHDOG=y
|
||||
CONFIG_COMPAT_VDSO=y
|
||||
# CONFIG_CPU5_WDT is not set
|
||||
# CONFIG_CPUSETS is not set
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
# CONFIG_CRYPTO_AES is not set
|
||||
# CONFIG_CRYPTO_AES_586 is not set
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
# CONFIG_CRYPTO_ANUBIS is not set
|
||||
# CONFIG_CRYPTO_ARC4 is not set
|
||||
CONFIG_CRYPTO_BLKCIPHER=y
|
||||
# CONFIG_CRYPTO_BLOWFISH is not set
|
||||
# CONFIG_CRYPTO_CAMELLIA is not set
|
||||
# CONFIG_CRYPTO_CAST5 is not set
|
||||
# CONFIG_CRYPTO_CAST6 is not set
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
# CONFIG_CRYPTO_CRC32C is not set
|
||||
# CONFIG_CRYPTO_DEFLATE is not set
|
||||
# CONFIG_CRYPTO_ECB is not set
|
||||
# CONFIG_CRYPTO_HMAC is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
# CONFIG_CRYPTO_KHAZAD is not set
|
||||
CONFIG_CRYPTO_MANAGER=y
|
||||
# CONFIG_CRYPTO_MD4 is not set
|
||||
# CONFIG_CRYPTO_MD5 is not set
|
||||
# CONFIG_CRYPTO_MICHAEL_MIC is not set
|
||||
# CONFIG_CRYPTO_NULL is not set
|
||||
# CONFIG_CRYPTO_SERPENT is not set
|
||||
# CONFIG_CRYPTO_SHA1 is not set
|
||||
# CONFIG_CRYPTO_SHA256 is not set
|
||||
# CONFIG_CRYPTO_SHA512 is not set
|
||||
# CONFIG_CRYPTO_TEA is not set
|
||||
# CONFIG_CRYPTO_TGR192 is not set
|
||||
# CONFIG_CRYPTO_TWOFISH is not set
|
||||
# CONFIG_CRYPTO_TWOFISH_586 is not set
|
||||
# CONFIG_CRYPTO_WP512 is not set
|
||||
# CONFIG_CS5535_GPIO is not set
|
||||
# CONFIG_CS89x0 is not set
|
||||
# CONFIG_DCDBAS is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_DELL_RBU is not set
|
||||
# CONFIG_DEPCA is not set
|
||||
CONFIG_DEVPORT=y
|
||||
# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
|
||||
CONFIG_DISPLAY_SUPPORT=y
|
||||
CONFIG_DMI=y
|
||||
CONFIG_DMIID=y
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_DOUBLEFAULT=y
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_E100 is not set
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_EDAC is not set
|
||||
# CONFIG_EDD is not set
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_EISA is not set
|
||||
# CONFIG_EL1 is not set
|
||||
# CONFIG_EL16 is not set
|
||||
# CONFIG_EL2 is not set
|
||||
# CONFIG_EL3 is not set
|
||||
CONFIG_ELF_CORE=y
|
||||
# CONFIG_ELPLUS is not set
|
||||
# CONFIG_EUROTECH_WDT is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_EXT3_FS is not set
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FB_3DFX is not set
|
||||
# CONFIG_FB_ARC is not set
|
||||
# CONFIG_FB_ARK is not set
|
||||
# CONFIG_FB_ASILIANT is not set
|
||||
# CONFIG_FB_ATY is not set
|
||||
# CONFIG_FB_ATY128 is not set
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
# CONFIG_FB_CIRRUS is not set
|
||||
# CONFIG_FB_CYBER2000 is not set
|
||||
# CONFIG_FB_CYBLA is not set
|
||||
# CONFIG_FB_DDC is not set
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
CONFIG_FB_GEODE=y
|
||||
CONFIG_FB_GEODE_GX=y
|
||||
# CONFIG_FB_GEODE_GX1 is not set
|
||||
# CONFIG_FB_GEODE_GX_SET_FBSIZE is not set
|
||||
CONFIG_FB_GEODE_LX=y
|
||||
# CONFIG_FB_HECUBA is not set
|
||||
# CONFIG_FB_HGA is not set
|
||||
# CONFIG_FB_I810 is not set
|
||||
# CONFIG_FB_IMSTT is not set
|
||||
# CONFIG_FB_INTEL is not set
|
||||
# CONFIG_FB_KYRO is not set
|
||||
# CONFIG_FB_LE80578 is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_MATROX is not set
|
||||
# CONFIG_FB_MODE_HELPERS is not set
|
||||
# CONFIG_FB_NEOMAGIC is not set
|
||||
# CONFIG_FB_NVIDIA is not set
|
||||
CONFIG_FB_OLPC_DCON=y
|
||||
# CONFIG_FB_PM2 is not set
|
||||
# CONFIG_FB_PM3 is not set
|
||||
# CONFIG_FB_RADEON is not set
|
||||
# CONFIG_FB_RIVA is not set
|
||||
# CONFIG_FB_S1D13XXX is not set
|
||||
# CONFIG_FB_S3 is not set
|
||||
# CONFIG_FB_SAVAGE is not set
|
||||
# CONFIG_FB_SIS is not set
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# CONFIG_FB_SYS_COPYAREA is not set
|
||||
# CONFIG_FB_SYS_FILLRECT is not set
|
||||
# CONFIG_FB_SYS_FOPS is not set
|
||||
# CONFIG_FB_SYS_IMAGEBLIT is not set
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
# CONFIG_FB_TRIDENT is not set
|
||||
# CONFIG_FB_VESA is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
# CONFIG_FB_VIRTUAL is not set
|
||||
# CONFIG_FB_VOODOO1 is not set
|
||||
# CONFIG_FB_VT8623 is not set
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
CONFIG_FIX_EARLYCON_MEM=y
|
||||
# CONFIG_FONTS is not set
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
|
||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||
CONFIG_GENERIC_IOMAP=y
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
CONFIG_GENERIC_PENDING_IRQ=y
|
||||
CONFIG_GEODE_MFGPT_TIMER=y
|
||||
# CONFIG_HANGCHECK_TIMER is not set
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
# CONFIG_HERMES is not set
|
||||
# CONFIG_HFSPLUS_FS is not set
|
||||
# CONFIG_HFS_FS is not set
|
||||
CONFIG_HIBERNATION=y
|
||||
CONFIG_HIBERNATION_SMP_POSSIBLE=y
|
||||
CONFIG_HID=y
|
||||
CONFIG_HID_SUPPORT=y
|
||||
# CONFIG_HIGHMEM4G is not set
|
||||
# CONFIG_HIGHMEM64G is not set
|
||||
# CONFIG_HIGH_RES_TIMERS is not set
|
||||
# CONFIG_HOSTAP is not set
|
||||
CONFIG_HOTPLUG_CPU=y
|
||||
# CONFIG_HPET_TIMER is not set
|
||||
CONFIG_HT_IRQ=y
|
||||
# CONFIG_HUGETLBFS is not set
|
||||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_HW_RANDOM_AMD is not set
|
||||
CONFIG_HW_RANDOM_GEODE=y
|
||||
# CONFIG_HW_RANDOM_INTEL is not set
|
||||
CONFIG_HW_RANDOM_VIA=y
|
||||
CONFIG_I2C=y
|
||||
# CONFIG_I2C_ALGOBIT is not set
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
# CONFIG_I6300ESB_WDT is not set
|
||||
# CONFIG_I8K is not set
|
||||
# CONFIG_IB700_WDT is not set
|
||||
# CONFIG_IBMASR is not set
|
||||
# CONFIG_IBM_ASM is not set
|
||||
CONFIG_IDE=y
|
||||
# CONFIG_IDEDMA_IVB is not set
|
||||
# CONFIG_IDEDMA_ONLYDISK is not set
|
||||
CONFIG_IDEPCI_PCIBUS_ORDER=y
|
||||
CONFIG_IDEPCI_SHARE_IRQ=y
|
||||
# CONFIG_IDE_ARM is not set
|
||||
# CONFIG_IDE_CHIPSETS is not set
|
||||
CONFIG_IDE_GENERIC=y
|
||||
# CONFIG_IDE_PROC_FS is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_INPUT_EVDEV is not set
|
||||
CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_INPUT_MOUSE=y
|
||||
CONFIG_INPUT_MOUSEDEV=y
|
||||
CONFIG_INPUT_MOUSEDEV_PSAUX=y
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
CONFIG_INSTRUMENTATION=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_IPW2100 is not set
|
||||
# CONFIG_IPW2200 is not set
|
||||
# CONFIG_IP_NF_ARPTABLES is not set
|
||||
# CONFIG_IP_NF_MATCH_AH is not set
|
||||
# CONFIG_IP_NF_MATCH_ECN is not set
|
||||
# CONFIG_IP_NF_MATCH_IPP2P is not set
|
||||
# CONFIG_IP_NF_MATCH_LAYER7 is not set
|
||||
# CONFIG_IP_NF_MATCH_OWNER is not set
|
||||
# CONFIG_IP_NF_MATCH_RECENT is not set
|
||||
# CONFIG_IP_NF_MATCH_TIME is not set
|
||||
# CONFIG_IP_NF_MATCH_TOS is not set
|
||||
# CONFIG_IP_NF_MATCH_TTL is not set
|
||||
# CONFIG_IP_NF_QUEUE is not set
|
||||
# CONFIG_IP_NF_SET is not set
|
||||
# CONFIG_IP_NF_TARGET_ECN is not set
|
||||
# CONFIG_IP_NF_TARGET_IMQ is not set
|
||||
# CONFIG_IP_NF_TARGET_LOG is not set
|
||||
# CONFIG_IP_NF_TARGET_NETMAP is not set
|
||||
# CONFIG_IP_NF_TARGET_REDIRECT is not set
|
||||
# CONFIG_IP_NF_TARGET_TOS is not set
|
||||
# CONFIG_IP_NF_TARGET_TTL is not set
|
||||
# CONFIG_IP_NF_TARGET_ULOG is not set
|
||||
CONFIG_IRQBALANCE=y
|
||||
CONFIG_ISA=y
|
||||
CONFIG_ISAPNP=y
|
||||
CONFIG_ISA_DMA_API=y
|
||||
# CONFIG_ISDN is not set
|
||||
# CONFIG_ISO9660_FS is not set
|
||||
# CONFIG_ITCO_WDT is not set
|
||||
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
|
||||
CONFIG_KALLSYMS=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_KEYBOARD_ATKBD=y
|
||||
# CONFIG_KEYBOARD_LKKBD is not set
|
||||
# CONFIG_KEYBOARD_NEWTON is not set
|
||||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
# CONFIG_KEYBOARD_SUNKBD is not set
|
||||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
CONFIG_KMOD=y
|
||||
# CONFIG_KPROBES is not set
|
||||
CONFIG_KTIME_SCALAR=y
|
||||
# CONFIG_KVM is not set
|
||||
# CONFIG_LANCE is not set
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_LOCK_KERNEL=y
|
||||
# CONFIG_LOGO is not set
|
||||
# CONFIG_M386 is not set
|
||||
# CONFIG_M486 is not set
|
||||
# CONFIG_M586 is not set
|
||||
# CONFIG_M586MMX is not set
|
||||
# CONFIG_M586TSC is not set
|
||||
# CONFIG_M686 is not set
|
||||
# CONFIG_MACHZ_WDT is not set
|
||||
# CONFIG_MACINTOSH_DRIVERS is not set
|
||||
CONFIG_MATH_EMULATION=y
|
||||
# CONFIG_MCA is not set
|
||||
# CONFIG_MCORE2 is not set
|
||||
# CONFIG_MCRUSOE is not set
|
||||
# CONFIG_MCYRIXIII is not set
|
||||
# CONFIG_MDA_CONSOLE is not set
|
||||
# CONFIG_MEFFICEON is not set
|
||||
# CONFIG_MGEODEGX1 is not set
|
||||
CONFIG_MGEODE_LX=y
|
||||
CONFIG_MICROCODE=y
|
||||
CONFIG_MICROCODE_OLD_INTERFACE=y
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_MIXCOMWD is not set
|
||||
# CONFIG_MK6 is not set
|
||||
# CONFIG_MK7 is not set
|
||||
# CONFIG_MK8 is not set
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_BLOCK=y
|
||||
CONFIG_MMC_BLOCK_BOUNCE=y
|
||||
# CONFIG_MMC_DEBUG is not set
|
||||
CONFIG_MMC_SDHCI=y
|
||||
# CONFIG_MMC_TIFM_SD is not set
|
||||
# CONFIG_MMC_UNSAFE_RESUME is not set
|
||||
# CONFIG_MMC_WBSD is not set
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MOUSE_PS2=y
|
||||
CONFIG_MOUSE_PS2_ALPS=y
|
||||
CONFIG_MOUSE_PS2_LIFEBOOK=y
|
||||
CONFIG_MOUSE_PS2_LOGIPS2PP=y
|
||||
CONFIG_MOUSE_PS2_OLPC=y
|
||||
CONFIG_MOUSE_PS2_SYNAPTICS=y
|
||||
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
|
||||
CONFIG_MOUSE_PS2_TRACKPOINT=y
|
||||
# CONFIG_MOUSE_SERIAL is not set
|
||||
# CONFIG_MOUSE_VSXXXAA is not set
|
||||
# CONFIG_MPENTIUM4 is not set
|
||||
# CONFIG_MPENTIUMII is not set
|
||||
# CONFIG_MPENTIUMIII is not set
|
||||
# CONFIG_MPENTIUMM is not set
|
||||
# CONFIG_MSDOS_FS is not set
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_ABSENT is not set
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_BLOCK2MTD=y
|
||||
# CONFIG_MTD_CFI is not set
|
||||
CONFIG_MTD_CFI_I1=y
|
||||
CONFIG_MTD_CFI_I2=y
|
||||
# CONFIG_MTD_CFI_I4 is not set
|
||||
# CONFIG_MTD_CFI_I8 is not set
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
# CONFIG_MTD_DOC2000 is not set
|
||||
# CONFIG_MTD_DOC2001 is not set
|
||||
# CONFIG_MTD_DOC2001PLUS is not set
|
||||
# CONFIG_MTD_JEDECPROBE is not set
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
||||
# CONFIG_MTD_MTDRAM is not set
|
||||
CONFIG_MTD_NAND=y
|
||||
# CONFIG_MTD_NAND_CAFE is not set
|
||||
# CONFIG_MTD_NAND_CS553X is not set
|
||||
# CONFIG_MTD_NAND_DISKONCHIP is not set
|
||||
# CONFIG_MTD_NAND_ECC_SMC is not set
|
||||
CONFIG_MTD_NAND_IDS=y
|
||||
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
|
||||
# CONFIG_MTD_NAND_NANDSIM is not set
|
||||
CONFIG_MTD_NAND_PLATFORM=y
|
||||
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
CONFIG_MTD_OOPS=y
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_PCI=y
|
||||
# CONFIG_MTD_PHRAM is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
# CONFIG_MTD_PMC551 is not set
|
||||
# CONFIG_MTD_RAM is not set
|
||||
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||
# CONFIG_MTD_ROM is not set
|
||||
# CONFIG_MTD_SLRAM is not set
|
||||
# CONFIG_MTD_TS5500 is not set
|
||||
CONFIG_MTRR=y
|
||||
# CONFIG_MVIAC3_2 is not set
|
||||
# CONFIG_MVIAC7 is not set
|
||||
# CONFIG_MWINCHIP2 is not set
|
||||
# CONFIG_MWINCHIP3D is not set
|
||||
# CONFIG_MWINCHIPC6 is not set
|
||||
# CONFIG_NATSEMI is not set
|
||||
# CONFIG_NE2K_PCI is not set
|
||||
CONFIG_NETDEV_1000=y
|
||||
# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_ESP is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_MAC is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_MARK is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_PORTSCAN is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_STRING is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_CHAOS is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_DELUDE is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_MARK is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_TARPIT is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NET_SCH_DSMARK is not set
|
||||
# CONFIG_NET_SCH_ESFQ is not set
|
||||
# CONFIG_NET_SCH_GRED is not set
|
||||
# CONFIG_NET_SCH_HFSC is not set
|
||||
# CONFIG_NET_SCH_HTB is not set
|
||||
# CONFIG_NET_SCH_INGRESS is not set
|
||||
# CONFIG_NET_SCH_RED is not set
|
||||
# CONFIG_NET_SCH_SFQ is not set
|
||||
# CONFIG_NET_SCH_TBF is not set
|
||||
# CONFIG_NET_SCH_TEQL is not set
|
||||
CONFIG_NET_VENDOR_3COM=y
|
||||
# CONFIG_NET_VENDOR_RACAL is not set
|
||||
# CONFIG_NET_VENDOR_SMC is not set
|
||||
# CONFIG_NFSD is not set
|
||||
# CONFIG_NFS_FS is not set
|
||||
# CONFIG_NF_CONNTRACK_AMANDA is not set
|
||||
# CONFIG_NF_CONNTRACK_H323 is not set
|
||||
# CONFIG_NF_CONNTRACK_PPTP is not set
|
||||
# CONFIG_NF_CONNTRACK_RTSP is not set
|
||||
# CONFIG_NF_CONNTRACK_SIP is not set
|
||||
# CONFIG_NF_NAT_AMANDA is not set
|
||||
# CONFIG_NF_NAT_H323 is not set
|
||||
# CONFIG_NF_NAT_PPTP is not set
|
||||
# CONFIG_NF_NAT_RTSP is not set
|
||||
# CONFIG_NF_NAT_SIP is not set
|
||||
# CONFIG_NF_NAT_SNMP_BASIC is not set
|
||||
# CONFIG_NLS is not set
|
||||
CONFIG_NOHIGHMEM=y
|
||||
# CONFIG_NO_HZ is not set
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_NR_QUICK=1
|
||||
CONFIG_NSC_GPIO=m
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_OLPC=y
|
||||
CONFIG_OLPC_PM=y
|
||||
CONFIG_OPEN_FIRMWARE=y
|
||||
CONFIG_PAGE_OFFSET=0xC0000000
|
||||
# CONFIG_PARAVIRT is not set
|
||||
CONFIG_PC8736x_GPIO=m
|
||||
# CONFIG_PC87413_WDT is not set
|
||||
CONFIG_PCCARD=m
|
||||
CONFIG_PCCARD_NONSTATIC=m
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_PCIPCWATCHDOG is not set
|
||||
CONFIG_PCI_DIRECT=y
|
||||
# CONFIG_PCI_GOANY is not set
|
||||
# CONFIG_PCI_GOBIOS is not set
|
||||
# CONFIG_PCI_GODIRECT is not set
|
||||
# CONFIG_PCI_GOMMCONFIG is not set
|
||||
CONFIG_PCI_GOOLPC=y
|
||||
# CONFIG_PCI_MSI is not set
|
||||
CONFIG_PCI_OLPC=y
|
||||
CONFIG_PCMCIA_PROBE=y
|
||||
# CONFIG_PCWATCHDOG is not set
|
||||
# CONFIG_PDA_POWER is not set
|
||||
CONFIG_PHYSICAL_ALIGN=0x100000
|
||||
CONFIG_PHYSICAL_START=0x100000
|
||||
CONFIG_PM=y
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_PM_LEGACY=y
|
||||
CONFIG_PM_SLEEP=y
|
||||
CONFIG_PM_SLEEP_SMP=y
|
||||
CONFIG_PM_STD_PARTITION=""
|
||||
# CONFIG_PM_TRACE is not set
|
||||
# CONFIG_PM_VERBOSE is not set
|
||||
CONFIG_PNP=y
|
||||
# CONFIG_PNPACPI is not set
|
||||
# CONFIG_PNPBIOS is not set
|
||||
# CONFIG_PNP_DEBUG is not set
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
# CONFIG_POWER_SUPPLY_DEBUG is not set
|
||||
# CONFIG_PPP_MPPE is not set
|
||||
# CONFIG_PPP_SYNC_TTY is not set
|
||||
CONFIG_PREEMPT_BKL=y
|
||||
# CONFIG_PRISM54 is not set
|
||||
# CONFIG_PROMFS_FS is not set
|
||||
CONFIG_QUICKLIST=y
|
||||
CONFIG_RELAY=y
|
||||
# CONFIG_RELOCATABLE is not set
|
||||
CONFIG_RTC=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
# CONFIG_SBC8360_WDT is not set
|
||||
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
|
||||
# CONFIG_SC1200_WDT is not set
|
||||
# CONFIG_SC520_WDT is not set
|
||||
CONFIG_SCHED_MC=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_WAIT_SCAN=m
|
||||
CONFIG_SCx200=y
|
||||
CONFIG_SCx200HR_TIMER=y
|
||||
# CONFIG_SCx200_ACB is not set
|
||||
# CONFIG_SCx200_GPIO is not set
|
||||
CONFIG_SCx200_WDT=m
|
||||
CONFIG_SEMAPHORE_SLEEPERS=y
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
CONFIG_SERIAL_8250_PCI=y
|
||||
CONFIG_SERIAL_8250_PNP=y
|
||||
CONFIG_SERIO=y
|
||||
# CONFIG_SERIO_CT82C710 is not set
|
||||
CONFIG_SERIO_I8042=y
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
# CONFIG_SERIO_PCIPS2 is not set
|
||||
# CONFIG_SERIO_RAW is not set
|
||||
CONFIG_SERIO_SERPORT=y
|
||||
CONFIG_SMP=y
|
||||
# CONFIG_SMSC37B787_WDT is not set
|
||||
# CONFIG_SOFT_WATCHDOG is not set
|
||||
# CONFIG_SONYPI is not set
|
||||
# CONFIG_SOUND is not set
|
||||
CONFIG_SPARSEMEM_STATIC=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_SUSPEND_SMP_POSSIBLE=y
|
||||
CONFIG_SYSVIPC_SYSCTL=y
|
||||
# CONFIG_TELCLOCK is not set
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
# CONFIG_TOSHIBA is not set
|
||||
# CONFIG_TUN is not set
|
||||
# CONFIG_TYPHOON is not set
|
||||
# CONFIG_UDF_FS is not set
|
||||
CONFIG_UID16=y
|
||||
# CONFIG_USB is not set
|
||||
# CONFIG_USER_NS is not set
|
||||
# CONFIG_VFAT_FS is not set
|
||||
CONFIG_VGACON_SOFT_SCROLLBACK=y
|
||||
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
|
||||
# CONFIG_VGASTATE is not set
|
||||
CONFIG_VGA_CONSOLE=y
|
||||
# CONFIG_VGA_NOPROBE is not set
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_SELECT=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_VM86=y
|
||||
# CONFIG_VMSPLIT_1G is not set
|
||||
# CONFIG_VMSPLIT_2G is not set
|
||||
# CONFIG_VMSPLIT_2G_OPT is not set
|
||||
CONFIG_VMSPLIT_3G=y
|
||||
# CONFIG_VMSPLIT_3G_OPT is not set
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
# CONFIG_VORTEX is not set
|
||||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
# CONFIG_VT_HW_CONSOLE_BINDING is not set
|
||||
# CONFIG_WAFER_WDT is not set
|
||||
# CONFIG_WDT is not set
|
||||
CONFIG_X86=y
|
||||
CONFIG_X86_32=y
|
||||
# CONFIG_X86_BIGSMP is not set
|
||||
CONFIG_X86_BIOS_REBOOT=y
|
||||
CONFIG_X86_BSWAP=y
|
||||
CONFIG_X86_CMPXCHG=y
|
||||
# CONFIG_X86_CPUID is not set
|
||||
# CONFIG_X86_ELAN is not set
|
||||
# CONFIG_X86_ES7000 is not set
|
||||
CONFIG_X86_FIND_SMP_CONFIG=y
|
||||
CONFIG_X86_GENERIC=y
|
||||
# CONFIG_X86_GENERICARCH is not set
|
||||
CONFIG_X86_HT=y
|
||||
CONFIG_X86_INTEL_USERCOPY=y
|
||||
CONFIG_X86_INVLPG=y
|
||||
CONFIG_X86_IO_APIC=y
|
||||
CONFIG_X86_L1_CACHE_SHIFT=7
|
||||
CONFIG_X86_LOCAL_APIC=y
|
||||
CONFIG_X86_MCE=y
|
||||
# CONFIG_X86_MCE_NONFATAL is not set
|
||||
# CONFIG_X86_MCE_P4THERMAL is not set
|
||||
CONFIG_X86_MINIMUM_CPU_FAMILY=4
|
||||
CONFIG_X86_MPPARSE=y
|
||||
# CONFIG_X86_MSR is not set
|
||||
# CONFIG_X86_NUMAQ is not set
|
||||
# CONFIG_X86_PAE is not set
|
||||
CONFIG_X86_PC=y
|
||||
CONFIG_X86_POPAD_OK=y
|
||||
# CONFIG_X86_REBOOTFIXUPS is not set
|
||||
CONFIG_X86_SMP=y
|
||||
# CONFIG_X86_SUMMIT is not set
|
||||
CONFIG_X86_TRAMPOLINE=y
|
||||
CONFIG_X86_TSC=y
|
||||
CONFIG_X86_USE_3DNOW=y
|
||||
CONFIG_X86_USE_PPRO_CHECKSUM=y
|
||||
# CONFIG_X86_VISWS is not set
|
||||
# CONFIG_X86_VOYAGER is not set
|
||||
CONFIG_X86_WP_WORKS_OK=y
|
||||
CONFIG_X86_XADD=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
CONFIG_YENTA_ENE_TUNE=y
|
||||
CONFIG_YENTA_O2=y
|
||||
CONFIG_YENTA_RICOH=y
|
||||
CONFIG_YENTA_TI=y
|
||||
CONFIG_YENTA_TOSHIBA=y
|
|
@ -0,0 +1,16 @@
|
|||
#
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Generic
|
||||
NAME:=Generic
|
||||
PACKAGES:=
|
||||
endef
|
||||
|
||||
define Profile/Generic/Description
|
||||
Generic Profile
|
||||
endef
|
||||
$(eval $(call Profile,Generic))
|
|
@ -0,0 +1,6 @@
|
|||
SUBTARGET:=generic
|
||||
|
||||
define Target/Description
|
||||
Build firmware images for OLPC
|
||||
endef
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
config OLPC_GRUB_IMAGES
|
||||
bool "Build GRUB images"
|
||||
depends TARGET_olpc
|
||||
depends TARGET_ROOTFS_EXT2FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS || TARGET_ROOTFS_ISO
|
||||
select PACKAGE_grub
|
||||
default y
|
||||
|
||||
config OLPC_GRUB_IMAGES_PAD
|
||||
bool "Pad GRUB images to filesystem size (for JFFS2)"
|
||||
depends OLPC_GRUB_IMAGES
|
||||
|
||||
config OLPC_GRUB_BAUDRATE
|
||||
int "Serial port baud rate"
|
||||
depends OLPC_GRUB_IMAGES
|
||||
default 38400
|
||||
|
||||
config OLPC_GRUB_KERNELPART
|
||||
int "Kernel partition size (in MB)"
|
||||
depends OLPC_GRUB_IMAGES
|
||||
default 4
|
||||
|
||||
config OLPC_GRUB_ROOTPART
|
||||
string
|
||||
prompt "Root partition on target device" if OLPC_GRUB_IMAGES
|
||||
default "/dev/hda2"
|
||||
help
|
||||
The root partition on the final device. If you don't know,
|
||||
you probably want the default (/dev/hda2).
|
||||
|
||||
config OLPC_GRUB_BOOTOPTS
|
||||
string
|
||||
prompt "Extra kernel boot options" if OLPC_GRUB_IMAGES
|
||||
default ""
|
||||
help
|
||||
If you don't know, just leave it blank.
|
|
@ -0,0 +1,82 @@
|
|||
#
|
||||
# Copyright (C) 2007 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
export PATH=$(TARGET_PATH):/sbin
|
||||
BOOTOPTS=$(strip $(subst ",, $(CONFIG_OLPC_GRUB_BOOTOPTS)))
|
||||
ROOTPART=$(strip $(subst ",, $(CONFIG_OLPC_GRUB_ROOTPART)))
|
||||
#"))")) # fix vim's broken syntax highlighting
|
||||
|
||||
|
||||
ifeq ($(CONFIG_OLPC_GRUB_IMAGES),y)
|
||||
define Image/cmdline/squashfs
|
||||
block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs init=/etc/preinit
|
||||
endef
|
||||
|
||||
define Image/cmdline/jffs2-64k
|
||||
block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2 init=/etc/preinit
|
||||
endef
|
||||
|
||||
define Image/cmdline/jffs2-128k
|
||||
block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2 init=/etc/preinit
|
||||
endef
|
||||
|
||||
define Image/cmdline/ext2
|
||||
root=$(ROOTPART) rootfstype=ext2 init=/etc/preinit
|
||||
endef
|
||||
|
||||
define Image/Build/grub
|
||||
# left here because the image builder doesnt need these
|
||||
$(INSTALL_DIR) $(KDIR)/root.grub/boot/grub
|
||||
$(CP) \
|
||||
$(KDIR)/*stage* \
|
||||
$(KDIR)/root.grub/boot/grub/
|
||||
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
|
||||
$(CP) ./olpc.fth $(KDIR)/root.grub/boot/olpc.fth
|
||||
sed \
|
||||
-e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \
|
||||
-e 's#@BAUDRATE@#$(CONFIG_OLPC_GRUB_BAUDRATE)#g' \
|
||||
./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst
|
||||
PADDING="$(CONFIG_OLPC_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).image $(CONFIG_OLPC_GRUB_KERNELPART) $(KDIR)/root.grub $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1)
|
||||
$(call Image/Build/grub/$(1))
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_OLPC_GRUB_IMAGES),y)
|
||||
define Image/Prepare/grub
|
||||
# for the image builder
|
||||
$(CP) \
|
||||
$(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/stage1 \
|
||||
$(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/stage2 \
|
||||
$(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/e2fs_stage1_5 \
|
||||
$(KDIR)/
|
||||
endef
|
||||
endif
|
||||
|
||||
define Image/Prepare
|
||||
$(CP) $(LINUX_DIR)/arch/i386/boot/bzImage $(KDIR)/bzImage
|
||||
$(call Image/Prepare/grub)
|
||||
endef
|
||||
|
||||
define Image/Build/squashfs
|
||||
$(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
|
||||
endef
|
||||
|
||||
define Image/BuildKernel
|
||||
$(CP) $(KDIR)/bzImage $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz
|
||||
endef
|
||||
|
||||
define Image/Build
|
||||
$(call Image/Build/$(1))
|
||||
$(call Image/Build/grub,$(1))
|
||||
$(CP) $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).fs
|
||||
$(CP) $(KDIR)/bzImage $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz
|
||||
endef
|
||||
|
||||
$(eval $(call BuildImage))
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
set -x
|
||||
[ $# == 5 ] || {
|
||||
echo "SYNTAX: $0 <file> <kernel size> <kernel directory> <rootfs size> <rootfs image>"
|
||||
exit 1
|
||||
}
|
||||
|
||||
OUTPUT="$1"
|
||||
KERNELSIZE="$2"
|
||||
KERNELDIR="$3"
|
||||
ROOTFSSIZE="$4"
|
||||
ROOTFSIMAGE="$5"
|
||||
|
||||
rm -f "$OUTPUT"
|
||||
|
||||
head=16
|
||||
sect=63
|
||||
cyl=$(( ($KERNELSIZE + $ROOTFSSIZE) * 1024 * 1024 / ($head * $sect * 512)))
|
||||
|
||||
# create partition table
|
||||
set `ptgen -o "$OUTPUT" -h $head -s $sect -p ${KERNELSIZE}m -p ${ROOTFSSIZE}m`
|
||||
|
||||
KERNELOFFSET="$(($1 / 512))"
|
||||
KERNELSIZE="$(($2 / 512))"
|
||||
ROOTFSOFFSET="$(($3 / 512))"
|
||||
ROOTFSSIZE="$(($4 / 512))"
|
||||
|
||||
BLOCKS="$((($KERNELSIZE / 2) - 1))"
|
||||
|
||||
genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel"
|
||||
dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc
|
||||
[ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc count="$ROOTFSSIZE"
|
||||
dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc
|
||||
#rm -f "$OUTPUT.kernel"
|
||||
|
||||
which chpax >/dev/null && chpax -zp $(which grub)
|
||||
grub --batch --no-curses --no-floppy --device-map=/dev/null <<EOF
|
||||
device (hd0) $OUTPUT
|
||||
geometry (hd0) $cyl $head $sect
|
||||
root (hd0,0)
|
||||
setup (hd0)
|
||||
quit
|
||||
EOF
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
serial --unit=0 --speed=@BAUDRATE@ --word=8 --parity=no --stop=1
|
||||
terminal --timeout=2 console serial
|
||||
|
||||
default 0
|
||||
timeout 5
|
||||
|
||||
title OpenWrt
|
||||
root (hd0,0)
|
||||
kernel /boot/vmlinuz @CMDLINE@ noinitrd console=tty0 console=ttyS0,@BAUDRATE@n8 reboot=bios
|
||||
boot
|
||||
|
||||
title OpenWrt (failsafe)
|
||||
root (hd0,0)
|
||||
kernel /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd console=tty0 console=ttyS0,@BAUDRATE@n8 reboot=bios
|
||||
boot
|
|
@ -0,0 +1,4 @@
|
|||
\ Boot script
|
||||
" sd:\boot\vmlinuz" to boot-device
|
||||
" block2mtd.block2mtd=/dev/mmcblk0p2,65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs init=/etc/preinit noinitrd console=tty0" to boot-file
|
||||
boot
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,11 @@
|
|||
diff -purN -purN a/include/linux/i2c-id.h b/include/linux/i2c-id.h
|
||||
--- a/include/linux/i2c-id.h 2007-08-21 06:33:06.000000000 +0200
|
||||
+++ b/include/linux/i2c-id.h 2007-09-10 09:20:58.000000000 +0200
|
||||
@@ -119,6 +119,7 @@
|
||||
#define I2C_DRIVERID_WM8750 90 /* Wolfson WM8750 audio codec */
|
||||
#define I2C_DRIVERID_WM8753 91 /* Wolfson WM8753 audio codec */
|
||||
#define I2C_DRIVERID_LM4857 92 /* LM4857 Audio Amplifier */
|
||||
+#define I2C_DRIVERID_DCON 93
|
||||
|
||||
#define I2C_DRIVERID_I2CDEV 900
|
||||
#define I2C_DRIVERID_ARP 902 /* SMBus ARP Client */
|
|
@ -0,0 +1,234 @@
|
|||
Index: linux-2.6.23/drivers/mtd/devices/block2mtd.c
|
||||
===================================================================
|
||||
--- linux-2.6.23.orig/drivers/mtd/devices/block2mtd.c 2007-10-25 21:43:40.854599193 +0200
|
||||
+++ linux-2.6.23/drivers/mtd/devices/block2mtd.c 2007-10-25 22:23:19.066125745 +0200
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <linux/buffer_head.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/mount.h>
|
||||
+#include <linux/list.h>
|
||||
|
||||
#define VERSION "$Revision: 1.30 $"
|
||||
|
||||
@@ -27,6 +28,12 @@
|
||||
#define ERROR(fmt, args...) printk(KERN_ERR "block2mtd: " fmt "\n" , ## args)
|
||||
#define INFO(fmt, args...) printk(KERN_INFO "block2mtd: " fmt "\n" , ## args)
|
||||
|
||||
+struct retry {
|
||||
+ struct list_head list;
|
||||
+ const char *val;
|
||||
+};
|
||||
+
|
||||
+static LIST_HEAD(retry_list);
|
||||
|
||||
/* Info for the block device */
|
||||
struct block2mtd_dev {
|
||||
@@ -38,10 +45,36 @@
|
||||
char devname[0];
|
||||
};
|
||||
|
||||
+static int block2mtd_setup2(const char *val);
|
||||
|
||||
/* Static info about the MTD, used in cleanup_module */
|
||||
static LIST_HEAD(blkmtd_device_list);
|
||||
|
||||
+static int add_retry(const char *val)
|
||||
+{
|
||||
+ struct retry *r = kmalloc(sizeof(struct retry), GFP_KERNEL);
|
||||
+
|
||||
+ INIT_LIST_HEAD(&r->list);
|
||||
+ r->val = val;
|
||||
+ list_add(&r->list, &retry_list);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int __init process_retries(void)
|
||||
+{
|
||||
+ struct list_head *p, *tmp;
|
||||
+
|
||||
+ list_for_each_safe(p, tmp, &retry_list) {
|
||||
+ struct retry *r = list_entry(p, struct retry, list);
|
||||
+ block2mtd_setup2(r->val);
|
||||
+ msleep(100);
|
||||
+ list_del(p);
|
||||
+ kfree(r);
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+rootfs_initcall(process_retries);
|
||||
|
||||
static struct page *page_read(struct address_space *mapping, int index)
|
||||
{
|
||||
@@ -518,7 +551,10 @@
|
||||
if (token[2] && (strlen(token[2]) + 1 > 80))
|
||||
parse_err("mtd device name too long");
|
||||
|
||||
- add_device(name, erase_size, token[2]);
|
||||
+ if (add_device(name, erase_size, token[2]) == NULL) {
|
||||
+ add_retry(val);
|
||||
+ return 0;
|
||||
+ }
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -534,8 +570,11 @@
|
||||
and block2mtd_init() has already been called,
|
||||
we can parse the argument now. */
|
||||
|
||||
- if (block2mtd_init_called)
|
||||
+ if (block2mtd_init_called) {
|
||||
+ /* if the call failed (e.g. because the device does not exist yet)
|
||||
+ * then try again just before attempting to mount the rootfs */
|
||||
return block2mtd_setup2(val);
|
||||
+ }
|
||||
|
||||
/* During early boot stage, we only save the parameters
|
||||
here. We must parse them later: if the param passed
|
||||
Index: linux-2.6.23/init/do_mounts.c
|
||||
===================================================================
|
||||
--- linux-2.6.23.orig/init/do_mounts.c 2007-10-25 21:39:41.824977672 +0200
|
||||
+++ linux-2.6.23/init/do_mounts.c 2007-10-25 21:41:22.466712918 +0200
|
||||
@@ -241,16 +241,8 @@
|
||||
return 1;
|
||||
}
|
||||
|
||||
-static unsigned int __initdata root_delay;
|
||||
-static int __init root_delay_setup(char *str)
|
||||
-{
|
||||
- root_delay = simple_strtoul(str, NULL, 0);
|
||||
- return 1;
|
||||
-}
|
||||
-
|
||||
__setup("rootflags=", root_data_setup);
|
||||
__setup("rootfstype=", fs_names_setup);
|
||||
-__setup("rootdelay=", root_delay_setup);
|
||||
|
||||
static void __init get_fs_names(char *page)
|
||||
{
|
||||
@@ -426,18 +418,6 @@
|
||||
{
|
||||
int is_floppy;
|
||||
|
||||
- if (root_delay) {
|
||||
- printk(KERN_INFO "Waiting %dsec before mounting root device...\n",
|
||||
- root_delay);
|
||||
- ssleep(root_delay);
|
||||
- }
|
||||
-
|
||||
- /* wait for the known devices to complete their probing */
|
||||
- while (driver_probe_done() != 0)
|
||||
- msleep(100);
|
||||
-
|
||||
- md_run_setup();
|
||||
-
|
||||
if (saved_root_name[0]) {
|
||||
root_device_name = saved_root_name;
|
||||
if (!strncmp(root_device_name, "mtd", 3)) {
|
||||
Index: linux-2.6.23/init/main.c
|
||||
===================================================================
|
||||
--- linux-2.6.23.orig/init/main.c 2007-10-25 21:35:50.567799083 +0200
|
||||
+++ linux-2.6.23/init/main.c 2007-10-25 21:56:43.279187031 +0200
|
||||
@@ -65,6 +65,7 @@
|
||||
#ifdef CONFIG_X86_LOCAL_APIC
|
||||
#include <asm/smp.h>
|
||||
#endif
|
||||
+#include "do_mounts.h"
|
||||
|
||||
/*
|
||||
* This is one of the first .c files built. Error out early if we have compiler
|
||||
@@ -662,13 +663,14 @@
|
||||
__setup("initcall_debug", initcall_debug_setup);
|
||||
|
||||
extern initcall_t __initcall_start[], __initcall_end[];
|
||||
+extern initcall_t __root_initcall_start[], __root_initcall_end[];
|
||||
|
||||
-static void __init do_initcalls(void)
|
||||
+static void __init do_initcalls(initcall_t *start, initcall_t *end)
|
||||
{
|
||||
initcall_t *call;
|
||||
int count = preempt_count();
|
||||
|
||||
- for (call = __initcall_start; call < __initcall_end; call++) {
|
||||
+ for (call = start; call < end; call++) {
|
||||
ktime_t t0, t1, delta;
|
||||
char *msg = NULL;
|
||||
char msgbuf[40];
|
||||
@@ -737,7 +739,7 @@
|
||||
usermodehelper_init();
|
||||
driver_init();
|
||||
init_irq_proc();
|
||||
- do_initcalls();
|
||||
+ do_initcalls(__initcall_start, __initcall_end);
|
||||
}
|
||||
|
||||
static int __initdata nosoftlockup;
|
||||
@@ -810,6 +812,14 @@
|
||||
panic("No init found. Try passing init= option to kernel.");
|
||||
}
|
||||
|
||||
+static unsigned int __initdata root_delay;
|
||||
+static int __init root_delay_setup(char *str)
|
||||
+{
|
||||
+ root_delay = simple_strtoul(str, NULL, 0);
|
||||
+ return 1;
|
||||
+}
|
||||
+__setup("rootdelay=", root_delay_setup);
|
||||
+
|
||||
static int __init kernel_init(void * unused)
|
||||
{
|
||||
lock_kernel();
|
||||
@@ -851,6 +861,17 @@
|
||||
|
||||
if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
|
||||
ramdisk_execute_command = NULL;
|
||||
+ if (root_delay) {
|
||||
+ printk(KERN_INFO "Waiting %dsec before mounting root device...\n",
|
||||
+ root_delay);
|
||||
+ ssleep(root_delay);
|
||||
+ }
|
||||
+ /* wait for the known devices to complete their probing */
|
||||
+ while (driver_probe_done() != 0)
|
||||
+ msleep(100);
|
||||
+ md_run_setup();
|
||||
+ do_initcalls(__root_initcall_start, __root_initcall_end);
|
||||
+
|
||||
prepare_namespace();
|
||||
}
|
||||
|
||||
Index: linux-2.6.23/arch/i386/kernel/vmlinux.lds.S
|
||||
===================================================================
|
||||
--- linux-2.6.23.orig/arch/i386/kernel/vmlinux.lds.S 2007-10-26 00:07:08.465118962 +0200
|
||||
+++ linux-2.6.23/arch/i386/kernel/vmlinux.lds.S 2007-10-26 00:10:15.259763782 +0200
|
||||
@@ -146,6 +146,11 @@
|
||||
INITCALLS
|
||||
__initcall_end = .;
|
||||
}
|
||||
+ .root_initcall.init : AT(ADDR(.root_initcall.init) - LOAD_OFFSET) {
|
||||
+ __root_initcall_start = .;
|
||||
+ INITCALLS_ROOT
|
||||
+ __root_initcall_end = .;
|
||||
+ }
|
||||
.con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) {
|
||||
__con_initcall_start = .;
|
||||
*(.con_initcall.init)
|
||||
Index: linux-2.6.23/include/asm-generic/vmlinux.lds.h
|
||||
===================================================================
|
||||
--- linux-2.6.23.orig/include/asm-generic/vmlinux.lds.h 2007-10-26 00:08:46.558708993 +0200
|
||||
+++ linux-2.6.23/include/asm-generic/vmlinux.lds.h 2007-10-26 00:09:24.296859571 +0200
|
||||
@@ -243,12 +243,14 @@
|
||||
*(.initcall4s.init) \
|
||||
*(.initcall5.init) \
|
||||
*(.initcall5s.init) \
|
||||
- *(.initcallrootfs.init) \
|
||||
*(.initcall6.init) \
|
||||
*(.initcall6s.init) \
|
||||
*(.initcall7.init) \
|
||||
*(.initcall7s.init)
|
||||
|
||||
+#define INITCALLS_ROOT \
|
||||
+ *(.initcallrootfs.init)
|
||||
+
|
||||
#define PERCPU(align) \
|
||||
. = ALIGN(align); \
|
||||
__per_cpu_start = .; \
|
Loading…
Reference in New Issue